張 巖
(中國科學院長春光學精密機械與物理研究所,吉林長春 130033)
精確的動力學模型是機器人控制及仿真的前提條件,而建立精確的動力學模型需要準確的機器人各連桿動力學參數。機器人在組裝完成后,一般無法得到真實機械臂的動力學參數,或只能根據機器人各個關節及連桿的個體參數來估算組裝后的參數值,顯然這種方法的辨識結果無法滿足實際的機器人控制精度要求[1-2]。對于機器人動力學參數辨識的研究,美國MIT人工智能實驗室的Chae H.An等人[3]根據牛頓歐拉動力學方程,采用嶺回歸的算法優化得到機器人的組合動力學參數,由于動力學方程中各參數的耦合性較強,該方法僅辨識出機械臂的組合動力學參數值。Kwon S K等人[4]設計了一種高效的機械臂動力學模型辨識算法,該方法在辨識效率上得到了顯著地提高,但辨識結果同樣出現文獻[3]中存在的問題。Katayon等人[5]通過機械臂動力學參數辨識模型的優化,在已知關節力矩的情況下辨識得到除連桿一以外的大部分動力學參數值,由于連桿一只存在繞關節一軸線的旋轉運動,該算法無法辨識連桿一的動力學參數。此外,對于機器人負載動力學參數的辨識,Gautier[6]與Swevers等人[7]根據機械臂的動力學特性并且借助關節力矩傳感器,分別設計了負載動力學參數的辨識算法,取得了一定的研究成果。
對于組裝完成后的機器人系統,機器人的各個關節一般會裝有關節力矩傳感器以及關節速度傳感器。本研究根據實際情況,在以上條件已知的情況下,設計一種機器人動力學參數的動、靜態混合辨識方法。在靜態辨識中采用基座六維力傳感器,通過變化機械臂的構型,首先辨識得到機器人各連桿的質量與質心坐標的乘積值;在動態辨識過程中,規劃關節按特定的組合方式運動,通過辨識算法計算各連桿的慣性張量以及質心坐標,繼而完成動力學參數的全辨識。最后,通過仿真實驗對辨識方法進行驗證,并對辨識精度進行分析。
參照機械臂模型圖如圖1所示,現對本研究中出現的符號定義如下:
cn為第n連桿質心;nPn+1為第n+1關節在n坐標系下的坐標為坐標系n到坐標系n+1的旋、、轉變換矩陣;θn為第n關節的關節角度、角速度、角加速度;nωn、nαn為第 n連桿在當前坐標系下的角速度、角加速度;nvn、nan為第n關節在當前坐標系下的線速度、線加速度;nfn、nnn為第n坐標系下n-1連桿作用在n連桿上的力及力矩;∑n代表第n關節坐標系;τn代表第n關節的驅動力矩;nZn代表第n坐標下Z向單位向量。

圖1 機械臂模型圖
對于機器人旋轉關節,各連桿的速度及角速度按如下的方式傳遞[8]:

機器人各連桿質心所受的力及力矩為:

其中:iaci=iai+iαi× ci+iωi× (iωi× ci)。
本研究所要辨識的動力學參數包括機械臂質量mi、質心坐標ci={cixciyciz}以及慣性張量Ici={IixxIiyyIizzIixyIixzIiyz}。各連桿動力學參數在坐標系間的轉化關系為[9]:

具有n個自由度的機器人,各連桿質量與質心坐標存在著如下的關系:

式中:M—機械臂總質量;C—機械臂系統的質心;i0R,ci(i=1,2…n)—各關節坐標系到基坐標系的旋轉變換矩陣以及各連桿的質心。
本研究將六維力傳感器安裝于機器人的第一關節與基座之間,則機械臂系統整體的質量與質心坐標可以通過六維力傳感器求得:

若基座所受的六維力為:{FxFyFzNxNyNz},則存在如下的關系:

取機器人的A組位姿(A≥n),每次變化構型時各關節應隨機轉動一定角度,以確保不出現線性相關的問題。現可以構造如下的矩陣方程:

其中:


則機器人各連桿的質量與質心坐標乘積的最小二乘解為:

由牛頓歐拉動力學方程可知,機器人各連桿的力及力矩按照如下的方式逆向遞推[10-12]:

對于末端連桿,由于不存在n+1fn+1及n+1nn+1,則末端連桿的力及力矩關系可簡化為如下的形式:

合并連桿的質量與質心坐標的乘積項,將其記為mcn,整理后可得:

將式(11)變換成矩陣方程的形式:

式中:K—連桿質心坐標的系數矩陣,K=[KxKyKz];H—慣性張量系數矩陣。
具體形式為:


由式(9)可知,機器人關節驅動力矩τ為關節力矩z方向分量。因此,本研究提取矩陣方程式(12)第3行,在機械臂運動時間內取B組數據(B≥9),采用偽逆法辨識得到末端連桿的動力學參數Φ和Γ:

本研究獲得末端連桿動力學參數辨識后,將末端連桿與次末端連桿整體作為待辨識的對象,辨識過程與上述方法相同,然后根據動力學參數的坐標系間轉換關系獲得次末端機械臂的動力學參數。以此依次遞推至第2連桿,完成機器人第2連桿至末端連桿的動力學參數的辨識。
由于機器人第1連桿為繞關節一軸線的旋轉運動,其只存在自身坐標系z向的速度以及加速度。考慮到連桿一運動的特殊性,需要對其動力學參數辨識的方法進行單獨的分析。
關節一在運動的過程中,考慮到上述的分析情況,連桿慣性張量中的3個參數I1xx、I1yy、I1xy的變化不會對關節一的力矩產生影響,因此連桿一的上述3個慣性張量均屬于無法辨識的動力學參數。令機器人關節一運動,其他關節鎖死,則根據牛頓歐拉動力學方程可知關節一的力矩表示如下:

式中:C×(1α ×C)與 C ×(1ω ×(1ω ×cn))—連桿質心的二次方項,其可以通過連桿慣性張量在坐標系間的平移變化進行化簡。
式(14)可以變化為如下的形式:

由公式(3)中慣性張量的轉化關系,可以對式(15)進一步化簡,最終可以得到如下的關系:

式中:1I—連桿相對于自身坐標系原點的慣性張量。
則連桿的慣性張量為:

連桿一的慣性張量 I1zz、I1xz、I1yz隨即可求得。至此,機器人各連桿的慣性張量、第2連桿至末端連桿的質量與質心坐標以及機械臂系統整體的質量與質心坐標均以得到辨識,連桿一的質量與質心坐標由式(4)可以直接求得。機械臂動力學參數辨識方法的總體流程圖如圖2所示。

圖2 動力學參數辨識方法流程圖
本研究利用Visual C++開發環境,構建機器人動力學仿真系統的基本構架,并基于OpenGL開發六自由度機器人仿真模型。機器人各連桿的DH參數、動力學參數如表1、表2所示。

表1 機器人D-H參數表
旋轉機器人各關節(θ1-6∈[- π,π]),設定機械臂多組構型(實驗中選取8組位姿)。機械臂各關節的角度如下所示(單位:°):


表2 機器人連桿名義動力學參數

在動態的辨識實驗過程中,本研究首先規劃機器人1~6關節運動,機器人1~6關節的角速度如圖3所示。規劃時間20 s,初始關節角與終止關節角分別為(單位:°):

本研究隨機選取10個時刻作為采樣數據點,各個關節的力矩曲線如圖4所示。采樣完畢后,將關節6鎖死,1~5關節按照同樣的方式運動,并進行關節力矩的數據提取。依次類推,依次規劃機器人1~n關節運動,n+1至6關節鎖死。
辨識結果如表3所示,其中,連桿一的慣性張量的辨識值為相對于自身關節坐標系。由于連桿一運動空間的局限性,I1xx、I1yy以及I1xy均為無法辨識的參數。連桿一在運動的過程中,其關節力矩與連桿質量、質心坐標以及慣性張量 I1zz、I1xz、I1yz相關。I1xx、I1yy以及 I1xy的缺失不會對機械臂動力學的建模及運動控制造成影響。
對連桿質量、質心坐標以及慣性張量的誤差評判方式采用下式計算模型:

圖4 各關節驅動力矩τ

式中:下標id—辨識值,下標re—名義值,Norm—求模函數。

表3 連桿動力學參數辨識值
實驗中的關節力、力矩均為理想值。機器人動力學參數辨識誤差如表4所示。由表4可見,辨識結果中連桿質量與質心坐標的辨識誤差較小,辨識精度較為理想。由于辨識算法采用連桿由外向內遞推的辨識思路,存在辨識誤差累積的情況。從連桿慣性張量的辨識結果中可以發現其辨識精度由外向內總體呈遞減的趨勢,所以在動態的辨識過程中,末端連桿慣性張量的辨識精度尤為重要。在實驗的過程中,研究者應該盡可能選取多組時刻的數據來對末端連桿慣性參數進行辨識與修正,在減小自身慣性參數辨識誤差的同時,避免對后續連桿的辨識精度造成影響。

表4 機器人動力學參數辨識誤差
本研究在已知機器人關節驅動力矩及基座六維力的情況下,設計了一種機械臂動力學參數的動、靜態辨識方法。
本研究采用靜態與動態的分步辨識思想,首先由靜態辨識得到機械臂質量與質心坐標的乘積,為動態辨識過程消去待辨識參數的二次方項,降低辨識的復雜度,在辨識過程中,基座六維力/力矩傳感器為靜態測量,能夠有效降低六維力傳感器的動態測量誤差;本研究的辨識算法除連桿一的3個慣性張量I1xx、I1yy、I1xy外,能夠較為精確地辨識出所有連桿的動力學參數值,且連桿的動力學參數辨識結果中包含機械臂關節特性,能夠反應機器人實際工作中的慣性參數值。實驗結果表明,各連桿動力學參數的辨識結果具有比較高的精度。由于靜態辨識結果對動態辨識的修正與補償,連桿的質量與質心坐標在動態辨識過程中不存在誤差累積的情況,其辨識精度相對較高,各連桿質量的辨識誤差均小于1%,而各連桿的慣性張量在由外向內遞推辨識過程中則存在誤差累積的問題。在后續的研究工作中,需要針對這一情況設計連桿慣性張量的修正方法以獲得更為理想的辨識結果。
[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] 熊有倫,丁 漢,劉思滄.機器人學[M].北京:機械工業出版社,1993:143-148.
[9] 孫昌國,馬香峰,譚吉林.機器人操作器慣性參數的計算[J].機器人,1990,12(2):19-24.
[10] 陳偉強,張 才,許亞敏.新型六自由度擬人并聯機械臂及其徑道分析[J].輕工機械,2012,30(2):6-8.
[11] 張 帝.空間機器人動力學參數辨識及控制研究[D].哈爾濱:哈爾濱工業大學,2012.
[12] 李保豐.六自由度空間機器人的工作空間分析與參數辨識[D].北京:北京郵電大學自動化學院,2011.