孫增光,王士軍,孟令軍,王春璐,周永鑫
(山東理工大學(xué) 機(jī)械工程學(xué)院, 山東 淄博 255049)
六自由度關(guān)節(jié)機(jī)器人動(dòng)作靈活性高、工作空間范圍大,并且結(jié)構(gòu)緊湊、占地面積小,能夠解放勞動(dòng)力,提高勞動(dòng)效率。因此,在機(jī)床上下料、噴涂、弧焊等機(jī)械制造業(yè)中得到了廣泛應(yīng)用[1]。
利用Matlab對(duì)IRB2400機(jī)器人建模仿真,可以直觀了解機(jī)器人工作形態(tài)。為了提高機(jī)器人運(yùn)動(dòng)軌跡精度和穩(wěn)定性,對(duì)機(jī)器人進(jìn)行軌跡規(guī)劃[2]。通過(guò)運(yùn)動(dòng)學(xué)分析,確定機(jī)器人末端執(zhí)行器的位姿[3],并進(jìn)行機(jī)器人正逆運(yùn)動(dòng)學(xué)求解,以驗(yàn)證機(jī)器人模型的正確性。運(yùn)動(dòng)學(xué)分析是機(jī)器人控制的基礎(chǔ),本文對(duì)IRB2400機(jī)器人進(jìn)行軌跡規(guī)劃和運(yùn)動(dòng)學(xué)分析,以期為離線編程提供有效的驗(yàn)證手段[4]。
IRB2400是全球應(yīng)用最廣的工業(yè)機(jī)器人,該機(jī)器人堅(jiān)固耐用、可靠性強(qiáng)、維護(hù)間隔時(shí)間長(zhǎng),具有最佳的軌跡精度和重復(fù)定位精度, 零件生產(chǎn)質(zhì)量穩(wěn)定,它的有效載荷大,到達(dá)距離遠(yuǎn),適用范圍廣[5]。IRB2400機(jī)器人空間結(jié)構(gòu)圖如圖1所示。
圖1 IRB2400空間結(jié)構(gòu)圖
在進(jìn)行運(yùn)動(dòng)學(xué)分析時(shí),首先根據(jù)建立的機(jī)器人連桿坐標(biāo)系,建立各連桿之間的關(guān)系,最終推導(dǎo)出機(jī)器人末端相對(duì)于機(jī)器人底座的位姿變換。對(duì)于轉(zhuǎn)動(dòng)關(guān)節(jié)構(gòu)成的機(jī)器人來(lái)說(shuō)只有關(guān)節(jié)角θi為變量,其他3個(gè)參數(shù)由機(jī)械結(jié)構(gòu)決定。連桿i相對(duì)于連桿i-1的變換矩陣表示為
坐標(biāo)系n相對(duì)于坐標(biāo)系0的變換矩陣為
可以看出,要求變換矩陣需要知道連桿長(zhǎng)度ai-1、連桿轉(zhuǎn)角αi-1、連桿偏距di和關(guān)節(jié)角θi4個(gè)參數(shù)。運(yùn)用DH參數(shù)法建立的ABB IRB2400機(jī)器人連桿坐標(biāo)系如圖2所示。
圖2 機(jī)器人連桿坐標(biāo)系
根據(jù)建立的連桿坐標(biāo)系求出連桿各參數(shù),建立的DH參數(shù)表見表1。
表1 機(jī)器人DH參數(shù)表Tab.1 Robot DH parameter table
iai-1/mmαi-1/(°)di/mmθi/(°)關(guān)節(jié)變量范圍/(°)1100-90090-180~+180270500-90-100~+1003135-9000-60~+6540907550-200~+20050-9000-120~+12060000-400~+400
利用Matlab建立機(jī)器人仿真模型,部分代碼如下:
L1=Link([pi/2 0 0.1 -pi/2 0]);
L2=Link([-pi/2 0 0.705 0 0]);
L3=Link([0 0 0.135 -pi/2 0]);
L4=Link([0 0.755 0 pi/2 0]);
L5=Link([0 0 0 -pi/2 0]);
L6=Link([0 0 0 0 0]);
robot=SerialLink([L1 L2 L3 L4 L5 L6],'name','ABB IRB 2400');
輸出機(jī)器人模型時(shí),定義關(guān)節(jié)角姿態(tài)為0,并通過(guò)teach()指令查看所建立的機(jī)器人,通過(guò)拖動(dòng)關(guān)節(jié)角調(diào)節(jié)滑塊來(lái)改變關(guān)節(jié)角度值,使機(jī)器人呈現(xiàn)出不同的姿態(tài)。生成的機(jī)器人仿真模型如圖3所示。
圖3 機(jī)器人仿真模型
進(jìn)行軌跡規(guī)劃可以使機(jī)器人運(yùn)動(dòng)變平穩(wěn),減少振動(dòng)和沖擊,同時(shí)也能避免消耗額外能量并減少機(jī)械部件磨損[6]。關(guān)節(jié)空間軌跡規(guī)劃的基本思路是使用逆運(yùn)動(dòng)學(xué)計(jì)算方法,將笛卡爾空間中的路徑點(diǎn)轉(zhuǎn)換成對(duì)應(yīng)的關(guān)節(jié)角,然后使用插值點(diǎn)計(jì)算方法,對(duì)關(guān)節(jié)型機(jī)器人的各個(gè)關(guān)節(jié)計(jì)算插值點(diǎn),使關(guān)節(jié)型機(jī)器人的各個(gè)關(guān)節(jié)同步且順滑地到達(dá)目標(biāo)點(diǎn)[7]。
關(guān)節(jié)空間多項(xiàng)式軌跡規(guī)劃從三次多項(xiàng)式開始,在軌跡規(guī)劃中,把機(jī)器人的關(guān)節(jié)角度變換成與時(shí)間有關(guān)的函數(shù),然后對(duì)角速度和角加速度進(jìn)行約束。
假設(shè)初始時(shí)刻t0的角度是θ0,在終點(diǎn)時(shí)刻tf的角度是θf(wàn),為使運(yùn)行平穩(wěn),給定4個(gè)約束條件,起始點(diǎn)和終止點(diǎn)關(guān)節(jié)角度為
(1)
起始點(diǎn)和終止點(diǎn)關(guān)節(jié)角速度為
(2)
由此確定了三次多項(xiàng)式關(guān)節(jié)插值函數(shù)為
θ(t)=a0+a1t+a2t2+a3t3
(3)
確定關(guān)節(jié)角速度及角加速度為
(4)
將約束條件(1)和(2)代入到函數(shù)關(guān)系式(3)和(4)中,得到a0、a1、a2和a3相關(guān)的線性方程為
(5)
求解以上方程組得
(6)
指定起止位置q_array=[0,50,150,100,40],指定起止時(shí)間t_array=[0,5,10,15,20],指定起止速度v_array= [0,10, 20,-15,0]。用Matlab計(jì)算三次多項(xiàng)式插值,得到的關(guān)節(jié)角度、角速度和角加速度隨時(shí)間變化的曲線如圖4所示。
圖4 三次多項(xiàng)式軌跡規(guī)劃
通過(guò)分析三次多項(xiàng)式的關(guān)節(jié)空間軌跡規(guī)劃圖可以看出,機(jī)器人運(yùn)動(dòng)關(guān)節(jié)角度、角速度是連續(xù)性的,但由于沒有對(duì)關(guān)節(jié)角的加速度約束,因此關(guān)節(jié)角的加速度有突變,機(jī)器人運(yùn)動(dòng)不穩(wěn)定,會(huì)導(dǎo)致機(jī)械系統(tǒng)產(chǎn)生一定的沖擊。
由于機(jī)器人在實(shí)際工作中對(duì)工作路徑有更高的要求,三次多項(xiàng)式插值算法難以滿足,所以提出了五次多項(xiàng)式插值算法。它不僅對(duì)路徑的起點(diǎn)與終點(diǎn)的角度、角速度進(jìn)行約束,也對(duì)角加速度有規(guī)定,需滿足6個(gè)約束條件,其函數(shù)表達(dá)式如下:
相應(yīng)的五次多項(xiàng)式描述規(guī)劃軌跡為
θ(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5(8)
通過(guò)求解方程組得
(9)
指定和三次多項(xiàng)式同樣的起止位置、時(shí)間、速度,指定起止加速度a_array=[0,20,30,-20,0],用Matlab計(jì)算五次多項(xiàng)式插值,得到的關(guān)節(jié)角度、角速度和角加速度隨時(shí)間變化的曲線如圖5所示。
圖5 五次多項(xiàng)式軌跡規(guī)劃
由圖5可以看出,五次多項(xiàng)式插值得到的加速度平滑,能保證關(guān)節(jié)角度、角速度和角加速度的連續(xù)性,使關(guān)節(jié)運(yùn)動(dòng)平穩(wěn),避免了沖擊和振動(dòng)。
比較兩種插值方法可以看出,三次多項(xiàng)式的加速度發(fā)生突變,這對(duì)機(jī)器人的關(guān)節(jié)電動(dòng)機(jī)沖擊較大,而五次多項(xiàng)式的加速度較為平滑,沒有突變。因此,五次多項(xiàng)式的插值比三次多項(xiàng)式更為精準(zhǔn)。
機(jī)器人運(yùn)動(dòng)學(xué)研究是在不考慮受力的情況下機(jī)器人的運(yùn)動(dòng)特性,主要包括機(jī)器人的位置、速度和加速度等內(nèi)容[8]。
給定機(jī)器人末端初始關(guān)節(jié)角度qA= [0 0 0 0 0 0 ],機(jī)器人末端終止關(guān)節(jié)角度qAB=[0 -pi/4 -pi/4 0 pi/8 0],規(guī)定采樣時(shí)間間隔為0.01 s,采樣時(shí)間為10 s。用Matlab進(jìn)行仿真,得到機(jī)器人末端軌跡圖如圖6所示,末端位移圖如圖7所示。
圖6 機(jī)器人末端軌跡圖
圖7 機(jī)器人末端位移圖
為了更好地了解機(jī)器人的各關(guān)節(jié)運(yùn)動(dòng)情況,利用Matlab求出了各關(guān)節(jié)的運(yùn)動(dòng)曲線(如圖8所示)、角速度曲線(如圖9所示)和角加速度曲線(如圖10所示)。
圖8 各關(guān)節(jié)的運(yùn)動(dòng)曲線
圖9 各關(guān)節(jié)的角速度曲線
圖10 各關(guān)節(jié)的角加速度曲線
從圖8—圖10可以看出,得到的各曲線均光滑連續(xù),得到的各關(guān)節(jié)最大角度、最大角速度、最大角加速度差別不大。在0~5 s時(shí)間段內(nèi)角速度逐漸增加,在5~10 s時(shí)間段內(nèi)角速度逐漸減少,終點(diǎn)處角速度和角加速度最終為0,說(shuō)明機(jī)械臂是一個(gè)先加速后減速的過(guò)程。從角速度和角加速度曲線可以看出,各曲線平穩(wěn)無(wú)振動(dòng),各關(guān)節(jié)性能良好。
正運(yùn)動(dòng)學(xué)是根據(jù)給定的各關(guān)節(jié)角度變量計(jì)算機(jī)器人末端的位置和姿態(tài)。而逆運(yùn)動(dòng)學(xué)是根據(jù)末端已知的位置和姿態(tài)計(jì)算機(jī)器人的關(guān)節(jié)角,其關(guān)系如圖11所示。
圖11 正運(yùn)動(dòng)學(xué)和逆運(yùn)動(dòng)學(xué)關(guān)系
假設(shè)機(jī)器人初始關(guān)節(jié)角qA=[0 0 0 0 0 0 ],在Matlab中通過(guò)fkine函數(shù)計(jì)算相應(yīng)的變換矩陣,得到機(jī)器人初始位置的末端齊次變換矩陣為
假設(shè)機(jī)器人終止位置時(shí)的關(guān)節(jié)角qB=[0 -pi/4 -pi/4 0 pi/8 0],計(jì)算得終止位置的變換矩陣為
在Matlab中,利用Robotics Toolbox中的ikine函數(shù)實(shí)現(xiàn)運(yùn)動(dòng)學(xué)逆問(wèn)題的求解,以運(yùn)動(dòng)學(xué)正解后的矩陣TB求解運(yùn)動(dòng)學(xué)逆問(wèn)題的關(guān)節(jié)角。令qi=robot.ikine(TB,'pinv'),求出qi = [0 -0.7854 -0.7854 0 0.3927 0]。
發(fā)現(xiàn)qi和qB的值看上去不相等,這時(shí)對(duì)關(guān)節(jié)角變量qi使用fkine指令求解對(duì)應(yīng)的變換矩陣為
可以發(fā)現(xiàn),qi求解后其對(duì)應(yīng)的變換矩陣Ti與給定的終止位置關(guān)節(jié)角qB所求的變換矩陣相同,即為同一變換,說(shuō)明機(jī)器人的參數(shù)設(shè)計(jì)和Matlab中構(gòu)建的仿真模型是正確的。
通過(guò)DH參數(shù)法求解機(jī)器人各參數(shù),利用Matlab teach()指令建立了ABB IRB2400機(jī)器人仿真模型,通過(guò)改變關(guān)節(jié)角度值,使機(jī)器人呈現(xiàn)出不同的姿態(tài),從而能更加準(zhǔn)確方便地了解機(jī)器人工作空間和范圍。對(duì)關(guān)節(jié)空間軌跡進(jìn)行了規(guī)劃,通過(guò)分析位移、速度和加速度曲線可知,五次多項(xiàng)式插值算法的加速度平滑,減少了振動(dòng)沖擊,提高了機(jī)器人的穩(wěn)定性。對(duì)機(jī)器人正運(yùn)動(dòng)學(xué)和逆運(yùn)動(dòng)學(xué)進(jìn)行求解,得到的變換矩陣結(jié)果是一致的,說(shuō)明機(jī)器人的參數(shù)設(shè)計(jì)和Matlab中構(gòu)建的仿真模型是正確的。通過(guò)運(yùn)用Matlab的運(yùn)動(dòng)學(xué)仿真功能,能方便準(zhǔn)確地判斷機(jī)器人在空間的位置和姿態(tài),這對(duì)工業(yè)機(jī)器人的實(shí)際應(yīng)用具有重要意義。