納文, 張世強(qiáng), 曹越琦, 孫華飛
(北京理工大學(xué) 數(shù)學(xué)與統(tǒng)計(jì)學(xué)院, 北京 100081)
隨著機(jī)器人的應(yīng)用范圍不斷擴(kuò)大, 對(duì)機(jī)器人的運(yùn)動(dòng)學(xué)、控制以及軌跡規(guī)劃等要求不斷提高. 上述各個(gè)方面的研究進(jìn)展制約著機(jī)器人的表現(xiàn). 本文利用雅可比矩陣來(lái)研究帶有冗余度的機(jī)器人的運(yùn)動(dòng)、特別是逆運(yùn)動(dòng)學(xué)問(wèn)題. 眾所周知, 機(jī)器人的正運(yùn)動(dòng)學(xué)相對(duì)簡(jiǎn)單, 逆運(yùn)動(dòng)學(xué)比較復(fù)雜, 因?yàn)閷?duì)于給定的機(jī)器人的末端執(zhí)行器的位置和方向, 要求得連桿的關(guān)節(jié)角, 這個(gè)問(wèn)題有時(shí)無(wú)解或者存在多解現(xiàn)象. 另一方面, 盡管冗余度的存在增加了解決問(wèn)題的復(fù)雜性, 但是可以利用冗余度來(lái)解決諸如避障、躲避奇異點(diǎn)等問(wèn)題[1-6]. 這些研究與雅可比矩陣密切相關(guān).
在本文中, 利用雅可比矩陣首先介紹機(jī)器人的逆運(yùn)動(dòng)學(xué), 然后給出帶有冗余度的逆運(yùn)動(dòng)學(xué)的應(yīng)用, 特別地給出模擬仿真, 為后續(xù)的機(jī)器人的運(yùn)動(dòng)規(guī)劃和控制的實(shí)現(xiàn)奠定基礎(chǔ).
設(shè)機(jī)器人的位姿為x, 它包括位置和方向角, 關(guān)節(jié)角為θ. 于是它們滿足
x=f(θ).
(1)
已知關(guān)節(jié)角來(lái)求位姿屬于正運(yùn)動(dòng)學(xué)問(wèn)題, 這個(gè)過(guò)程相對(duì)簡(jiǎn)單, 而實(shí)際問(wèn)題往往要求給定位姿來(lái)求解關(guān)節(jié)角,這個(gè)過(guò)程稱為逆運(yùn)動(dòng)學(xué), 這個(gè)過(guò)程的求解比較困難. 目前通常的方法是利用式(1) 獲得.
(2)
(3)
(4)
式中J*(θ)=g-1JT(θ)[J(θ)g-1JT(θ)]-1,為J(θ)的廣義逆.
下面考慮帶有具有冗余度的情形(m (5) 式中:I為n×n單位矩陣;ξ為任意的向量. 冗余度的存在使得問(wèn)題變得復(fù)雜, 而利用冗余度的存在, 也可以說(shuō)在解決避障等問(wèn)題的同時(shí)而獲得關(guān)節(jié)角速度. (6) 式中θ0是期望達(dá)到的或者期望避開的. 當(dāng)想要避開θ0時(shí),ψ(θ)要取最大值,于是要求k>0. 反之,當(dāng)要達(dá)到θ0時(shí),ψ(θ)要取最小值, 要求k<0. 對(duì)于rank(J(θ)) (7) 其中μ為實(shí)常數(shù). 可以得到 (8) 命題1.2.1帶有最大操作度的角加速度可由下面公式給出[7-11] (9) (10) 式中: A=J(θ)JT(θ)=(aij)m×m; 下面, 要給出J(θ)的值域. 注意到 J(θ)J*(θ)=I, (J*(θ))T[I-J*(θ)J(θ)]T= [(I-J*(θ)J(θ))J*(θ)]T=0. 同理可以得到 [I-J*(θ)J(θ)]TJ*(θ)=0. 由式(5)可以得到 {[I-J*(θ)J(θ)]ξ}T{[I-J*(θ)J(θ)]ξ}≥ (11) 由奇異值分解, 則存在正交矩陣U,V滿足 JT(θ)=Udiag[σ1…σm0…0]VT, 其中,σi≥0. 于是可得 (12) (13) 這是一個(gè)橢球方程. 設(shè)機(jī)械臂執(zhí)行器的理想位置為xd, 的目標(biāo)就是讓當(dāng)前機(jī)械臂的執(zhí)行器的位置f(θ)與xd的距離最短,于是問(wèn)題可以轉(zhuǎn)化為 用梯度下降法求解上述F(θ)的最小值. 既然 -JT(θ)(xd-f(θ)), 令0<η<1為常數(shù), 有迭代公式 θt +1=θt-ηJT(θt)(xd-f(θt)), 由此迭代公式可獲得F(θ)的局部最小值. 考慮二維和三維的情況, 以向量L為機(jī)械臂每段的臂長(zhǎng), 向量θ為關(guān)節(jié)角,θ0為初始狀態(tài)機(jī)械臂的關(guān)節(jié)角, 二維情況機(jī)械臂初始狀態(tài)如圖1所示(二維情況下的關(guān)節(jié)角指的是相鄰兩個(gè)機(jī)械臂的夾角). 其中機(jī)械臂每段臂長(zhǎng) L=[0.670.4320.4320.15], 初始狀態(tài)機(jī)械臂的關(guān)節(jié)角為 θ0=[-0.595 12.720 90.492 1]. 初始關(guān)節(jié)角對(duì)應(yīng)的可操作度為0.082 1. 由式(12)(13)可知末端執(zhí)行器的速度向量的變化范圍是一個(gè)橢球. 三維情況下機(jī)械臂初始情況如圖2所示,三維情況下的關(guān)節(jié)角指的是每個(gè)機(jī)械臂在球坐標(biāo)下的兩個(gè)角度. 其中機(jī)械臂每段臂長(zhǎng) L=[0.200.760.610.53], 初始狀態(tài)機(jī)械臂的關(guān)節(jié)角為 θ0=[(0.50,0.23), (1.00,0.31), (1.50,0.50)]. 初始關(guān)節(jié)角對(duì)應(yīng)的可操作度為0.356 3. 由迭代公式, 設(shè)定步長(zhǎng)為0.005. 3個(gè)關(guān)節(jié)角時(shí), 讓機(jī)械臂用1 s從初始狀態(tài)沿直線到達(dá)點(diǎn)(0.2,0.8), 三維情況下, 讓機(jī)械臂用1 s從初始狀態(tài)沿直線到達(dá)點(diǎn)(0.2,0.3,0.4), 其軌跡如圖3所示. 由迭代公式,其中為可操作度, 取c=1,設(shè)定步長(zhǎng)為0.005. 3個(gè)關(guān)節(jié)角時(shí), 讓機(jī)械臂用1 s從初始狀態(tài)沿直線到達(dá)點(diǎn)(0.4,0.5), 三維情況下, 讓機(jī)械臂用1 s從初始狀態(tài)沿直線到達(dá)點(diǎn)(-0.3,0.2,-0.2), 其軌跡如圖4所示. 由迭代公式,取μ2=0.001, 設(shè)定步長(zhǎng)為0.005. 3個(gè)關(guān)節(jié)角時(shí), 讓機(jī)械臂用1 s從初始狀態(tài)沿直線到達(dá)點(diǎn)(0.8,0.6), 三維情況下, 讓機(jī)械臂用1 s從初始狀態(tài)沿直線到達(dá)點(diǎn)(0.4,0.5,0), 其軌跡如圖5所示. 由迭代公式θt+1=θt-ηJT(θt)(xd-f(θt)), 取步長(zhǎng)η=0.5. 3個(gè)關(guān)節(jié)角時(shí), 讓機(jī)械臂不斷沿梯度下降方向到達(dá)點(diǎn)(0.8,0.4), 三維情況下, 讓機(jī)械臂不斷沿梯度下降方向到達(dá)點(diǎn)(0.6,0.8,1.0), 其軌跡如圖6所示. 通過(guò)分析雅克比矩陣的性質(zhì)研究了機(jī)器人的逆運(yùn)動(dòng)問(wèn)題. 在無(wú)冗余度時(shí),利用偽逆可以直接求解機(jī)器人逆運(yùn)動(dòng),給出終點(diǎn)位姿即可得到機(jī)械臂的關(guān)節(jié)角. 雖然冗余度的存在使得問(wèn)題變得更加復(fù)雜,但利用冗余度通過(guò)阻尼最小平方法在解決避障等問(wèn)題的同時(shí)獲得了關(guān)節(jié)角速度. 在雅克比矩陣奇異時(shí)通過(guò)梯度下降法給出求解機(jī)器人逆運(yùn)動(dòng)的迭代公式. 在模擬仿真階段,文中首先給出末端執(zhí)行器速度向量的變化范圍,實(shí)驗(yàn)結(jié)果與理論分析相符. 之后通過(guò)不同維數(shù)下設(shè)定直線軌跡求解關(guān)節(jié)角,證明了雅克比矩陣非奇異條件下阻尼最小平方法的正確性與高效性. 而在雅克比矩陣奇異的情況下,設(shè)定終點(diǎn)位姿,通過(guò)梯度下降法高效地給出了合法軌跡. 在不同維數(shù)和自由度的情形下均得到了很好的仿真結(jié)果,反映出理論方法的準(zhǔn)確性和高效性.1.2 操作度
1.3 梯度下降法
2 模擬仿真
2.1 rank(J(θ))=m且無(wú)冗余項(xiàng)
2.2 rank(J(θ))=m且有冗余項(xiàng)
2.3 rank(J(θ))
2.4 梯度下降法求解逆運(yùn)動(dòng)學(xué)問(wèn)題
3 結(jié) 論