劉云平 吳洪濤
1.南京信息工程大學(xué),南京,210044 2.南京航空航天大學(xué),南京,210016
機(jī)器人雅可比矩陣的計(jì)算方法目前主要有運(yùn)動(dòng)學(xué)方程對(duì)時(shí)間求導(dǎo)法、矢量積法、微分變換法、遞推法等[1],如文獻(xiàn)[2]采用空間算子代數(shù)方法對(duì)固定基座機(jī)器人的雅可比矩陣進(jìn)行了描述,文獻(xiàn)[3]將矢量叉乘變?yōu)槭噶奎c(diǎn)乘對(duì)冗余度機(jī)器人雅可比矩陣進(jìn)行求解。文獻(xiàn)[4]利用旋量來表達(dá)雅可比矩陣的計(jì)算公式,與微分變換法和矢量叉乘法相比,該表達(dá)方法的形式更簡(jiǎn)單。但是目前的這些方法主要適用于地面固定基座的串聯(lián)機(jī)器人或少自由度的空間平面機(jī)器人,對(duì)于多自由度且本體與操作臂之間存在著強(qiáng)烈耦合作用的自由漂浮樹形空間機(jī)器人系統(tǒng)來說,上述方法使得雅可比矩陣的計(jì)算過程變得繁瑣復(fù)雜、計(jì)算效率低下,難以由計(jì)算機(jī)編程實(shí)現(xiàn)。因此,本文將自由漂浮的樹形空間機(jī)器人系統(tǒng)劃分為基座固定的地面機(jī)器人系統(tǒng)及基座浮動(dòng)的關(guān)節(jié)鎖定機(jī)器人系統(tǒng)兩部分進(jìn)行研究,避免了本體與操作臂之間的耦合過程分析,并引入移位算子[5]來描述系統(tǒng)的拓?fù)浣Y(jié)構(gòu)及運(yùn)動(dòng)學(xué)遞推關(guān)系,該描述方法比傳統(tǒng)的關(guān)聯(lián)矩陣、通路矩陣和低序體陣列方法的形式更簡(jiǎn)單且易于由計(jì)算機(jī)編程實(shí)現(xiàn),使得雅可比矩陣的計(jì)算過程變得簡(jiǎn)單且效率高。
為了節(jié)約燃料,自由漂浮樹形空間機(jī)器人系統(tǒng)的本體位姿控制系統(tǒng)通常處于關(guān)閉狀態(tài),此時(shí)整個(gè)系統(tǒng)屬于多體系統(tǒng)中的無根樹系統(tǒng),以圖1所示的自由漂浮樹形空間機(jī)器人為例進(jìn)行分析,O-1 X-1Y-1Z-1為慣性坐標(biāo)系,O cm X cm Y cm Z cm為質(zhì)心坐標(biāo)系。根據(jù)空間算子代數(shù)理論的標(biāo)號(hào)規(guī)則,將整個(gè)系統(tǒng)的所有分支鏈和體進(jìn)行統(tǒng)一標(biāo)號(hào)。首先對(duì)分支鏈進(jìn)行標(biāo)號(hào)(圖1中的虛線所示),對(duì)從直接與本體相連的分支到間接相連的分支按照從大到小進(jìn)行依次編號(hào)。然后對(duì)所有的分支按從1到j(luò)依次遞增的順序,對(duì)每個(gè)分支的體按照從末端到根部進(jìn)行編號(hào)。如圖1所示,分支1的體編號(hào)為1到m1,分支2的體編號(hào)為m1+1到m2,……,分支j的體編號(hào)為m到n,總共n個(gè)體,本體編號(hào)為n+1。
如圖2所示,取出系統(tǒng)中任意一個(gè)分支中任意相鄰的兩個(gè)體,有
式中,Sk為第k個(gè)關(guān)節(jié)點(diǎn)Ok到O-1的向量;lk+1,k為第k+1個(gè)關(guān)節(jié)點(diǎn)Ok+1到第k個(gè)關(guān)節(jié)點(diǎn)Ok的向量。
對(duì)式(1)求導(dǎo)得第k體線速度為
角速度為
式中,θ?k為第k個(gè)角的自轉(zhuǎn)角速度;hk為第k個(gè)體的轉(zhuǎn)動(dòng)軸的映射矩陣。
圖2 相鄰二體
引入六維速度旋量V=col[ω,v],則速度旋量的遞推計(jì)算表達(dá)式為
式中,φk+1,k為移位算子;lk*+1,k為向量lk+1,k的差積矩陣;Hk為第k個(gè)關(guān)節(jié)的狀態(tài)空間到關(guān)節(jié)空間的投影算子[2]。
通過式(4)可以得到第k個(gè)體的速度旋量V k,根據(jù)速度是從本體向外、沿著各個(gè)分支鏈向末端傳遞的自然本質(zhì),Vk不僅與第k個(gè)體的自轉(zhuǎn)角速度有關(guān),而且與其直接相連的體傳遞過來的速度有關(guān)。鏈?zhǔn)较到y(tǒng)可以按照自然數(shù)的遞增對(duì)其中的體進(jìn)行順序編號(hào),在計(jì)算機(jī)編程時(shí),通過體號(hào)的遞增可以找到與其相連的下一個(gè)體,不需要再額外提供體之間的關(guān)聯(lián)關(guān)系。樹形系統(tǒng)中,在分支處相連的兩個(gè)體的序號(hào)不是遞增的,因此需要通過拓?fù)浣Y(jié)構(gòu)描述方法來提供各個(gè)體及分支的關(guān)聯(lián)關(guān)系和通路情況,傳統(tǒng)的方法有羅伯森和維騰堡方法[6]中的關(guān)聯(lián)矩陣和通路矩陣、休斯頓方法中的低序體陣列[7]。但是當(dāng)系統(tǒng)的分支及體的個(gè)數(shù)比較大時(shí),傳統(tǒng)的這些拓?fù)浣Y(jié)構(gòu)描述方法變得復(fù)雜且所需存儲(chǔ)空間大,計(jì)算機(jī)調(diào)用時(shí)間長(zhǎng),降低了計(jì)算效率。
本文采用直接反映拓?fù)浣Y(jié)構(gòu)及速度遞推關(guān)系的父體陣列及移位算子方法,該方法從局部和全局角度描述了系統(tǒng)速度傳遞的自然本質(zhì)。速度從本體開始向外傳遞,在到達(dá)第k個(gè)體之前經(jīng)過的所有體稱為第k體的祖先體,其中,與該體直接相連的祖先體稱為父體(體號(hào)標(biāo)記為Pa(k)),每個(gè)體只有一個(gè)父體,鏈?zhǔn)较到y(tǒng)中Pa(k)=k+1。在樹形系統(tǒng)中,第k體的速度與其父體Pa(k)有關(guān),于是式(4)可以寫成如下形式:
定義本體的速度旋量為V n+1,根據(jù)式(5)可將V k用本體的速度及其祖先體的角速度表示為
根據(jù)式(6),V k可以分成兩部分進(jìn)行分析計(jì)算。一部分是當(dāng)關(guān)節(jié)角速度(等效為所有關(guān)節(jié)鎖定不動(dòng)),此時(shí)是由本體速度Vn+1傳遞后得到的;另一部分是當(dāng)本體速度V n+1=0(等效為基座固定)與其祖先體的關(guān)節(jié)速度有關(guān)。因此,V k可以自然劃分為兩部分,并可以通過移位算子進(jìn)行全局分析。
將系統(tǒng)的有關(guān)變量寫成總體形式進(jìn)行分析,令V=col[V1,V2,…,V N]H=diag(H1,H2,…,Hn)。當(dāng)關(guān)節(jié)角速度時(shí),有
當(dāng)V n+1=0時(shí),相當(dāng)于固定基的地面機(jī)器人,即
式中,φx,y為第 x體到第y體的移位算子矩陣。
根據(jù)式(8),解得
全局移位算子包含了關(guān)聯(lián)矩陣、通路矩陣和位形關(guān)系的描述信息,因此可以通過它直接從整體上分析系統(tǒng)所有體的力和速度的傳遞關(guān)系。這個(gè)傳遞關(guān)系在式(5)中以等價(jià)的遞推形式表示。
因此,系統(tǒng)的全局速度表達(dá)為
將第k體的動(dòng)量表達(dá)成旋量形式:
其中質(zhì)量算子
式中,Jk、mk、dk分別表示第k個(gè)體的廣義慣量矩陣、質(zhì)量、質(zhì)心的位矢;?dk為質(zhì)心位矢的反對(duì)稱矩陣。
當(dāng)系統(tǒng)不受外力時(shí),根據(jù)動(dòng)量守恒
假定末端執(zhí)行器在第mj個(gè)體上,第mj個(gè)關(guān)節(jié)到末端執(zhí)行器移位算子為φmj,E,則
則雅可比矩陣為
以圖3自由漂浮樹形空間機(jī)器人系統(tǒng)為例,根據(jù)標(biāo)號(hào)原則進(jìn)行標(biāo)號(hào),定義父體列陣(表1)。
圖3 自由漂浮樹形空間機(jī)器人
表1 父體陣列
7號(hào)體是本體,在Pa(k)中沒出現(xiàn)的體號(hào)屬于末端體,如1、2、5號(hào)體;重復(fù)出現(xiàn)的體號(hào)屬于分支體 ,如3、7號(hào)體。可得到
根據(jù)式(17)得到本實(shí)例的 φv:
根據(jù)式(18)可得到本例的雅可比矩陣符號(hào)表達(dá)式:
式(21)采用的是符號(hào)表達(dá)式,易于由計(jì)算機(jī)編程實(shí)現(xiàn)。將系統(tǒng)的結(jié)構(gòu)參數(shù)直接代入式(21)就得到樹形空間機(jī)器人的廣義雅可比矩陣,避免了數(shù)值計(jì)算方法中多步計(jì)算的誤差,提高了計(jì)算精度。
本文通過直接反映系統(tǒng)力學(xué)特性的父體陣列及移位算子,對(duì)系統(tǒng)的拓?fù)浣Y(jié)構(gòu)及運(yùn)動(dòng)學(xué)傳遞關(guān)系進(jìn)行了描述,并在旋量遞推的基礎(chǔ)上推導(dǎo)了自由漂浮樹形空間機(jī)器人的雅可比矩陣。將系統(tǒng)自然劃分為兩部分進(jìn)行分析,這樣可以避免分析本體與操作臂之間復(fù)雜的耦合過程,使得計(jì)算過程簡(jiǎn)單、高效,且易于由計(jì)算機(jī)編程實(shí)現(xiàn)。
[1] 熊有倫.機(jī)器人學(xué)[M].北京:機(jī)械工業(yè)出版社,1993.
[2] Rodriguez G,Kreutz K,Jain A.A Spatial Operator Algebra for Manipulator Modeling and Control[J].International Journal of Robotics Research,1991,10(4):371-381.
[3] 郭琦,洪炳熔.雙臂六自由度空間機(jī)器人廣義雅可比矩陣的推導(dǎo)[J].電子學(xué)報(bào),2005,33(2):322-326.
[4] Richard M,Li Zexiang,Shankar S.A Mathematical Introduction to Robotic Manipulation[M].Boca Raton,Florida,USA:CRC Press,1994.
[5] Jain A,Rodriguez G.Robot Dynamics Using Spatial Operator[C]//Proceedings of the 2000 IEEE International Conference on Robotics&Automation.San Francisco,2000:850-856.
[6] 劉延柱,洪嘉振,揚(yáng)海興.多剛體動(dòng)力學(xué)[M].北京:高等教育出版社,1989.
[7] 休斯敦 R L,劉又午.多體系統(tǒng)動(dòng)力學(xué)(下)[M].天津:天津大學(xué)出版社,1991.