張小青,王長(zhǎng)超,胡夢(mèng)桃,陳凱元,徐勝清
(咸陽(yáng)師范學(xué)院 物理與電子工程學(xué)院,陜西 咸陽(yáng))
機(jī)械臂是模擬人手臂而構(gòu)成的[1]。六自由度機(jī)械臂是關(guān)節(jié)型機(jī)械臂中的一種,目前廣泛應(yīng)用于工業(yè)自動(dòng)化生產(chǎn)線上[2],已成為人們研究的重點(diǎn)對(duì)象。
機(jī)械臂為機(jī)器人一種,其路徑規(guī)劃很重要[3]。合理規(guī)劃運(yùn)行軌跡不僅能使其以令人滿意的性能執(zhí)行任務(wù),還能提高工作效率、減少能耗及延長(zhǎng)運(yùn)行壽命[4]。機(jī)器人軌跡規(guī)劃常與軌跡優(yōu)化同時(shí)進(jìn)行,最小時(shí)間優(yōu)化直接與機(jī)器人的生產(chǎn)效率相關(guān),是最早被提出來(lái)的[5],但在實(shí)際運(yùn)行中若一味追求執(zhí)行時(shí)間最短,易導(dǎo)致運(yùn)行扭矩和加速度不連續(xù),故不利于節(jié)能。對(duì)于六自由度拾放機(jī)械臂,平穩(wěn)圓滑地拾放物品是其追求的首要目標(biāo)。本文以門(mén)字形軌跡規(guī)劃為基礎(chǔ),優(yōu)化策略,使機(jī)械臂在抓取物體時(shí)動(dòng)作圓滑,減少碰撞,為優(yōu)化節(jié)能提供支持,具有重要意義。
六自由度機(jī)械臂的結(jié)構(gòu)主要包含轉(zhuǎn)動(dòng)基座、臂、肘、腕及抓取前端的鉗子等部分,核心控制器件為STC89C51 單片機(jī),從單片機(jī)輸出六路PWM 脈沖分別控制機(jī)械臂的六個(gè)舵機(jī),實(shí)現(xiàn)六自由度的操作,總體控制結(jié)構(gòu)如圖1 所示。
圖1 總體控制結(jié)構(gòu)
依拾放特點(diǎn),為研究方便,把OXYZ 坐標(biāo)系下空間門(mén)字形路徑變換到平面局部坐標(biāo)UO'W 中。設(shè)拾放空間高度一致,從空間OXYZ 坐標(biāo)系變換到平面坐標(biāo)UO'W 系,僅需考慮坐標(biāo)原點(diǎn)平移和沿X 軸旋轉(zhuǎn)變換即可。設(shè)空間OXYZ 坐標(biāo)中任意點(diǎn)為(x,y,z),將其變換到平面UO'W 坐標(biāo)系后的坐標(biāo)記為(u,w),則有:
其中Q 為平面到空間坐標(biāo)的變換矩陣,Q-1為空間到平面坐標(biāo)的變換矩陣。
2.2.1 路徑規(guī)劃目標(biāo)
機(jī)械臂路徑規(guī)劃通過(guò)設(shè)計(jì)機(jī)械臂末端操作軌跡,完成給定拾放目標(biāo)任務(wù)。為計(jì)算方便,此路徑規(guī)劃將在關(guān)節(jié)空間進(jìn)行,利用運(yùn)動(dòng)學(xué)逆解公式求出各個(gè)關(guān)節(jié)變化角度,然后轉(zhuǎn)換為對(duì)應(yīng)的脈沖值進(jìn)行分析計(jì)算。
為了實(shí)現(xiàn)六個(gè)舵機(jī)協(xié)調(diào)工作,在此依據(jù)經(jīng)驗(yàn)把一個(gè)作業(yè)周期分成了多個(gè)動(dòng)作步驟來(lái)完成,不同的動(dòng)作路徑對(duì)應(yīng)不同的動(dòng)作步驟,6 個(gè)數(shù)字舵機(jī)選型一致,其中舵機(jī)在-90°~+90°之間運(yùn)動(dòng)時(shí)對(duì)應(yīng)的脈沖設(shè)定值范圍為500~2 500,角度分辨率為0.09°。
以機(jī)械臂底座中心為坐標(biāo)原點(diǎn),拾取路徑起始點(diǎn)為(-27,0,34),物件所在坐標(biāo)為(26.5,0,0),機(jī)械臂從初始位置出發(fā),移動(dòng)到物件所在位置后對(duì)物件進(jìn)行抓取,再將物體移回到起始點(diǎn),完成拾放任務(wù)。
2.2.2 規(guī)劃的舵機(jī)角度與脈沖值
首先把空間門(mén)字形路徑變換成平面坐標(biāo),選取插值點(diǎn),然后根據(jù)運(yùn)動(dòng)學(xué)及逆解模型,設(shè)計(jì)與門(mén)字形軌跡對(duì)應(yīng)的各舵機(jī)轉(zhuǎn)角。其中第1 舵機(jī)角度根據(jù)經(jīng)驗(yàn)設(shè)計(jì),主要實(shí)現(xiàn)爪子張開(kāi)與閉合,第2 舵機(jī)角度在此次拾放路徑規(guī)劃中保持不變;第6 舵機(jī)主要用來(lái)控制機(jī)械臂底座旋轉(zhuǎn),其角度規(guī)劃以被拾取物體與舵機(jī)底座在水平面相對(duì)位置夾角為參考設(shè)計(jì);第3、第4 與第5舵機(jī)根據(jù)運(yùn)動(dòng)學(xué)逆解公式算出規(guī)劃角度。據(jù)此,得到六個(gè)舵機(jī)的規(guī)劃角度曲線(見(jiàn)圖2),θ1~θ6分別表示各舵機(jī)(各關(guān)節(jié))對(duì)應(yīng)的運(yùn)動(dòng)角度。
圖2 各舵機(jī)角度變化
根據(jù)舵機(jī)控制原理,需把以上規(guī)劃的各舵機(jī)的角度轉(zhuǎn)換成其控制所需的脈沖。舵機(jī)脈沖寬度與角度的關(guān)系可以表示為:
式中,θi表示第i 個(gè)舵機(jī)角度,i=1,2,…,6;hi表示第i 個(gè)舵機(jī)脈沖寬度值(μs)。當(dāng)hi=1 500 μs 時(shí),機(jī)械臂對(duì)應(yīng)的舵機(jī)處于參考0°。
規(guī)劃后各舵機(jī)脈沖寬度值見(jiàn)表1,編號(hào)表示完成目標(biāo)任務(wù)的順序,共有8 個(gè)動(dòng)作過(guò)程;時(shí)間表示完成每個(gè)動(dòng)作過(guò)程所需的時(shí)間。ID:1-ID:6 分別表示舵機(jī)1-舵機(jī)6 的脈沖設(shè)定值。以編號(hào)2 舉例說(shuō)明:舵機(jī)1、2設(shè)置為1 500 表示機(jī)械臂在編號(hào)2 過(guò)程中不動(dòng)作,它們配合舵機(jī)3、4、5 完成編號(hào)2 過(guò)程中所要完成的動(dòng)作。
表1 舵機(jī)脈沖設(shè)定值
按照機(jī)械臂執(zhí)行路徑規(guī)劃實(shí)驗(yàn),得到的空間門(mén)字形拾放路徑。執(zhí)行規(guī)劃后的門(mén)字形拾放步驟,實(shí)物操作記錄如圖3 所示,規(guī)劃的門(mén)字形路徑如圖4(a)所示。
圖3 機(jī)械臂拾放路徑實(shí)驗(yàn)操作
圖4 規(guī)劃與優(yōu)化的門(mén)字形拾放路徑
根據(jù)以上規(guī)劃的路徑,機(jī)械臂基本能實(shí)現(xiàn)抓取物品的任務(wù),但在實(shí)驗(yàn)驗(yàn)證的過(guò)程中,發(fā)現(xiàn)仍存在兩處可以繼續(xù)優(yōu)化的問(wèn)題。
首先,機(jī)械臂爪子在初始位置執(zhí)行抓取動(dòng)作時(shí),爪子易觸及桌面,甚至還會(huì)有向下的趨勢(shì),具體可從圖4(a)右下曲線看出,嚴(yán)重的會(huì)將機(jī)械臂自身底座撐起,這對(duì)準(zhǔn)確抓取物品是不利的,若長(zhǎng)期如此動(dòng)作會(huì)影響舵機(jī)的使用壽命。針對(duì)此問(wèn)題,進(jìn)行了優(yōu)化分析并提出了相應(yīng)的優(yōu)化措施。
優(yōu)化分析:假設(shè)一個(gè)物體速度為v,質(zhì)量為m,那么它具有的動(dòng)量M=mv。從實(shí)驗(yàn)中明顯能看出,機(jī)械臂爪子在觸碰實(shí)驗(yàn)臺(tái)面時(shí)仍有下沖趨勢(shì),說(shuō)明其動(dòng)量過(guò)大。若使機(jī)械臂不觸碰實(shí)驗(yàn)臺(tái)面,需減少運(yùn)動(dòng)過(guò)程對(duì)應(yīng)動(dòng)量值,在其它條件不變的情況下,需減小運(yùn)行速度v。在規(guī)劃路徑一定的情況下,根據(jù)速度與路徑成反比的關(guān)系,也就是需要增大對(duì)應(yīng)運(yùn)行步驟的執(zhí)行時(shí)間。
另外,上述規(guī)劃的拾放路徑是直角拐彎,不圓滑,在實(shí)驗(yàn)中通過(guò)聽(tīng)取機(jī)械臂動(dòng)作時(shí)的聲音,也能察覺(jué)出其運(yùn)行不連貫的問(wèn)題,這將不利于提高機(jī)械臂的控制精度。
優(yōu)化思路:用圓滑的弧線代替直角過(guò)渡,增加路徑規(guī)劃插值點(diǎn),分析機(jī)械臂運(yùn)動(dòng)學(xué)模型,根據(jù)推導(dǎo)出的各個(gè)關(guān)節(jié)驅(qū)動(dòng)電機(jī)角度的逆解公式,得到相應(yīng)的關(guān)節(jié)舵機(jī)驅(qū)動(dòng)角度,實(shí)現(xiàn)對(duì)拾放路徑的優(yōu)化。將空間軌跡先變換到平面坐標(biāo),依據(jù)機(jī)械臂的運(yùn)動(dòng)學(xué)模型逆解出對(duì)應(yīng)關(guān)節(jié)的角度值,再根據(jù)舵機(jī)控制原理將各個(gè)關(guān)節(jié)軌跡對(duì)應(yīng)的轉(zhuǎn)角轉(zhuǎn)換成了控制所需的脈沖,在上位機(jī)軟件中輸入各舵機(jī)每一步的脈沖值,運(yùn)行并觀察運(yùn)動(dòng)路徑形狀。具體的執(zhí)行過(guò)程中,對(duì)圓滑過(guò)渡的門(mén)字形軌跡多增加規(guī)劃點(diǎn),也就是擴(kuò)充執(zhí)行步驟,以機(jī)械臂運(yùn)行學(xué)模型為基礎(chǔ),用仿真軟件對(duì)其軌跡進(jìn)行優(yōu)化,結(jié)合仿真結(jié)果和運(yùn)動(dòng)實(shí)際情況微調(diào)上位機(jī)舵機(jī)的參數(shù)值,得到優(yōu)化后的實(shí)驗(yàn)結(jié)果。
經(jīng)以上分析與實(shí)踐驗(yàn)證,優(yōu)化后的拾放路徑軌跡如圖4(b)所示。
圖4(b)的軌跡表明門(mén)字形的直角過(guò)渡已變得相對(duì)圓滑,圖5 為優(yōu)化前后各坐標(biāo)的操作值。從圖5 中能看出,優(yōu)化后Z 軸坐標(biāo)明顯變緩,表明在高處運(yùn)行比較平緩,可減少物體脫落概率,有利于順利完成任務(wù)。而且,在拾取物體作用點(diǎn),爪子不再觸碰實(shí)驗(yàn)臺(tái)面,爪子抓取物體的沖量明顯較少,改善了系統(tǒng)運(yùn)行的性能。在實(shí)驗(yàn)過(guò)程中,機(jī)械臂在運(yùn)行過(guò)程中摩擦聲音明顯減少,使得設(shè)備運(yùn)行更加順暢與穩(wěn)定。需要說(shuō)明的是,圖5 中橫坐標(biāo)時(shí)間為歸一化時(shí)間,在接近物體所在位置時(shí),雖然Z 軸與Y 軸方向的坐標(biāo)變化較快,但其運(yùn)行速度已控制在合理范圍內(nèi),優(yōu)化后的系統(tǒng)未發(fā)生由于動(dòng)量過(guò)大觸及實(shí)驗(yàn)臺(tái)面的情況。
圖5 優(yōu)化前后的規(guī)劃坐標(biāo)
針對(duì)六自由度機(jī)械臂的路徑規(guī)劃與優(yōu)化進(jìn)行了研究,以機(jī)械臂的運(yùn)動(dòng)學(xué)模型為基礎(chǔ),結(jié)合單片機(jī)控制與舵機(jī)工作原理,規(guī)劃了機(jī)械臂拾放物體的門(mén)字形軌跡,給出了相應(yīng)的關(guān)節(jié)角度值及其舵機(jī)控制所需的脈沖值。再根據(jù)規(guī)劃的結(jié)果,從減少抓取動(dòng)量及圓滑過(guò)渡兩個(gè)方面對(duì)規(guī)劃的路徑分別進(jìn)行了優(yōu)化,通過(guò)實(shí)踐測(cè)試,驗(yàn)證了所設(shè)計(jì)方案的有效性。優(yōu)化后的拾放路徑更加圓滑,動(dòng)作更加協(xié)調(diào),更有利于提高機(jī)械臂的控制精度,為機(jī)械臂在實(shí)際生產(chǎn)中的應(yīng)用提供一定參考。