樂(lè) 英 任書(shū)嫻
(華北電力大學(xué) 能源動(dòng)力與機(jī)械工程學(xué)院,保定 071000)
規(guī)劃?rùn)C(jī)器人運(yùn)動(dòng)軌跡的目的是研究可靠的方法提高機(jī)器人運(yùn)動(dòng)軌跡的精度和穩(wěn)定性,使各關(guān)節(jié)位移、速度、加速度、加速度曲線光滑連續(xù)無(wú)突變,避免因?yàn)橥蛔儗?dǎo)致的機(jī)械磨損和振動(dòng)沖擊[1]。機(jī)器人軌跡規(guī)劃通常分為笛卡爾空間的軌跡規(guī)劃和關(guān)節(jié)空間的軌跡規(guī)劃。這里我們對(duì)關(guān)節(jié)空間進(jìn)行軌跡規(guī)劃[2]。
機(jī)器人常用軌跡規(guī)劃方法包括多項(xiàng)式、樣條曲線和不同曲線相結(jié)合的方法。在實(shí)際工程中常采用多項(xiàng)式進(jìn)行規(guī)劃。在曲線拐角處采用五次多項(xiàng)式過(guò)渡法進(jìn)行軌跡規(guī)劃[3]。采用五次多項(xiàng)式對(duì)SCARA機(jī)器人關(guān)節(jié)空間進(jìn)行軌跡規(guī)劃研究[4]。采用七次多項(xiàng)式規(guī)劃?rùn)C(jī)器人關(guān)節(jié)軌跡,此法易發(fā)生“龍格現(xiàn)象”[5]。采用三次B樣條插補(bǔ)規(guī)劃出機(jī)器人的時(shí)間—平滑性綜合最優(yōu)軌跡[6]。文獻(xiàn)采用三次非均勻有理B樣條規(guī)劃?rùn)C(jī)器人關(guān)節(jié)軌跡。由于這些方法的加速度曲線或者加加速度曲線有突變,故得到運(yùn)動(dòng)軌跡效果不夠理想[7]。
針對(duì)運(yùn)動(dòng)軌跡不夠平滑和精度不高的問(wèn)題。本文以實(shí)驗(yàn)室六自由度機(jī)器人為研究對(duì)象,基于MATLAB平臺(tái)采用五次NURBS規(guī)劃?rùn)C(jī)器人關(guān)節(jié)軌跡,并與五次多項(xiàng)式規(guī)劃的機(jī)器人關(guān)節(jié)軌跡進(jìn)行對(duì)比分析,選擇效果更好的軌跡規(guī)劃方法。
采用五次多項(xiàng)式、五次NURBS規(guī)劃?rùn)C(jī)器人關(guān)節(jié)軌跡時(shí),由已知的笛卡爾空間原始路徑點(diǎn),通過(guò)機(jī)器人逆解原理求解出關(guān)節(jié)空間的各關(guān)節(jié)位移值,結(jié)合不同規(guī)劃方法的求解算法,求出相應(yīng)的速度及加速度得到不同的關(guān)節(jié)運(yùn)動(dòng)軌跡曲線。
五次多項(xiàng)式樣條中,任意兩節(jié)點(diǎn)間曲線段由五次多項(xiàng)式擬合生成,五次多項(xiàng)式表達(dá)式中共有六個(gè)未知系數(shù),對(duì)其求一階、二階求導(dǎo)得到機(jī)器人末端關(guān)于時(shí)間t的速度、加速度表達(dá)式如式(1)~式(3)所示[8]。
式中,與起始和終止時(shí)間點(diǎn)t0、tf對(duì)應(yīng)的角位移θ0和θf(wàn)為已知,且滿(mǎn)足條件如式(4)所示。
在每段多項(xiàng)式起始點(diǎn)和終止點(diǎn)處滿(mǎn)足二階連續(xù),設(shè)置
始末點(diǎn)的速度、加速度,且滿(mǎn)足條件如式(5)所示。
已知每個(gè)點(diǎn)的角位移值,設(shè)定其角速度和角加速度為0,兩點(diǎn)共可得到六個(gè)已知條件。將已知條件代入公式(1)、(2)、(3)中并聯(lián)立求解,解出所有未知系數(shù)。
NURBS也稱(chēng)非均勻有力B樣條,如式(6)所示。
式中,di為控制頂點(diǎn),Ni,k(u)為k次規(guī)范B樣條基函數(shù),且相互之間的關(guān)系如式(7)所示。
式中,k表示NURBS次數(shù),i表示序號(hào)。
根據(jù)關(guān)節(jié)位移-時(shí)間節(jié)點(diǎn)序列{pi,ti}反算NURBS控制頂點(diǎn),t=0,1,2…n。反算控制頂點(diǎn)時(shí)使首末端點(diǎn)與首末數(shù)據(jù)點(diǎn)一致,使曲線的分段連接點(diǎn)與相應(yīng)的內(nèi)部數(shù)據(jù)點(diǎn)一致,即pi有節(jié)點(diǎn)值uk+i,i=0,1,…n
NURBS插值曲線由n+k個(gè)控制頂點(diǎn)di(i=0,1,2,…n+k-1)定義,節(jié)點(diǎn)矢量相應(yīng)為U=[u0,u1,…un+2k]。
設(shè)機(jī)器人的總運(yùn)動(dòng)時(shí)間為tall=tn-t0,采用累計(jì)弦長(zhǎng)參數(shù)化方法對(duì)時(shí)間節(jié)點(diǎn)ti歸一化,得到節(jié)點(diǎn)矢量U=[u0,u1,…un+2k]。具體表達(dá)式如式(8)所示。
用于插值n+1個(gè)數(shù)據(jù)點(diǎn)pi的k次NURBS曲線方程如式(9)所示。
將曲線定義域[uk,un+k]內(nèi)的節(jié)點(diǎn)值依次代入方程,得到滿(mǎn)足插值條件的n+1個(gè)方程,如式(10)所示。
對(duì)于k次NURBS開(kāi)曲線還需增加k-1個(gè)通常由邊界條件給定的附加方程,附加方程通過(guò)切矢邊界條件得到,因取兩端節(jié)點(diǎn)重復(fù)度為k,其首末控制頂點(diǎn)就是首末數(shù)據(jù)點(diǎn),如式(11)所示。
同理可得相關(guān)表達(dá)式如式(12)所示。
已知所有點(diǎn)角位移和設(shè)定的角速度、角加速度值代入式(10)~式(12)中聯(lián)立求解出NURBS插值曲線的控制頂點(diǎn),對(duì)得到的NURBS曲線依次求導(dǎo),得到機(jī)器人運(yùn)動(dòng)軌跡的速度、加速度、加加速度曲線[9]。
以實(shí)驗(yàn)室REBOT-V-6R機(jī)器人為研究對(duì)象,通過(guò)D-H法建立機(jī)器人的三維模型,該機(jī)器人各關(guān)節(jié)及連桿參數(shù)如表1所示。
表1 REBOT-V-6R機(jī)器人的D-H參數(shù)表
其中,Li為各關(guān)節(jié)的編號(hào),theta為關(guān)節(jié)變量,d為連桿的偏移量,a為連桿的長(zhǎng)度,alpha為連桿的扭角。
通過(guò)MATLAB中的robotics toolbox工具箱和機(jī)器人的各連桿參數(shù)建立機(jī)器人模型并給機(jī)器人命名為“robot”[10]。如圖1所示。
在建立的機(jī)器人模型的平臺(tái)上,以機(jī)器人末端為作業(yè)點(diǎn),使末端在三維空間中畫(huà)一個(gè)三角形,畫(huà)圖過(guò)程中機(jī)器人末端的姿態(tài)保持不變。設(shè)p1,p2,p3為三角形的三個(gè)頂點(diǎn),其坐標(biāo)依次為:
p1=[4.1 -4 4.11];
p2=[4.1 2.6 4.11];
p3=[1.1 2.6 4.11]。
在三角形的每條邊上,等距離的取10個(gè)中間點(diǎn),間隔距離固定為0.3cm,三條邊一共得到30個(gè)點(diǎn)。Z方向坐標(biāo)值均為4.11。接著用工具箱中的ikine函數(shù),即Q=bot.ikine(T,q)反求出與末端路徑點(diǎn)對(duì)應(yīng)的各關(guān)節(jié)角度值,得到30×6個(gè)關(guān)節(jié)位移值,結(jié)合不同軌跡規(guī)劃方法的求解算法求出速度和加速度,得到各關(guān)節(jié)代表不同含義的曲線。我們?nèi)我饨厝∫欢螘r(shí)間段,這里取的是在t=[2.5s,3.5s]時(shí)間段里兩種樣條函數(shù)規(guī)劃的關(guān)節(jié)1、2、3的軌跡運(yùn)動(dòng)圖,如圖2、圖3所示。
圖1 機(jī)器人示教界面
圖2 截取的五次多項(xiàng)式規(guī)劃1-3關(guān)節(jié)運(yùn)動(dòng)曲線
圖3 截取的五次NURBS規(guī)劃1-3關(guān)節(jié)運(yùn)動(dòng)曲線
從圖2、圖3中可以看出,在2.5~3.5s時(shí)間段內(nèi),兩種規(guī)劃方法得到的角位移、角速度、角加速度曲線趨勢(shì)差別不大。但對(duì)比兩種規(guī)劃方法得到的加加速度曲線可知,五次多項(xiàng)式規(guī)劃的軌跡的加加速度有突變,這會(huì)導(dǎo)致機(jī)器人運(yùn)動(dòng)時(shí)產(chǎn)生振動(dòng)沖擊。而五次NURBS規(guī)劃的軌跡的加加速度是連續(xù)無(wú)突變的。所以,五次NURBS軌跡規(guī)劃方法穩(wěn)定性更好。
得到180組關(guān)節(jié)位移數(shù)據(jù)后,通過(guò)工具箱中的fkine函數(shù),即T1=bot.fkine(q1)求出與180組關(guān)節(jié)位移數(shù)據(jù)對(duì)應(yīng)的180個(gè)工作空間坐標(biāo)點(diǎn)。得到的空間坐標(biāo)點(diǎn)均為規(guī)劃的機(jī)器人末端軌跡點(diǎn)。機(jī)械手末端軌跡圖如圖4、圖5所示。
圖4 基于五次多項(xiàng)式的機(jī)器人末端軌跡
圖5 基于五次NURBS的機(jī)器人末端軌跡
通過(guò)比較圖4、圖5可以看出,五次NURBS規(guī)劃的三角形各邊的軌跡誤差比五次多項(xiàng)式規(guī)劃的三角形各邊的軌跡誤差要大,說(shuō)明五次NURBS規(guī)劃的軌跡精度更高,穩(wěn)定性更好,要優(yōu)于五次多項(xiàng)式的軌跡。所以,選用五次NURBS軌跡規(guī)劃方法得到的軌跡精度更高更穩(wěn)定,也使機(jī)器人性能更穩(wěn)定,壽命更長(zhǎng)。
為提高機(jī)器人運(yùn)動(dòng)軌跡的穩(wěn)定性和精度,延長(zhǎng)機(jī)器人的使用壽命。以實(shí)驗(yàn)室的六自由度機(jī)器人為研究對(duì)象,分別采用五次多項(xiàng)式,五次NURBS規(guī)劃?rùn)C(jī)器人的運(yùn)動(dòng)軌跡,并在MATLAB平臺(tái)上編程得到關(guān)節(jié)軌跡圖片進(jìn)行對(duì)比。結(jié)果表明:采用五次NURBS規(guī)劃運(yùn)動(dòng)軌跡的角位移、角速度、角加速度都較光滑,且角加加速度連續(xù)沒(méi)有突變,優(yōu)于角加加速度有突變的五次多項(xiàng)式軌跡規(guī)劃方法。綜合考慮效果和計(jì)算量,五次NURBS軌跡規(guī)劃方法的運(yùn)動(dòng)性能優(yōu)于五次多項(xiàng)式軌跡規(guī)劃方法,五次NURBS是精度較高且穩(wěn)定可靠的軌跡規(guī)劃方法。