陸萬榮,許江淳,王志偉,任 杰
(昆明理工大學信息工程與自動化學院,云南 昆明 650500)
目前,雙足機器人是人工智能領域的一大研究熱點。與傳統的輪式、履帶和爬行機器人相比,它對行走環境適應性好、能耗低、靈活性高,在醫療、教育、危險工業、航空航天和服務業等領域具有良好的應用前景和使用價值[1]。因此,國內外相關機構對雙足機器人相關特性展開了深入研究,如Goswami教授提出了Compass-like機器人模型,進行了數值仿真和動態分析[2];密歇根大學的Park等人實現了Rabbit機器人的動態行走等[3]。從1968年早稻田大學的WAP系列機器人到2006年WABIAN-2R機器人,再從美國的COG機器人到中國的BHR機器人,經過幾十年的發展,盡管取得了不錯的研究成果,但這一領域仍然有許多難以解決的問題,如穩定性、能耗和柔韌度等。
本文通過對機器人的穩定性和能耗尋優,建立多目標進化函數,實現機器人的穩定行走。以質心、步行周期、步行單元和步長等參數來描述雙足機器人的行走過程。在尋優過程中,利用改進的擴展遺傳算法(strength pareto evaluation algorithm,SPEA),從穩定性和能耗兩個方面進行計算,得到仿真需要的相關參數。在仿真過程中,與文獻[4]中的原始倒立擺規劃方案和文獻[5]中提到的遺傳算法優化方案進行比較,驗證了本文所述方案的有效性。
雙足機器人簡化多連桿模型如圖1所示。

圖1 雙足機器人簡化多連桿模型
D-H建模方法是在機器人每根連桿上都建立一個坐標系,以4×4的齊次變換矩陣表示相鄰連桿之間的坐標關系[6]。建立好坐標系后,則空間中的任意一點都可以用一個3×1的位置矢量來表示。位置矢量Ap在直角坐標系{A}中可以用3×1的列向量表示為:
Ap=[pxpypz]
(1)


(2)

(3)
(4)

正運動學是雙足機器人仿真的基礎,可以計算雙足機器人的重心,描述雙足機器人的空間姿態[7]。圖1中,將雙足機器人簡化為只考慮踝關節、膝關節和髖關節的12自由度機器人,相鄰自由度之間桿件視為均質的連桿,忽略連桿之間的摩擦力和間隙。每個連桿處的自由度均為獨立的從屬坐標系。
D-H模型參數見表1。

表1 D-H模型參數表
表1中:θi為垂直于關節i軸線的兩個公垂線的夾角,即連桿夾角;di為沿關節i軸線的兩個公垂線的距離,即連桿距離;ai-1兩關節軸線沿公垂線的距離,即連桿長度;αi-1為垂直于αi所在平面內兩關節軸線的夾角,即連桿扭角。
當連桿參數和坐標系確定后,依次左乘低一階的變換矩陣,就能得到坐標系{i}對于起始坐標系的變換矩陣:
(5)
則:
(6)
(7)

逆運動學則與正運動學相反,已知相對于基礎坐標系的位姿,根據連桿參數求各關節角度值[8]。在1.2節中已經把雙足機器人簡化為12自由度的連桿模型。根據機器人逆運動學理論,當自由度小于等于12時,逆運動學問題必有解且為點數值解。
本文計算逆解使用效率高、實時控制性好的封閉解法。求解思路是將位姿矩陣的逆矩陣按次序乘以正運動學方程,找出右端矩陣中的常數項與左端建立相等關系式,出現多解情況時,要根據實際情況合理選擇。在求解之前,假設雙足機器人身軀始終不傾斜,足底與地面水平接觸。由踝關節、膝關節和髖關節行走時自由度之間的關系和假設條件,支撐腿和擺動腿的數學模型如圖2所示。圖2中:θ1=-θ3;θ2=0;θ4+θ5+θ6=0。

圖2 支撐腿和擺動腿數學模型
建立等式:
(8)
將對應矩陣代入,就能得到如下關系式:
(9)
整理得:
pysinθ4
(10)

(11)
求得θ4后,根據下式求解θ5:
(12)
解得θ5=atan2(sinθ5,cosθ5),因此θ6=-(θ4+θ5)。
支撐腿的計算過程與上述方法一致,限于篇幅這里不再贅述,只給出結果:
(13)
雙足機器人是一個高階、強耦合、非線性的復雜系統。對于這樣一個復雜系統,可以先通過假設作一些簡化處理:①將機器人所有部件質量看作一個支點;②倒立擺運動只限定在垂直地面的平面上;③以落腳點為支點,可繞其轉動,連桿長度可調節[9-11]。
三維線性倒立擺(3D linear inverted pendulum,3D LIP)是目前雙足步行規劃中使用廣泛的模型。三維線性倒立擺如圖3所示。
機器人腳底在x、y、z所受力的分量為fx、fy、fz,所受力的力矩分量為τx、τy、τz。根據文獻[11]提出的原理,能量消耗在力矩較小時變小,τx、τy均為0,那么可以將該模型簡化為x軸、y軸方向兩個部分。其運動方程如下:
(14)
解微分方程得到質心關于時間的函數:
(15)
(16)
只要知道了質心在x、y方向的初始位置和速度,就可以完成整個周期的質心(COM)規劃。

圖3 三維線性倒立擺示意圖

①髖關節的最大角速度ω_max與任意時刻關節j的最大角速度滿足:
ωi(t)≤ωj_max
(17)
②質心到踝關節的長度與最大等效腿長滿足:
(18)
式中:pos_z(t)、p_l(t)、p_r(t)分別為質心和左右踝關節的位置;ld2為最大腿長l_max的平方與髖關節到質心的距離d的平方之和。
③步行步長和步寬由l_max和zc約束,滿足:
(19)
④設單步時間T內,髖關節轉過的角度為q,有:
ω_maxT≤q
(20)
本文將問題抽象為多目標函數優化問題,分別得到關于穩定性和能耗的目標函數。
①質心到支撐腿中心的距離是影響機器人行走穩定性的重要因素,越靠近支撐中心越穩定。因此,穩定性目標函數表示為:
(21)
式中:x2、y2分別為x、y方向任意時刻t支撐中心與質心位置差值的平方。
②將擺動腿擺動的高度作為能耗大小的重要指標,能耗目標函數表示為:

(22)
式中:z(t)為z軸方向擺動腿運動軌跡。
對以上目標函數的最優化問題,可以轉換為構造懲罰函數對約束條件hi(x)的最小化問題。設懲罰函數為:
p(x,M)=M∑imin [0,hi(x)]2
(23)
M為懲罰因子,將約束條件帶入目標函數,利用改進SPEA算法求解Pareto最優解集。設初始種群P的規模為N,存檔集Q和局部存檔集規模均為M。改進SPEA算法步驟如下。
①初始化種群P和存檔集Q、L。
②計算P、Q和L中所有個體的適應度。
③將Pt、Qt、LT中的非支配個體保存到Qt+1中,若其規模不為M,則調整其規模滿足分布要求。
④如果滿足設置的停止條件,則將Qt+1中的非支配個體返回;否則繼續。
⑤對Qt+1進行競標賽選擇。
⑥對Qt+1進行交叉、變異操作,并將結果保存至Pt+1,且更新Pt+1的部分個體,令t=t+1,繼續步驟②。
采用ADAMS和Matlab聯合仿真進行仿真測試,ADAMS中可以建立逼真的三維模型,并具有動力學和運動學特性。通過相關接口將參數特性傳遞給Matlab/Simulink。后者又可以對步態進行規劃,將規劃好的步態信息通過控制模塊再傳遞給ADAMS,從而建立起機器人的動態行走并且進行實時的性能分析評估。
雙足機器人的各部分參數取值來自175 cm成年人體型特征,按一定的比例縮小選取。繪制小腿、大腿、腳部和上體質量塊是需要通過邊緣剪切、過孔/打孔的方式繪制對應關節的轉動樣式。而關節繪制時,為了滿足步態規劃的準確性,需要注意轉動軸的個數;數量不同,繪制的復雜度就不一樣。踝關節前向、側向兩個轉動軸需要交于一點;髖關節前向、側向和豎直三個轉動軸也需要交于一點;而膝關節較為簡單,只有前向俯仰一個旋轉軸。建立好模型后,各部件之間仍然是相互獨立的,需要在部件與連桿之間建立聯系,在ADAMS中對不同部件添加約束,完成完整的建模過程。各部分和整體組合模型如圖4所示。

圖4 各部分和整體模型示意圖
動態行走3D觀測圖如圖5所示。

圖5 動態行走3D觀測圖


圖6 角速度變化圖
從圖6可以看出,雙足機器人側向搖擺具有整體性和一致性。踝關節和髖關節角度變化情況相同,呈周期性變化。
CM、CM1、CM2分別表示本文優化方案、遺傳算法優化方案和原始倒立擺方案左腿質心在前向、側向、和豎直方向三個方向速度的變化曲線。通過對比,遺傳算法方案前向速度變化范圍較大,原始倒立擺方案存在明顯突刺,而本文使用的方案變化情況較為折中。
左腿質心不同方向速度變化如圖7所示。

圖7 左腿質心不同方向速度變化圖
左腿質心前向加速度變化如圖8所示。從圖8可以看出,在擺動腿和支撐對互換時,加速度變化都比較明顯,但是CM1和CM2產生的突刺幅度較大,對質心加速度的影響更大。

圖8 左腿質心前向加速度變化圖
本文對雙足機器人的步態規劃進行了仿真研究。先在雙足機器人多連桿模型上進行D-H法正逆運動學建模。接著進行了步態優化設計,建立了以穩定性和能耗為目標的尋優函數,利用改進的SPEA算法解得最佳參數。最后利用得到的參數使用ADAMS/Matlab進行聯合仿真分析,與原始倒立擺規劃和遺傳優化方案作對比。由雙足機器人左腿質心在前向、側向和豎直方向的速度和加速度對比結果可知,本文提出的優化方案變化幅度最為平緩,穩定性效果最優,可以為機器人步態規劃方面的相關研究提供一定的參考。