胡運(yùn)富,朱延河,吳曉光,趙 杰
(哈爾濱工業(yè)大學(xué) 機(jī)器人研究所,哈爾濱150001,huyunfu134@yahoo.com.cn)
傳統(tǒng)雙足機(jī)器人的研究主要是基于ZMP 穩(wěn)定判據(jù)和工業(yè)機(jī)器人軌跡跟蹤的控制方法[1].這些機(jī)器人依賴于大力矩,高增益反饋的驅(qū)動系統(tǒng)以及上層的軌跡規(guī)劃和姿態(tài)平衡控制.復(fù)雜的控制和驅(qū)動系統(tǒng)以及過高的能量消耗限制了此類機(jī)器人的實(shí)用化.相對于傳統(tǒng)機(jī)器人而言,被動步行機(jī)器人以其結(jié)構(gòu)和控制簡單,步態(tài)自然,節(jié)能和在非結(jié)構(gòu)化環(huán)境中具有更好的移動能力等特點(diǎn)引起廣大學(xué)者的極大關(guān)注[2].
Mochon 和McMahon 研究僅依靠重力下坡的機(jī)器人[3],指出人類在行走過程中,部分依靠了重力來驅(qū)動擺動腿運(yùn)動,這與雙擺很相似.在1989 年,McGeer 發(fā)現(xiàn)[4-5]:完全不用驅(qū)動和控制的機(jī)器人也能實(shí)現(xiàn)穩(wěn)定的步行運(yùn)動,進(jìn)而提出了“被動動力步行”概念.在此之后,許多人開始對被動機(jī)器人進(jìn)行了研究,Garcia[6],Collins[7]等還對機(jī)器人行走的參數(shù)匹配問題進(jìn)行了研究.近年來美國Cornell 大學(xué)[8],MIT[9]和荷蘭的Delft 大學(xué)[10]在被動機(jī)器人研究方面成績突出[11].被動機(jī)器人具有自然的步態(tài)和類似于人類步行的能量效率,通過研究被動步行可以更好地挖掘人類步行的本質(zhì).然而,被動機(jī)器人理論研究尚不成熟,理論模型與實(shí)際樣機(jī)差異大,且所有的分析只能建立在機(jī)器人能成功行走的基礎(chǔ)上.
本文以此為出發(fā)點(diǎn),從被動機(jī)器人模型的建立、仿真過程和運(yùn)動特點(diǎn),都給出了詳細(xì)的闡述;利用數(shù)值仿真的結(jié)論,在Adams 中對實(shí)際樣機(jī)模型進(jìn)行驗(yàn)證,給出了從機(jī)器人建模到能行走的全過程分析;這將有助于快速理解被動機(jī)器人運(yùn)動的本質(zhì),為進(jìn)一步深入研究被動機(jī)器人打下基礎(chǔ).
建立的最簡單的被動行走機(jī)器人模型如圖1,由兩個剛性的直腿并通過一個被動鉸鏈聯(lián)結(jié).該模型中的兩個直腿具有完全相同的質(zhì)量和幾何參數(shù),不同于以往研究的點(diǎn)足模型(點(diǎn)足模型與實(shí)際機(jī)器人差異很大),該模型每條腿的質(zhì)量都是均勻分布的,大小為m,其相對質(zhì)心的轉(zhuǎn)動慣量均為J;腿長均為l;質(zhì)心距離髖關(guān)節(jié)的距離為c;考慮到運(yùn)動的穩(wěn)定性,采用圓弧足,半徑為r.
圖1 簡單被動行走模型
為使仿真可行,作如下假設(shè):
1)腿是剛性的,沒有彈性變形且髖關(guān)節(jié)為無阻尼無摩擦;
2)將足與地面的碰撞理想化,認(rèn)為圓弧足不發(fā)生變形和滑動,且碰撞是瞬時(shí)的,完全非彈性碰撞,無打滑和彈起現(xiàn)象;
3)認(rèn)為地面是剛性的、平坦的,且有小角度的斜坡.
給定初始條件,該簡單被動動力模型在重力和自身的慣性作用下,可沿小坡度的斜面穩(wěn)定地向下行走.其每一步運(yùn)動過程可分為如下兩部分:
1)當(dāng)擺動腿離開地面時(shí),支撐腿繞支撐足做倒立擺運(yùn)動(支撐足與地面是純滾動),而擺動腿則繞髖關(guān)節(jié)做單擺運(yùn)動,準(zhǔn)確的描述是該擺動腿繞沿著弧線軌跡運(yùn)動的支點(diǎn)做單擺運(yùn)動.此過程為連續(xù)運(yùn)動階段.顯然該過程中只有重力做功,故其總的機(jī)械能是守恒的.
為使所建立的動力學(xué)方程適用性更廣,將方程無量綱化:令KJ=J/ml2,Kr=r/l,KC=c/l,且將時(shí)間無量綱化為;由拉格朗日方程推導(dǎo)該階段的動力學(xué)方程,可得
其中:
2)當(dāng)擺動腿與地面碰撞后,擺動腿和支撐腿角色互換,同時(shí)碰撞是瞬時(shí)的,完全非彈性(擺動足與地面無滑動),故在碰撞前后,兩腿角速度發(fā)生變化,而兩腿角度不變,系統(tǒng)滿足角動量守恒.現(xiàn)可基于角動量守恒方程,描述碰撞過程:設(shè)碰撞瞬間前后分別用上角標(biāo)“-”和“+”表示,系統(tǒng)角動量用L 表示.
對于碰撞點(diǎn)B 和髖關(guān)節(jié)H 角動量守恒:
由前述分析知:
該無膝被動模型的擺動方程和碰撞方程構(gòu)成了一個完整步態(tài)周期的動力學(xué)模型,為后續(xù)的仿真和穩(wěn)定性分析打下基礎(chǔ).
只要設(shè)計(jì)的模型參數(shù)合理,并且所給的初始條件恰當(dāng),該模型就能形成穩(wěn)定的行走步態(tài).現(xiàn)通過具體例子說明Matlab 仿真的過程.如設(shè)計(jì)的模型幾何參數(shù)如表1.
表1 每條腿的參數(shù)
非線性系統(tǒng)對初值極其敏感,且能控制的只是其初始條件,其以后的運(yùn)動是可預(yù)知的被動運(yùn)動.以機(jī)器人兩腳同時(shí)著地且碰撞發(fā)生后的瞬間為初始狀態(tài).被動動力行走機(jī)器人對初始狀態(tài)有嚴(yán)格的要求,它應(yīng)該滿足這樣的條件:機(jī)器人擺動腿的初始傾角及角速度在完成一個完整步態(tài)周期后,應(yīng)具有與其上一步相同或相近的傾角和速度,從而可以實(shí)現(xiàn)周期性的行走運(yùn)動.其初始狀態(tài)可由3 個獨(dú)立的參數(shù)來表示,即
對機(jī)器人每個完整步態(tài)包括2 次碰撞.機(jī)器人穩(wěn)定行走時(shí),在一個周期中重力所做的功ΔEP應(yīng)等于這兩次碰撞造成動能的損失ΔEP.
其中λ 為步長.
通常采用迭代的方法尋找能使被動行走機(jī)器人穩(wěn)定行走的初值,但是迭代初值的選取帶有隨機(jī)性,合適的迭代初值很難選取.若選取不好則迭代難于收斂,無法獲得仿真初值.對于該被動行走模型的動力學(xué)方程,通過能量分析的方法,利用方程(3)尋找迭代初值范圍.在該范圍取φ01=(0.133 61,-1.390 00,-1.310 00).在Matlab 中作出仿真曲線,如圖2 所示.
圖2 中反映了該模型運(yùn)動前15 步的曲線變化,實(shí)線和虛線分別對應(yīng)圖1 中的腿1 和腿2.可看出該模型在經(jīng)過前幾步調(diào)整后,運(yùn)動逐漸穩(wěn)定.上圖中的小圓圈“o”分別表示雙足同時(shí)著地時(shí)各腿所對應(yīng)的角度和角速度.
從圖2(a)中可看出擺動腿的角位移變化幅度大,而支撐腿的角位移變化幅度小,雙腿重合時(shí)角位移大于零,這說明雙腿在所行走的斜面垂直位置左側(cè)重合.對于擺動腿在一個周期內(nèi)的角度變化曲線可以看出:擺動腿離地時(shí)首先有個反向回?cái)[的過程,然后向前擺動,最后回落與地面碰撞.
從圖2(b)中可看出支撐腿的角速度時(shí)刻小于擺動腿的角速度.擺動腿的角速度變化范圍比較大,從負(fù)值到正值,再減小到負(fù)值;而支撐腿的角速度始終為負(fù)值,這說明支撐腿是始終向前運(yùn)動的.碰撞時(shí)兩腿速度的絕對值同時(shí)減小,故此刻機(jī)器人動能是減小的.
圖2 雙腿運(yùn)動狀態(tài)隨時(shí)間的變化曲線
圖3(a)反映了該被動模型在所給的初始條件下,腿1 隨時(shí)間變化的相圖,每個線圈對應(yīng)一個完整步態(tài),該圖中體現(xiàn)了模型運(yùn)動的兩個階段:A點(diǎn)為初始狀態(tài),從A 到B 階段為腿1 是支撐腿階段;在B 點(diǎn)擺動腿(腿2)與地面碰撞造成支撐腿(腿1)角速度突變(絕對值變小),同時(shí)支撐腿和擺動腿角色互換,故從B 到A 腿1 為擺動腿階段,在A 點(diǎn)腿1 與地面碰撞其角速度突變(絕對值變小),此時(shí)兩腿角色再次互換.從圖中還可看出腿1 作為支撐腿時(shí)因擺動腿與地碰撞造成的速度損失要大于其自身作為擺動腿時(shí)與地面碰撞造成的速度損失.經(jīng)過前2 圈的調(diào)整后,腿1 的狀態(tài)隨時(shí)間變化,收斂到同一個線圈中,這是后面要說的“極限環(huán)”,它反應(yīng)了該機(jī)器人的行走能呈現(xiàn)穩(wěn)定步態(tài).
圖3 腿1 的相圖
當(dāng)經(jīng)過幾個步態(tài)后,如果機(jī)器人的運(yùn)動在其對應(yīng)的相圖中重復(fù)在一個環(huán)線上運(yùn)動時(shí),該機(jī)器人的運(yùn)動就是穩(wěn)定的,該環(huán)線即為“極限環(huán)”.該環(huán)線上所對應(yīng)的起始點(diǎn)為“不動點(diǎn)”;如果所給的初始條件偏離不動點(diǎn)在一個小的范圍內(nèi),那么經(jīng)過若干步后,機(jī)器人的運(yùn)動相圖軌跡會回到“極限環(huán)”上,形成穩(wěn)定步態(tài).那么多小的范圍能保證運(yùn)動收斂到極限環(huán)?這就需要求該不動點(diǎn)的吸引盆,這不在本文討論范圍內(nèi).
現(xiàn)考慮如何求不動點(diǎn).假設(shè)“相空間”中的不動點(diǎn)為φfP,由于系統(tǒng)強(qiáng)的非線性,故可以用非線性函數(shù)S 來表示空間中的點(diǎn)
這里的S 是包括碰撞在內(nèi)的一次完整的動態(tài)步行的表達(dá)式,它反映了φn+1和φn之間的關(guān)系,所有的初始條件可以寫為不動點(diǎn)和偏差的和:
雖然S 高度非線性,但對于偏離不動點(diǎn)的小的偏差Δφn,仍然可用線性化的方法來估計(jì)相空間
重復(fù)
直到
對于上面所給的初值φ01= (0.133 61,-1.390 00,-1.310 00),求得不動點(diǎn)為φfP=(0.133 61,-1.429 90,-1.273 00),將該不動點(diǎn)作為模型運(yùn)動的初始條件,由圖3(b)知此時(shí)腿1 的相圖軌跡完全重復(fù)同一個線圈,此線圈也為腿1 所在相平面的“極限環(huán)”.
圖4 從能量的角度給出了模型在運(yùn)動過程中,動能、勢能及其總的機(jī)械能的變化曲線,從圖中可以看出:在一步過程中,動能是先減小,后增大,再減小,最后再增大;而勢能的曲線變化趨勢正好相反,這說明擺動腿和支撐腿之間存在某種耦合關(guān)系.每步結(jié)束時(shí)的動能幾乎和該步開始時(shí)的動能大小一樣;每步結(jié)束時(shí)的勢能幾乎相當(dāng)該步開始時(shí)的勢能的等差遞減.在每一步的擺動階段,因?yàn)橹挥兄亓ψ龉Γ士偟臋C(jī)械能守恒;在碰撞階段,因?yàn)閯幽芡蛔?,而勢能不變,故總的機(jī)械能也突變(減小).在一個完整的步態(tài)周期中,重力對系統(tǒng)所做的功等于因碰撞損失的動能.
圖4 模型運(yùn)動過程中能量變化曲線
由于雙足被動行走機(jī)器人系統(tǒng)是復(fù)雜的非線性動力系統(tǒng),建立其動力學(xué)數(shù)學(xué)模型時(shí)需要對機(jī)械結(jié)構(gòu)參數(shù)、行走環(huán)境參數(shù)進(jìn)行簡化、優(yōu)化,而ADAMS 的仿真環(huán)境更逼近實(shí)際的實(shí)物試驗(yàn)環(huán)境.為了驗(yàn)證以上所分析的結(jié)果對以后實(shí)際物理樣機(jī)的成功行走有實(shí)際的指導(dǎo)意義,可將由Matlab 求出的不動點(diǎn)
帶入Adams 的虛擬樣機(jī)中作為初始條件,來驗(yàn)證分析的合理性.
根據(jù)圖1 的模型,設(shè)計(jì)出該模型相對應(yīng)的實(shí)際的物理樣機(jī)造型,其可通過兩對對稱的腿做成一個“兩直腿”模型如圖5 所示.該模型的建立,解決了模型行走過程中側(cè)向平衡問題;同時(shí)圖中棋盤路面的設(shè)計(jì),避免了運(yùn)動過程中擺動腿與地面相碰的“擦地”現(xiàn)象.下面在Adams 中通過一些仿真曲線來分析樣機(jī)模型的運(yùn)動特點(diǎn).
圖5 Adams 虛擬樣機(jī)仿真模型
從圖6(a)可以看出經(jīng)過及其短暫的調(diào)整(幾乎不用調(diào)整),機(jī)器人的運(yùn)動很快收斂到“極限環(huán)”上,呈現(xiàn)穩(wěn)定的周期運(yùn)動.可見,通過數(shù)值仿真獲得的不動點(diǎn),可作為相應(yīng)的實(shí)際的樣機(jī)行走的初值條件.
從圖6(b)中可看出,在同一完整步態(tài)周期中,腿1(實(shí)線)作為擺動腿時(shí)角速度極值大于腿2(虛線)作為擺動腿時(shí)的角速度極值,可見雖然腿1 和腿2 在結(jié)構(gòu)上是對稱的,但在實(shí)際的運(yùn)動過程中表現(xiàn)出的運(yùn)動形態(tài)并不對稱.
圖6 雙腿運(yùn)動狀態(tài)隨時(shí)間的變化關(guān)系曲線
圖7 中實(shí)線為腿2 的足距離地面的高度,兩條虛線為兩腿運(yùn)動過程中的角度曲線.當(dāng)高度小于0時(shí),說明腿2 在擺動過程中足有“擦地”現(xiàn)象,該現(xiàn)象起始于C 點(diǎn),在E 點(diǎn)處結(jié)束,圖中D 點(diǎn)兩腿角度相等,即兩腿重合,可見“擦地”發(fā)生在兩腿重合之前;“擦地”現(xiàn)象在實(shí)際的機(jī)器人行走中是不允許的,而棋盤狀路面的運(yùn)用,可避免這種現(xiàn)象.
圖7 穩(wěn)定行走時(shí)雙腿角度變化曲線和腿2 的足距地面高度
1)采用拉格朗日法建立了簡單兩桿直腿圓弧足機(jī)器人行走步態(tài)的數(shù)學(xué)模型.
2)Matlab 仿真分析并得出了理想化模型能夠行走的初值條件、運(yùn)動特點(diǎn)和運(yùn)動過程中的能量變化關(guān)系,體現(xiàn)了雙足機(jī)器人運(yùn)動的本質(zhì)特征.
3)將Matlab 仿真結(jié)果作為Adams 仿真的初始條件,獲得了更加接近真實(shí)機(jī)器人樣機(jī)穩(wěn)態(tài)行走步態(tài)分析.而且在此虛擬樣機(jī)平臺上,可方便地進(jìn)行參數(shù)優(yōu)化和性能預(yù)測,提早發(fā)現(xiàn)設(shè)計(jì)問題,減少時(shí)間和經(jīng)費(fèi)的消耗,也可減少對物理樣機(jī)的危險(xiǎn)操作.
4)仿真所提供的腿的長度、質(zhì)量以及質(zhì)心位置等參數(shù),為最終做出物理樣機(jī),成功在路面行走奠定了基礎(chǔ).
[1]ESPIAN B,SARDAIN P.The anthropomorphic biped robot B IP2000[C]//Proceedings of the 2000 IEEE Conference on Robotics and Automation.San Francisco,CA:[s.n.],2000:3997-4002.
[2]HUANG Q,YOKOI K,KAJITA S,et al.Planning walking pattems for a biped robot[J].IEEE Transactions on Robotics and Automation,2001,17(3):280-289.
[3]MOCHON S,MCMAHON T A.Ballistic walking[J].Biomechan,1980,13:49-57.
[4]MCGEER T.Passive dynamic walking[J].International Journal of Robotics Research,1990,9(2):62-82.
[5]MCGEER T.Passive dynamic biped catalogue[C]//Proc Experiment Robotics II:The 2nd International Symposium.Berlin:Springer-Verlag,1992:465-490.
[6]GARCIA M,CHATTERJEE A,RUINA A,et al.The simplest walking model:stability,compiexity,and scaling[J].ASME Journal of Biomechanic Engineering,1998,120(2):281-288.
[7]COLLINS S H,WISSE M,RUINA A.A 3-d passive dynamic walking robot with two legs and knees[J].International Journal of Robotics Research,2001,20(7):607-615.
[8]COLLINS S H,RUINA A.A bipedal walking robot with efficient and human-like gait[C]//Proceedings of the IEEE Conferenceon Robotics and Automation.Piscataway,NJ,USA:IEEE,2005:1983-1988.
[9]TEDRAKE R,ZHANG T W,SEUNG H S.Stochastic policy gradient reinforcement learning on a simple 3D biped[C]//Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems.New York,NY,USA:IEEE,2004:2849-2854.
[10]SCHUITEMA E,HOBBELEN D G E,JONKER P P,et al.Using a controller based on reinforcement learning for a passive dynamic walking robot[C]//Proceedings of the IEEE/RAS International Conference on Humanoid Robots.New York,NY,USA:IEEE,2005:232-237.
[11]COLLINS S,RUINA A.Efficient bipedal robots based on passive-dynamic walker[J].Science Magazine,2005,307:1082-1085.