張 巖
(中國(guó)科學(xué)院長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,吉林長(zhǎng)春 130033)
精確的動(dòng)力學(xué)模型是機(jī)器人控制及仿真的前提條件,而建立精確的動(dòng)力學(xué)模型需要準(zhǔn)確的機(jī)器人各連桿動(dòng)力學(xué)參數(shù)。機(jī)器人在組裝完成后,一般無(wú)法得到真實(shí)機(jī)械臂的動(dòng)力學(xué)參數(shù),或只能根據(jù)機(jī)器人各個(gè)關(guān)節(jié)及連桿的個(gè)體參數(shù)來(lái)估算組裝后的參數(shù)值,顯然這種方法的辨識(shí)結(jié)果無(wú)法滿(mǎn)足實(shí)際的機(jī)器人控制精度要求[1-2]。對(duì)于機(jī)器人動(dòng)力學(xué)參數(shù)辨識(shí)的研究,美國(guó)MIT人工智能實(shí)驗(yàn)室的Chae H.An等人[3]根據(jù)牛頓歐拉動(dòng)力學(xué)方程,采用嶺回歸的算法優(yōu)化得到機(jī)器人的組合動(dòng)力學(xué)參數(shù),由于動(dòng)力學(xué)方程中各參數(shù)的耦合性較強(qiáng),該方法僅辨識(shí)出機(jī)械臂的組合動(dòng)力學(xué)參數(shù)值。Kwon S K等人[4]設(shè)計(jì)了一種高效的機(jī)械臂動(dòng)力學(xué)模型辨識(shí)算法,該方法在辨識(shí)效率上得到了顯著地提高,但辨識(shí)結(jié)果同樣出現(xiàn)文獻(xiàn)[3]中存在的問(wèn)題。Katayon等人[5]通過(guò)機(jī)械臂動(dòng)力學(xué)參數(shù)辨識(shí)模型的優(yōu)化,在已知關(guān)節(jié)力矩的情況下辨識(shí)得到除連桿一以外的大部分動(dòng)力學(xué)參數(shù)值,由于連桿一只存在繞關(guān)節(jié)一軸線(xiàn)的旋轉(zhuǎn)運(yùn)動(dòng),該算法無(wú)法辨識(shí)連桿一的動(dòng)力學(xué)參數(shù)。此外,對(duì)于機(jī)器人負(fù)載動(dòng)力學(xué)參數(shù)的辨識(shí),Gautier[6]與Swevers等人[7]根據(jù)機(jī)械臂的動(dòng)力學(xué)特性并且借助關(guān)節(jié)力矩傳感器,分別設(shè)計(jì)了負(fù)載動(dòng)力學(xué)參數(shù)的辨識(shí)算法,取得了一定的研究成果。
對(duì)于組裝完成后的機(jī)器人系統(tǒng),機(jī)器人的各個(gè)關(guān)節(jié)一般會(huì)裝有關(guān)節(jié)力矩傳感器以及關(guān)節(jié)速度傳感器。本研究根據(jù)實(shí)際情況,在以上條件已知的情況下,設(shè)計(jì)一種機(jī)器人動(dòng)力學(xué)參數(shù)的動(dòng)、靜態(tài)混合辨識(shí)方法。在靜態(tài)辨識(shí)中采用基座六維力傳感器,通過(guò)變化機(jī)械臂的構(gòu)型,首先辨識(shí)得到機(jī)器人各連桿的質(zhì)量與質(zhì)心坐標(biāo)的乘積值;在動(dòng)態(tài)辨識(shí)過(guò)程中,規(guī)劃關(guān)節(jié)按特定的組合方式運(yùn)動(dòng),通過(guò)辨識(shí)算法計(jì)算各連桿的慣性張量以及質(zhì)心坐標(biāo),繼而完成動(dòng)力學(xué)參數(shù)的全辨識(shí)。最后,通過(guò)仿真實(shí)驗(yàn)對(duì)辨識(shí)方法進(jìn)行驗(yàn)證,并對(duì)辨識(shí)精度進(jìn)行分析。
參照機(jī)械臂模型圖如圖1所示,現(xiàn)對(duì)本研究中出現(xiàn)的符號(hào)定義如下:
cn為第n連桿質(zhì)心;nPn+1為第n+1關(guān)節(jié)在n坐標(biāo)系下的坐標(biāo)為坐標(biāo)系n到坐標(biāo)系n+1的旋、、轉(zhuǎn)變換矩陣;θn為第n關(guān)節(jié)的關(guān)節(jié)角度、角速度、角加速度;nωn、nαn為第 n連桿在當(dāng)前坐標(biāo)系下的角速度、角加速度;nvn、nan為第n關(guān)節(jié)在當(dāng)前坐標(biāo)系下的線(xiàn)速度、線(xiàn)加速度;nfn、nnn為第n坐標(biāo)系下n-1連桿作用在n連桿上的力及力矩;∑n代表第n關(guān)節(jié)坐標(biāo)系;τn代表第n關(guān)節(jié)的驅(qū)動(dòng)力矩;nZn代表第n坐標(biāo)下Z向單位向量。
圖1 機(jī)械臂模型圖
對(duì)于機(jī)器人旋轉(zhuǎn)關(guān)節(jié),各連桿的速度及角速度按如下的方式傳遞[8]:
機(jī)器人各連桿質(zhì)心所受的力及力矩為:
其中:iaci=iai+iαi× ci+iωi× (iωi× ci)。
本研究所要辨識(shí)的動(dòng)力學(xué)參數(shù)包括機(jī)械臂質(zhì)量mi、質(zhì)心坐標(biāo)ci={cixciyciz}以及慣性張量Ici={IixxIiyyIizzIixyIixzIiyz}。各連桿動(dòng)力學(xué)參數(shù)在坐標(biāo)系間的轉(zhuǎn)化關(guān)系為[9]:
具有n個(gè)自由度的機(jī)器人,各連桿質(zhì)量與質(zhì)心坐標(biāo)存在著如下的關(guān)系:
式中:M—機(jī)械臂總質(zhì)量;C—機(jī)械臂系統(tǒng)的質(zhì)心;i0R,ci(i=1,2…n)—各關(guān)節(jié)坐標(biāo)系到基坐標(biāo)系的旋轉(zhuǎn)變換矩陣以及各連桿的質(zhì)心。
本研究將六維力傳感器安裝于機(jī)器人的第一關(guān)節(jié)與基座之間,則機(jī)械臂系統(tǒng)整體的質(zhì)量與質(zhì)心坐標(biāo)可以通過(guò)六維力傳感器求得:
若基座所受的六維力為:{FxFyFzNxNyNz},則存在如下的關(guān)系:
取機(jī)器人的A組位姿(A≥n),每次變化構(gòu)型時(shí)各關(guān)節(jié)應(yīng)隨機(jī)轉(zhuǎn)動(dòng)一定角度,以確保不出現(xiàn)線(xiàn)性相關(guān)的問(wèn)題?,F(xiàn)可以構(gòu)造如下的矩陣方程:
其中:
則機(jī)器人各連桿的質(zhì)量與質(zhì)心坐標(biāo)乘積的最小二乘解為:
由牛頓歐拉動(dòng)力學(xué)方程可知,機(jī)器人各連桿的力及力矩按照如下的方式逆向遞推[10-12]:
對(duì)于末端連桿,由于不存在n+1fn+1及n+1nn+1,則末端連桿的力及力矩關(guān)系可簡(jiǎn)化為如下的形式:
合并連桿的質(zhì)量與質(zhì)心坐標(biāo)的乘積項(xiàng),將其記為mcn,整理后可得:
將式(11)變換成矩陣方程的形式:
式中:K—連桿質(zhì)心坐標(biāo)的系數(shù)矩陣,K=[KxKyKz];H—慣性張量系數(shù)矩陣。
具體形式為:
由式(9)可知,機(jī)器人關(guān)節(jié)驅(qū)動(dòng)力矩τ為關(guān)節(jié)力矩z方向分量。因此,本研究提取矩陣方程式(12)第3行,在機(jī)械臂運(yùn)動(dòng)時(shí)間內(nèi)取B組數(shù)據(jù)(B≥9),采用偽逆法辨識(shí)得到末端連桿的動(dòng)力學(xué)參數(shù)Φ和Γ:
本研究獲得末端連桿動(dòng)力學(xué)參數(shù)辨識(shí)后,將末端連桿與次末端連桿整體作為待辨識(shí)的對(duì)象,辨識(shí)過(guò)程與上述方法相同,然后根據(jù)動(dòng)力學(xué)參數(shù)的坐標(biāo)系間轉(zhuǎn)換關(guān)系獲得次末端機(jī)械臂的動(dòng)力學(xué)參數(shù)。以此依次遞推至第2連桿,完成機(jī)器人第2連桿至末端連桿的動(dòng)力學(xué)參數(shù)的辨識(shí)。
由于機(jī)器人第1連桿為繞關(guān)節(jié)一軸線(xiàn)的旋轉(zhuǎn)運(yùn)動(dòng),其只存在自身坐標(biāo)系z(mì)向的速度以及加速度??紤]到連桿一運(yùn)動(dòng)的特殊性,需要對(duì)其動(dòng)力學(xué)參數(shù)辨識(shí)的方法進(jìn)行單獨(dú)的分析。
關(guān)節(jié)一在運(yùn)動(dòng)的過(guò)程中,考慮到上述的分析情況,連桿慣性張量中的3個(gè)參數(shù)I1xx、I1yy、I1xy的變化不會(huì)對(duì)關(guān)節(jié)一的力矩產(chǎn)生影響,因此連桿一的上述3個(gè)慣性張量均屬于無(wú)法辨識(shí)的動(dòng)力學(xué)參數(shù)。令機(jī)器人關(guān)節(jié)一運(yùn)動(dòng),其他關(guān)節(jié)鎖死,則根據(jù)牛頓歐拉動(dòng)力學(xué)方程可知關(guān)節(jié)一的力矩表示如下:
式中:C×(1α ×C)與 C ×(1ω ×(1ω ×cn))—連桿質(zhì)心的二次方項(xiàng),其可以通過(guò)連桿慣性張量在坐標(biāo)系間的平移變化進(jìn)行化簡(jiǎn)。
式(14)可以變化為如下的形式:
由公式(3)中慣性張量的轉(zhuǎn)化關(guān)系,可以對(duì)式(15)進(jìn)一步化簡(jiǎn),最終可以得到如下的關(guān)系:
式中:1I—連桿相對(duì)于自身坐標(biāo)系原點(diǎn)的慣性張量。
則連桿的慣性張量為:
連桿一的慣性張量 I1zz、I1xz、I1yz隨即可求得。至此,機(jī)器人各連桿的慣性張量、第2連桿至末端連桿的質(zhì)量與質(zhì)心坐標(biāo)以及機(jī)械臂系統(tǒng)整體的質(zhì)量與質(zhì)心坐標(biāo)均以得到辨識(shí),連桿一的質(zhì)量與質(zhì)心坐標(biāo)由式(4)可以直接求得。機(jī)械臂動(dòng)力學(xué)參數(shù)辨識(shí)方法的總體流程圖如圖2所示。
圖2 動(dòng)力學(xué)參數(shù)辨識(shí)方法流程圖
本研究利用Visual C++開(kāi)發(fā)環(huán)境,構(gòu)建機(jī)器人動(dòng)力學(xué)仿真系統(tǒng)的基本構(gòu)架,并基于OpenGL開(kāi)發(fā)六自由度機(jī)器人仿真模型。機(jī)器人各連桿的DH參數(shù)、動(dòng)力學(xué)參數(shù)如表1、表2所示。
表1 機(jī)器人D-H參數(shù)表
旋轉(zhuǎn)機(jī)器人各關(guān)節(jié)(θ1-6∈[- π,π]),設(shè)定機(jī)械臂多組構(gòu)型(實(shí)驗(yàn)中選取8組位姿)。機(jī)械臂各關(guān)節(jié)的角度如下所示(單位:°):
表2 機(jī)器人連桿名義動(dòng)力學(xué)參數(shù)
在動(dòng)態(tài)的辨識(shí)實(shí)驗(yàn)過(guò)程中,本研究首先規(guī)劃?rùn)C(jī)器人1~6關(guān)節(jié)運(yùn)動(dòng),機(jī)器人1~6關(guān)節(jié)的角速度如圖3所示。規(guī)劃時(shí)間20 s,初始關(guān)節(jié)角與終止關(guān)節(jié)角分別為(單位:°):
本研究隨機(jī)選取10個(gè)時(shí)刻作為采樣數(shù)據(jù)點(diǎn),各個(gè)關(guān)節(jié)的力矩曲線(xiàn)如圖4所示。采樣完畢后,將關(guān)節(jié)6鎖死,1~5關(guān)節(jié)按照同樣的方式運(yùn)動(dòng),并進(jìn)行關(guān)節(jié)力矩的數(shù)據(jù)提取。依次類(lèi)推,依次規(guī)劃?rùn)C(jī)器人1~n關(guān)節(jié)運(yùn)動(dòng),n+1至6關(guān)節(jié)鎖死。
辨識(shí)結(jié)果如表3所示,其中,連桿一的慣性張量的辨識(shí)值為相對(duì)于自身關(guān)節(jié)坐標(biāo)系。由于連桿一運(yùn)動(dòng)空間的局限性,I1xx、I1yy以及I1xy均為無(wú)法辨識(shí)的參數(shù)。連桿一在運(yùn)動(dòng)的過(guò)程中,其關(guān)節(jié)力矩與連桿質(zhì)量、質(zhì)心坐標(biāo)以及慣性張量 I1zz、I1xz、I1yz相關(guān)。I1xx、I1yy以及 I1xy的缺失不會(huì)對(duì)機(jī)械臂動(dòng)力學(xué)的建模及運(yùn)動(dòng)控制造成影響。
對(duì)連桿質(zhì)量、質(zhì)心坐標(biāo)以及慣性張量的誤差評(píng)判方式采用下式計(jì)算模型:
圖4 各關(guān)節(jié)驅(qū)動(dòng)力矩τ
式中:下標(biāo)id—辨識(shí)值,下標(biāo)re—名義值,Norm—求模函數(shù)。
表3 連桿動(dòng)力學(xué)參數(shù)辨識(shí)值
實(shí)驗(yàn)中的關(guān)節(jié)力、力矩均為理想值。機(jī)器人動(dòng)力學(xué)參數(shù)辨識(shí)誤差如表4所示。由表4可見(jiàn),辨識(shí)結(jié)果中連桿質(zhì)量與質(zhì)心坐標(biāo)的辨識(shí)誤差較小,辨識(shí)精度較為理想。由于辨識(shí)算法采用連桿由外向內(nèi)遞推的辨識(shí)思路,存在辨識(shí)誤差累積的情況。從連桿慣性張量的辨識(shí)結(jié)果中可以發(fā)現(xiàn)其辨識(shí)精度由外向內(nèi)總體呈遞減的趨勢(shì),所以在動(dòng)態(tài)的辨識(shí)過(guò)程中,末端連桿慣性張量的辨識(shí)精度尤為重要。在實(shí)驗(yàn)的過(guò)程中,研究者應(yīng)該盡可能選取多組時(shí)刻的數(shù)據(jù)來(lái)對(duì)末端連桿慣性參數(shù)進(jìn)行辨識(shí)與修正,在減小自身慣性參數(shù)辨識(shí)誤差的同時(shí),避免對(duì)后續(xù)連桿的辨識(shí)精度造成影響。
表4 機(jī)器人動(dòng)力學(xué)參數(shù)辨識(shí)誤差
本研究在已知機(jī)器人關(guān)節(jié)驅(qū)動(dòng)力矩及基座六維力的情況下,設(shè)計(jì)了一種機(jī)械臂動(dòng)力學(xué)參數(shù)的動(dòng)、靜態(tài)辨識(shí)方法。
本研究采用靜態(tài)與動(dòng)態(tài)的分步辨識(shí)思想,首先由靜態(tài)辨識(shí)得到機(jī)械臂質(zhì)量與質(zhì)心坐標(biāo)的乘積,為動(dòng)態(tài)辨識(shí)過(guò)程消去待辨識(shí)參數(shù)的二次方項(xiàng),降低辨識(shí)的復(fù)雜度,在辨識(shí)過(guò)程中,基座六維力/力矩傳感器為靜態(tài)測(cè)量,能夠有效降低六維力傳感器的動(dòng)態(tài)測(cè)量誤差;本研究的辨識(shí)算法除連桿一的3個(gè)慣性張量I1xx、I1yy、I1xy外,能夠較為精確地辨識(shí)出所有連桿的動(dòng)力學(xué)參數(shù)值,且連桿的動(dòng)力學(xué)參數(shù)辨識(shí)結(jié)果中包含機(jī)械臂關(guān)節(jié)特性,能夠反應(yīng)機(jī)器人實(shí)際工作中的慣性參數(shù)值。實(shí)驗(yàn)結(jié)果表明,各連桿動(dòng)力學(xué)參數(shù)的辨識(shí)結(jié)果具有比較高的精度。由于靜態(tài)辨識(shí)結(jié)果對(duì)動(dòng)態(tài)辨識(shí)的修正與補(bǔ)償,連桿的質(zhì)量與質(zhì)心坐標(biāo)在動(dòng)態(tài)辨識(shí)過(guò)程中不存在誤差累積的情況,其辨識(shí)精度相對(duì)較高,各連桿質(zhì)量的辨識(shí)誤差均小于1%,而各連桿的慣性張量在由外向內(nèi)遞推辨識(shí)過(guò)程中則存在誤差累積的問(wèn)題。在后續(xù)的研究工作中,需要針對(duì)這一情況設(shè)計(jì)連桿慣性張量的修正方法以獲得更為理想的辨識(shí)結(jié)果。
[1] ARMSTRONG B,KHATIB O,BURDICK J.The explicit dynamic model and inertial parameters of the PUMA560 arm[C]//In:IEEE International Conference on Robotics and Automation.Stamford,USA,1986:510-518.
[2] WU J,WANG J S,ZHENG Y.An overview of dynamic parameter identification of robots[J].Robotics and Computer-integrated Manufacturing,2010,26(5):414-419.
[3] CHAE H,CHRISTOPHER G,JOHN M.Estimation of inertial parameters of rigid body links of manipulators[C]//In:IEEE Conference on Decision and Control.Fort Lauderdale,USA,1985:990-995.
[4] HA I J,KO M S,KWON S K.An efficient estimation algorithm for the model parameters of robotic manipulators[J].IEEE Transactions on Robotics and Automation,1989,5(3):386-394.
[5]RADKHAH K,KULIC D,CROFT E.Dynamic parameter identification for the CRS A460 robot[C]//In:IEEE/RSJ International Conference on Intelligent Robots and Systems.San Diego,USA,2007:3842-3847.
[6] KHALIL W,GAUTIER M,LEMOINE P.Identification of the payload inertial parameters of industrial manipulators[C]//In:IEEE International Conference on Robotics and Automation.Roma,Italy,2007:4943-4948.
[7]SWEVERS J,VERDONCK W,DE S J.Dynamic model identification for industrial robots[J].IEEE Control Systems Magazine,2007,27(5):58-71.
[8] 熊有倫,丁 漢,劉思滄.機(jī)器人學(xué)[M].北京:機(jī)械工業(yè)出版社,1993:143-148.
[9] 孫昌國(guó),馬香峰,譚吉林.機(jī)器人操作器慣性參數(shù)的計(jì)算[J].機(jī)器人,1990,12(2):19-24.
[10] 陳偉強(qiáng),張 才,許亞敏.新型六自由度擬人并聯(lián)機(jī)械臂及其徑道分析[J].輕工機(jī)械,2012,30(2):6-8.
[11] 張 帝.空間機(jī)器人動(dòng)力學(xué)參數(shù)辨識(shí)及控制研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2012.
[12] 李保豐.六自由度空間機(jī)器人的工作空間分析與參數(shù)辨識(shí)[D].北京:北京郵電大學(xué)自動(dòng)化學(xué)院,2011.