朱 磊, 許德章,*
(1.安徽工程大學(xué)人工智能學(xué)院,安徽 蕪湖 241000;2.蕪湖安普機(jī)器人產(chǎn)業(yè)技術(shù)研究院,安徽 蕪湖 241007)
傳統(tǒng)串聯(lián)機(jī)器人通常采用 D-H 參數(shù)法[1]和旋量法[2]建立機(jī)器人的運動學(xué)模型。D-H 參數(shù)法需要在每個關(guān)節(jié)處建立局部坐標(biāo)系,用4個參數(shù)的變換矩陣表示不同坐標(biāo)系之間的變換,以此描述坐標(biāo)系間的變化規(guī)律。當(dāng)使用D-H參數(shù)法對相鄰關(guān)節(jié)平行的機(jī)器人建立局部坐標(biāo)系時,會帶來參數(shù)奇異性的問題,與之相比,旋量法使用工具坐標(biāo)系和基坐標(biāo)系來描述剛體的整體運動,運動參數(shù)的變化更加光滑,避免了建立局部坐標(biāo)系帶來的奇異性問題,物理意義更加明確。趙榮波[3]等基于旋量理論,采用代數(shù)和Paden-Kahan子問題相結(jié)合的方法對末端3個關(guān)節(jié)交于一點的6R機(jī)器人進(jìn)行了逆運動學(xué)求解,方法上具有一定的優(yōu)越性;Wang[4]等基于3種基礎(chǔ)Paden-Kahan子問題,提出了幾種新型逆運動學(xué)子問題,為機(jī)器人的逆運動學(xué)求解提供了新思路。考慮到康復(fù)機(jī)械手具有3個軸線相互平行的相鄰關(guān)節(jié),因此采用旋量法與代數(shù)相結(jié)合的方法對其逆運動學(xué)問題進(jìn)行求解,之后從人手的基本運動功能出發(fā),提出兩種抓握手勢作為算法正確性驗證的評價指標(biāo),使用MATLAB和Robotics Toolbox驗證方法的正確性,為康復(fù)機(jī)械手的逆運動學(xué)求解提供了思路。
(1)
(2)
(3)
則剛體運動用矩陣指數(shù)的形式表示為
(4)
(5)
用S表示基坐標(biāo)系,T表示末端坐標(biāo)系,則單個關(guān)節(jié)的初始位姿gst(0)與末端位姿gst(θ)的關(guān)系表示為
(6)
推廣到n關(guān)節(jié)的康復(fù)機(jī)械手中,則康復(fù)機(jī)械手的末端姿態(tài)與初始位姿間的關(guān)系用指數(shù)積的形式表示為
(7)
康復(fù)機(jī)械手在結(jié)構(gòu)上與人手相似,是由拇指、食指、中指、環(huán)指、小指以及掌部和腕部組成,各個手指都擁有4個自由度,在與人手綁定后,通過自身的運動實現(xiàn)對人手的助力與康復(fù)訓(xùn)練。其上的運動包括腕掌關(guān)節(jié)的擺動和彎曲以及近端指節(jié)和遠(yuǎn)端指節(jié)的彎曲運動,其中,擺動軸與彎曲軸相互垂直。其余四指在結(jié)構(gòu)上相同,與掌部相連,其運動可分為掌指關(guān)節(jié)的擺動和彎曲,以及近端指節(jié)和遠(yuǎn)端指節(jié)的彎曲運動。
將拇指的基坐標(biāo)系設(shè)在腕掌關(guān)節(jié)處,將其余四指的基坐標(biāo)系設(shè)在掌指關(guān)節(jié)處,則康復(fù)機(jī)械手的手指的運動模型可以用圖1表示。
圖1 手指運動模型
由圖1可以得出機(jī)械手關(guān)節(jié)轉(zhuǎn)動軸上的一點qi以及軸線方向矢量ωi分別為
q1=(0 0 0)T,q2=(A0 0)T,
q3=(A+B0 0)T,q4=(A+B+C0 0)T
(8)
ω1=(0 0 1)T,ω2=(0 1 0)T
ω3=(0 1 0)T,ω4=(0 1 0)T
(9)
末端執(zhí)行器的初始位姿gst(0)為
(10)
(11)
由旋量理論得康復(fù)機(jī)械手的手指正運動學(xué)映射為
(12)
經(jīng)過計算與化簡可得
(13)
式(13)中,ci=cosθi,si=sinθi,i=1,2,3,4;c23=cos(θ2+θ3),s23=sin(θ2+θ3),
c234=cos(θ2+θ3+θ4),s234=sin(θ2+θ3+θ4),px=c1(A+Bc2+Cc23+Dc234),py=s1(A+Bc2+Cc23+Dc234),pz=-(Bs2+Cs23+Ds234)。
2.2.1 求解θ1
因為軸S2,S3,S4相互平行,在姿態(tài)變換中,可將運動旋量ξ2,ξ3,ξ4看作是一個整體,則運動旋量ξ1,ξ2,ξ3,ξ4所表示的基坐標(biāo)系到工具坐標(biāo)系的姿態(tài)變化可用Z-Y-X歐拉角表示,即
Rzyx(θ1,θ234,0)=Rz(θ1)Ry(θ234)Rx(0)=
(14)
在式(12)的兩側(cè)同時右乘gst(0)-1,并令g=gst(θ)gst(0)-1,則有
(15)
采用對應(yīng)元素相等的方法,利用Rzyx(θ1,θ234,0)與g中第二行第二列的元素相等可得
θ1=arccos[g(2,2)]
(16)
式(16)中,g(2,2)表示g的第二行第二列元素。
2.2.2 求解θ3
(17)
此時式(15)可改寫成
(18)
(19)
則點q4到g′的距離可以表示為
(20)
(21)
式(21)表示將點q1繞軸S3旋轉(zhuǎn)至與點q4相距g′處,因而可使用第3類Paden-Kahan子問題[5]求解θ3。于是有
(22)
式(22)中,u3=(q1-q3)-ω3ω3T(q1-q3),w3=(q4-q3)-ω3ω3T(q4-q3),δ32=g″2-|ω3T(q1-q4)|2,θ′=arctan2(ω3T(u3×w3),u3Tw3)。
2.2.3 求解θ4
因為DIP關(guān)節(jié)與PIP關(guān)節(jié)之間相互耦合,參照HandeXos-gamma外骨骼康復(fù)手[6],則DIP關(guān)節(jié)與PIP關(guān)節(jié)間的耦合系數(shù)為1,于是有
θ4=θ3
(23)
2.2.4 求解θ2
(24)
(25)
(26)
(27)
(28)
θ2=arctan2(ω2T(u2×w2),u2Tw2)
(29)
式(29)中,u2=(q3-q2)-ω2ω2T(q3-q2),w2=(h2-q2)-ω2ω2T(h2-q2)。
抓握是人手活動中最基礎(chǔ)的功能,考慮到腦卒中患者手部的病態(tài)蜷曲多數(shù)是由屈肌與伸肌作用不平衡導(dǎo)致的[7],因此康復(fù)機(jī)械手的首要功能是訓(xùn)練患者手部在矢狀面進(jìn)行屈伸運動,結(jié)合Ian M.Bullock[8]對人手抓握姿態(tài)的研究,得到兩種使用頻率最高的抓握手勢,即掌握(圖2左)和指腹捏(圖2右)。驗證逆運動學(xué)算法的正確性。
根據(jù)Arbib[9]對虛擬手指(Virtual Finger)的定義,將掌握歸為掌面對抗(palm opposition),其中手掌作為VF1,食指、中指、環(huán)指、小指作為一個功能單元用VF2表示;將指腹捏歸為指面對抗(pad opposition),其中拇指作為VF1,其余四指作為VF2,得出兩種抓握手勢的對抗模型如圖3所示。
HandeXos-gamma外骨骼康復(fù)手滿足所述康復(fù)機(jī)械手的構(gòu)型要求,因此選擇其結(jié)構(gòu)參數(shù)驗證算法的正確性,由對抗模型可知,除拇指外其余四指都作為一個功能單元(VF),所以僅給出拇指和食指的參數(shù),具體參數(shù)如表1所示。
圖2 兩種基礎(chǔ)抓握手勢
圖3 兩種抓握動作下手的對抗模型
表1 康復(fù)機(jī)械手各關(guān)節(jié)長度
在人手關(guān)節(jié)的活動范圍內(nèi),給出上文兩種手勢中各關(guān)節(jié)角度,如表2所示,其中θ1與θ2分別表示關(guān)節(jié)的伸展和屈伸(拇指中為CM關(guān)節(jié),其余四指中為MP關(guān)節(jié)),θ3與θ4分別表示PIP關(guān)節(jié)和DIP關(guān)節(jié)的伸展。
表2 兩種手勢下的理論關(guān)節(jié)角度
具體驗證過程如下。
(1)由所給參數(shù)應(yīng)用正運動學(xué)方程得到康復(fù)機(jī)械手的末端位姿。
(2)利用所提出的逆運動學(xué)算法,求解在兩種手勢下拇指和食指的各關(guān)節(jié)角度,舍棄掉在人手關(guān)節(jié)活動范圍之外的解。
(3)使用MATLABRoboticsToolbox處理所得結(jié)果得到指關(guān)節(jié)的位姿圖。
(4)比較逆運動學(xué)算法得到的關(guān)節(jié)角度解與所給出的關(guān)節(jié)角度間的誤差,若誤差在許用范圍之內(nèi),則驗證所提算法正確;否則所提算法不正確。
按照上述步驟使用MATLABR2018a軟件計算兩種手勢下拇指與食指的逆運動學(xué)解如表3所示,關(guān)節(jié)位姿如圖4所示。
表3 兩種手勢下的實際關(guān)節(jié)角度
圖4 兩種手勢下的實際手指位姿
比較理論關(guān)節(jié)角度和實際關(guān)節(jié)角度的值,得到關(guān)節(jié)角度誤差。其中最大誤差發(fā)生在掌握手勢中食指MP關(guān)節(jié)的伸展,其值為Δθmax=-0.1301° 。因為該誤差對人手康復(fù)運動影響極小,因此可認(rèn)為所提出的康復(fù)機(jī)械手逆運動學(xué)算法在理論上可行。
建立康復(fù)機(jī)械手的結(jié)構(gòu)模型,采用旋量法建立康復(fù)機(jī)械手的運動學(xué)方程,使用旋量與代數(shù)相結(jié)合的方法和Paden-Kahan子問題求解手指的逆解,具有明確的幾何意義,并以人手的抓握功能為基礎(chǔ)提出了兩種抓握方式,在此基礎(chǔ)上通過實例驗證了逆運動學(xué)算法的有效性和康復(fù)機(jī)械手在結(jié)構(gòu)上的可行性。