劉 宇,李瑰賢,夏 丹,徐文福
(1.哈爾濱工業(yè)大學基礎(chǔ)與交叉科學研究院,哈爾濱150001,lyu11@hit.edu.cn;2.哈爾濱工業(yè)大學機器人技術(shù)與系統(tǒng)國家重點實驗室,哈爾濱150001;3.哈爾濱工業(yè)大學機電工程學院,哈爾濱150001)
空間機器人名義動力學參數(shù)通常偏離其實際的動力學參數(shù),而其運動規(guī)劃所用的廣義雅克比矩陣包含動力學參數(shù),這意味著動力學參數(shù)的誤差將導致其末端位姿軌跡的誤差,從而影響了空間機器人在軌執(zhí)行任務(wù)的能力.因此,有必要尋求一種經(jīng)濟可行的方法實現(xiàn)對空間機器人動力學參數(shù)的在軌辨識.與地面機器人相比,空間機器人的基座是漂浮的,相當于增加了6個自由度.由于空間微重力環(huán)境的影響,針對地面機器人的重力平衡辨識方法無法使用,而目前用于空間機器人基座與關(guān)節(jié)的加速度和驅(qū)動力/力矩傳感器信噪比較低,這些因素均使空間機器人的動力學參數(shù)辨識遇到困難.V.A.Sujan和S.Dubowsky[1]提出了基于交互信息的可觀測性指標,用于產(chǎn)生最優(yōu)外部激勵.該方法假定系統(tǒng)裝配有加速度計、傾角計以及六維力/力矩傳感器,通過測量機械臂運動對基座作用的力/力矩,采用Kalman濾波器進行在線的動力學參數(shù)辨識.R.Lampariello和 G. Hirzinger[2]則對動力學方程重新組織(經(jīng)運動分解去除軌道部分的影響后,得到新的狀態(tài)空間,其矢量為在軌道坐標系下的表示),將相對于慣性系的矢量(特別是平移運動矢量)在局部坐標系中進行表示,以解決實際中不能直接得到相對于慣性系測量的問題,但辨識中需要基座的加速度、關(guān)節(jié)力矩以及關(guān)節(jié)加速度的測量數(shù)據(jù).Y.Gu和Y.Xu[3]討論了基座姿態(tài)受控情況下的動力學參數(shù)辨識問題,將動力學方程在關(guān)節(jié)空間進行了參數(shù)線性化表示.Y.Xu[4]等提出了“擴展機器人”(extended robot)的概念,將空間機器人系統(tǒng)的動力學方程在笛卡爾空間進行參數(shù)線性化表示.Y. Murotsu[5]等研究了空間機器人捕獲未知目標后載荷動力學參數(shù)的辨識問題,提出了兩種辨識方法,分別用到了基座線速度、線加速度測量以及關(guān)節(jié)力/力矩傳感器的測量.R.Katoh等[6]也研究了目標捕獲載荷后的參數(shù)辨識及控制問題.Satoko Abiko和Kazuya Yoshida[7]研究了柔性空間機械臂捕獲目標后的動力學參數(shù)辨識問題,同時,借助重力梯度力矩還辨識了ETS-VII上各桿件的質(zhì)量、慣量以及質(zhì)心位置[8].該方法用到了ETSVII的飛行數(shù)據(jù),但其不能辨識各桿質(zhì)心位置,而是假定其已知,這使得辨識精度不甚理想.R. Lampariello[9]等根據(jù)德國GETEX(德國在ETSVII)所做的動力學實驗的經(jīng)驗,提出了基于加速度計的參數(shù)辨識方法,并針對3個辨識問題(基座慣性參數(shù)的辨識、載荷慣性參數(shù)的辨識以及整個空間機器人系統(tǒng)慣性參數(shù)的辨識),研究了相應(yīng)的動力學建模和實驗設(shè)計.國內(nèi)在這方面的研究較少,哈工大何光彩等[10]采用神經(jīng)網(wǎng)絡(luò)的方法,辨識基座和捕獲載荷的質(zhì)量,但對于動力學參數(shù)的辨識,沒有太多的研究.
本文利用基于改進的遺傳算法對空間六關(guān)節(jié)機器人的動力學參數(shù)進行辨識,并給出仿真結(jié)果.
空間機器人系統(tǒng)由衛(wèi)星本體和機械臂組成,如圖1所示.建立系統(tǒng)運動學模型時,需作如下假設(shè):
1)連接機械臂各構(gòu)件的關(guān)節(jié)均為轉(zhuǎn)動關(guān)節(jié),具有一個旋轉(zhuǎn)自由度,沒有其他機械約束作用.
2)忽略重力梯度力矩及其他環(huán)境力矩影響,系統(tǒng)相對軌道坐標系的運動可以認為無外力和外力矩作用,系統(tǒng)的線動量和角動量守恒.
圖1 空間機器人的一般模型
圖1是具有單一機械臂的自由漂浮空間機器人的一般模型,它由n個關(guān)節(jié)的機械臂和作為基座的衛(wèi)星本體組成.剛體0代表衛(wèi)星本體,剛體i代表機械臂的第i個連桿,從本體往上編號依次為1~n.Ci表示第i個連桿的質(zhì)心;連桿i-1和連桿i通過關(guān)節(jié)i連接.采用D-H規(guī)則建立各連桿的坐標系,用Σi表示第i個連桿坐標系,Oi表示其原點(其中O0為衛(wèi)星本體的質(zhì)心);Og為整個系統(tǒng)的質(zhì)心;ΣI為慣性系.
為方便討論,各符號定義如下(注:ix為矢量x在坐標系Σi中的表示,如不特別注明,均為在慣性坐標系中的表示):
Θ =[θ1,θ2,…,θn]T∈Rn為機械臂關(guān)節(jié)角向量;ri∈R3為連桿i的質(zhì)心位置矢量,rg∈R3為整個系統(tǒng)質(zhì)心的位置矢量;pi∈R3為坐標系Σi原點的位置矢量;ai∈R3為矢量;bi∈R3為矢量;li為矢量;v0∈R3為衛(wèi)星本體質(zhì)心處的絕對線速度(=˙r0);ω0∈R3為衛(wèi)星本體的絕對角速度;vi∈R3為連桿i質(zhì)心處的絕對線速度(=˙ri);ωi∈R3為連桿i的絕對角速度; mi為連桿i的質(zhì)量;M為整個系統(tǒng)的總質(zhì)量,Ii∈R3×3為連桿i的慣性張量.
再定義如下的操作數(shù):如果r=[x,y,z]T,則
如圖1所示,坐標系Σi原點的位置矢量如下:
各連桿質(zhì)心的位置矢量
將慣性參考系選在系統(tǒng)質(zhì)心rg=[0,0,0]T,由,可以求出r0:
各桿件質(zhì)心處的速度在慣性系中的表示:
另一方面,各剛體質(zhì)心及末端的角速度可表示為
假設(shè)整個系統(tǒng)不受外力和外力矩,則系統(tǒng)的角動量守恒.設(shè)L表示系統(tǒng)角動量(相對于慣性坐標系),則
將式(1)和式(2)代入式(3),可得
式中:
如前所述,慣性參考系選在系統(tǒng)質(zhì)心,式(4)可簡化為
一般情況下,空間機器人系統(tǒng)安裝了用于基座姿態(tài)控制的反作用力飛輪,因此,還需要在式(3)中加入飛輪的角動量LRW.這樣,式(5)可以重新修正如下:
一般地,空間機器人動力學在軌參數(shù)包括基座質(zhì)量、質(zhì)心位置、慣性矩、慣性積以及機械臂各個連桿質(zhì)量、質(zhì)心位置、慣性矩、慣性積.需辨識的動力學在軌參數(shù)數(shù)目為k=10(n+1),n為機器人的關(guān)節(jié)數(shù),用矢量q表示
式中:
根據(jù)式(7),對于一個六關(guān)節(jié)空間機器人,其待辨識動力學參數(shù)達70個.在本文中,為了簡化辨識模型,僅取動力學參數(shù)中影響較大的質(zhì)量和慣性矩進行辨識,這樣,辨識參數(shù)減少到28個,即:
式中:
Iw和Iφ包括了未知的待辨識的動力學在軌參數(shù)q.由方程(6),LRW可以表達為q的函數(shù),即
假設(shè)LRW是實際測量而來的,~LRW是基于當前衛(wèi)星本體的角速度ω0、關(guān)節(jié)角速度 ˙Θ和名義動力學在軌參數(shù)q估計而來.名義動力學參數(shù)與真實動力學參數(shù)之間的誤差Δq導致反作用飛輪的測量值與估計值存在誤差ΔLRW,可表示如下:
ΔLRW=LRW-~LRW=f(q+Δq)-f(q).
將傳統(tǒng)的遺傳算法應(yīng)用于六關(guān)節(jié)的參數(shù)辨識,發(fā)現(xiàn)辨識結(jié)果容易出現(xiàn)“早熟現(xiàn)象”,不能保證辨識結(jié)果收斂到最優(yōu).但由于遺傳算法處理的群體是有限的,因而存在隨機過程,使群體中個體的多樣性過早地丟失,從而使算法陷入局部最優(yōu)點.
本文從初始群體的生成、精英個體的保留以及大變異操作等方面對傳統(tǒng)的遺傳算法進行了改進,能有效地克服早熟現(xiàn)象,明顯提高收斂速度,并具有優(yōu)良的自適應(yīng)特性.
1)小區(qū)間生成
即依據(jù)待辨識參數(shù)的取值范圍,將其約束為確定的小區(qū)間,再在各小區(qū)間內(nèi)隨機生成各個參數(shù),組成種群內(nèi)的個體.這樣可根據(jù)已知的實際情況,保證所選擇的個體在可行域內(nèi),減小了不必要的搜索,提高了搜索效率.
2)大變異操作
當辨識結(jié)果出現(xiàn)局部收斂時,可采用大變異操作來解決這個問題,即當某一代中所有個體集中在一起時,就以一個遠大于通常變異概率的概率執(zhí)行一次變異操作,從而跳出局部最優(yōu),避免早熟[11],但大變異是以犧牲收斂速度為代價的.
3)精英保留策略
大變異操作改變了收斂進程,增大了搜索的隨機性,有可能破壞當前群體中適應(yīng)度最好的個體,影響遺傳算法的運行效率.為了加快優(yōu)化速度,本文采用了精英保留策略,在父代個體中選擇一個適應(yīng)度最高的個體作為精英,與進化后子代適應(yīng)度最高的個體相比較,如果前者大于后者,則用前者取代子代中最差的個體;反之,后者取代前者成為精英.
在本文中,遺傳算法的最佳適應(yīng)度函數(shù)作如下表示:
式中:i為第i次采樣.
即該問題的優(yōu)化目標是使反作用飛輪的實際角動量與根據(jù)參數(shù)當前值估算得出的角動量之差的平方和最小.
利用改進后的遺傳算法對動力學參數(shù)辨識的過程如下:
1)種群內(nèi)個體(染色體)選擇為q,采用浮點數(shù)的形式對這些參數(shù)進行編碼(浮點數(shù)編碼比二進制編碼及其他編碼的計算效率和精度高);
2)定義各個動力學參數(shù)的小區(qū)間;
3)設(shè)定遺傳算法的相關(guān)參數(shù),如種群大小np,優(yōu)化的最大代數(shù)nm,交叉概率pc,變異的概率pm,大變異的概率pmax和密集因子α等.這里,優(yōu)化的代數(shù)ng連同適應(yīng)度函數(shù)的容許精度etol共同控制遺傳算法的結(jié)束;
4)令ng=1,在第2步所定義的小區(qū)間約束下,隨機產(chǎn)生一個初始種群,其有np個個體;
5)計算每個個體的適應(yīng)度函數(shù)值,且評價最佳個體的適應(yīng)度函數(shù)值是否滿足收斂精度的條件,如果滿足則轉(zhuǎn)到第13步,否則,繼續(xù)下一步;
6)取適應(yīng)度最高(適應(yīng)度函數(shù)值最小)的個體作為精英;
7)基于每個個體的適應(yīng)度值,分配其選擇概率,從而完成子代的選擇;
8)隨機產(chǎn)生相配對個體和交叉點的位置,經(jīng)交叉得到新個體;
9)將交叉后子代的最大適應(yīng)度fmax與平均適應(yīng)度favg比較,如果αfmax<favg,則按大變異概率pmax對交叉后得到的個體進行變異操作得到新個體,否則用pm完成變異操作.
10)將所選擇的精英與子代適應(yīng)度值最高的個體相比較,如果前者大于后者,則用前者取代子代中最差的個體.
11)以新產(chǎn)生子代個體取代當前父代的個體,從而構(gòu)成下一代;
12)令ng=ng+1,如果ng>nm,則轉(zhuǎn)到第13步,否則,轉(zhuǎn)到第5步;
13)獲得最佳適應(yīng)度的個體,經(jīng)解碼得到需要的動力學參數(shù).
本文所研究的空間機器人系統(tǒng)如圖2所示,由一飛行基座和6-DOF機械臂組成.
圖2 空間機器人系統(tǒng)
其剛體固連坐標系如圖3所示(圖中所示為機械臂展開的情況,定義為關(guān)節(jié)處于零位的狀態(tài)),Zi為關(guān)節(jié)Ji的旋轉(zhuǎn)方向.預先設(shè)定的名義動力學參數(shù)如表1所示,所設(shè)置的真實的動力學參數(shù)如表2所示.
表1 名義動力學參數(shù)
表2 真實動力學參數(shù)
圖3 六關(guān)節(jié)空間機器人的構(gòu)型
最后,作為約束條件,對動力學參數(shù)的辨識精度提出要求:參數(shù)誤差百分比控制在10%.
本文采用機械臂各關(guān)節(jié)分別單獨激勵的方法來完成對飛輪角動量的估算,規(guī)劃方法均采用三次多項式插值法.所規(guī)劃關(guān)節(jié)的輸入條件如下:
1)驅(qū)動關(guān)節(jié)i(i=1~6),其他關(guān)節(jié)經(jīng)抱閘鎖緊,作為一個剛體繞該驅(qū)動關(guān)節(jié)旋轉(zhuǎn);
2)驅(qū)動關(guān)節(jié)初始角和角速度θ0=˙θ0=0;
3)驅(qū)動關(guān)節(jié)末端角和角速度θf=θ,˙θf=0;
4)規(guī)劃時間為10 s,采樣時間為0.5 s.
取θ=π/6,則驅(qū)動關(guān)節(jié)的軌跡規(guī)劃曲線如圖4所示.
利用改進遺傳算法,經(jīng)仿真所獲得的動力學參數(shù)辨識結(jié)果如表3所示;優(yōu)化進程的適應(yīng)度函數(shù)變化曲線如圖5所示.由圖5可知,僅經(jīng)過600代,通過對28個待辨識動力學參數(shù)的調(diào)整,所優(yōu)化的最佳適應(yīng)度函數(shù)值達到0.013 7,取得了滿意的優(yōu)化效率和優(yōu)化結(jié)果.在辨識中,如果平均適應(yīng)度函數(shù)值與最佳適應(yīng)度函數(shù)值較接近,則采取大變異操作,增大個體之間的差異,加快優(yōu)化的進程;反之,如果平均適應(yīng)度函數(shù)值與最佳適應(yīng)度函數(shù)值差異較大,則采用通常的變異概率pm,保證由優(yōu)化的穩(wěn)定性.圖5可看出,經(jīng)過改進的遺傳算法表現(xiàn)穩(wěn)定,最佳適應(yīng)度函數(shù)值隨著代數(shù)的增加逐漸遞減,而且趨勢相比一般遺傳算法較陡峭,證明其優(yōu)化能力增強.如果最大遺傳代數(shù)加大,則優(yōu)化會繼續(xù)進行,評價函數(shù)將進一步被優(yōu)化,所辨識參數(shù)會更接近真實值.
圖4 驅(qū)動關(guān)節(jié)規(guī)劃曲線
根據(jù)表3,所辨識動力學參數(shù)的最大百分比誤差(相對于真實動力學參數(shù))為7.33%,最小百分比誤差為0.006 52%,差別較大.總體而言,對飛輪角動量影響大的動力學參數(shù)辨識效果要好一些,影響弱的要差一些.然而,所辨識的參數(shù)均滿足所提出的辨識精度要求,證明了上述算法具有強大的優(yōu)化能力.
表3 改進遺傳算法辨識參數(shù)的誤差百分比
圖5 適應(yīng)度函數(shù)變化曲線
1)本文基于空間機器人角動量守恒方程,通過六自由度機械臂的關(guān)節(jié)軌跡激勵,計算名義動力學參數(shù)估算的飛輪角動量與實測角動量(在仿真中通過真實動力學參數(shù)計算)的差異,建立了遺傳算法的適應(yīng)度函數(shù).
2)針對常規(guī)遺傳算法容易出現(xiàn)“早熟”問題,本文采用小區(qū)間生成,大變異操作以及精英保留策略對其進行了改進.
3)仿真結(jié)果表明改進后的遺傳算法能夠有效避免局部收斂現(xiàn)象的發(fā)生,增加了動力學參數(shù)辨識的優(yōu)化效率,取得了良好的辨識效果.
[1]SUJAN V A,DUBOWSKY S.An optimal information method for mobile manipulator dynamic parameter identification[J].IEEE/ASME Transactions on Mechatronics,2003,2(2):215-225.
[2]LAMPARIELLO R,HIRZINGER G.Free-flying robots-inertial parameters identification and control strategies[C]//ESA Workshop on Advanced Space Technologies for Robotics and Automation(ASTRA 2000). Noordwijk,Netherland:[s n],2000:1-8.
[3]GU Y,XU Y.A normal form augmentation approach to adaptive control of space robot systems[C]//Proceedings of the IEEE International Conference on Robotics and Automation.Atlanta,USA:[s n],1993:731-737.
[4]XU Y,SHUM H,LEE J,et al.Space Robotics:Dynamics and control[M].Deventer,Netherland:Kluwer Academic Publishings,1993:51-58.
[5]MUROTSU Y,SENDA K,OZAKI M.Parameter identification of unknown object handled by free-flying space robot[J].Journal of Guidance,Control and Dynamics,1994,17(3):488-494.
[6]KATOH R,SAKON H,YAMAMOTO T.A control method for space manipulator mounted on a free-flying robot by using parameter identification[C]//Proceedings of the Asian-Pacific Vibration.Kitakyushu,Japan:[s n],1993:1205-1209.
[7]ABIKO S,YOSHIDA K.On-line parameter identification of a payload handled by flexible based manipulator[C]//Proceedings of 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems.Sendai,Japan:[s n],2004:2930-2935.
[8]YOSHIDA K,ABIKO S.Inertial parameter identification for a free-flying space robot[C]//Guidance,Navigation,and Control Conference and Exhibit.Monterey,USA:[s n],2002:1-8.
[9]LAMPARIELLO R,HIRZINGER G.Modeling and experimental design for the on-orbit inertial parameter identification of free-flying space robots[C]//2005 International Design Engineering Technical Conference and Computers and Information in Engineering Conference.Long Beach,USA:[s n],2005:1-10.
[10]何光彩,洪炳镕,郭恒業(yè).基于參數(shù)辨識的冗余自由飛行空間機器人多臂協(xié)調(diào)運動規(guī)劃[J].宇航學報,2000,21(1):85-89.
[11]呂佳.大變異遺傳算法在非線形系統(tǒng)參數(shù)估計中的應(yīng)用[J].重慶師范大學學報,2004,21(4):13-16.