□ 王憲倫 □ 馮現(xiàn)東 □ 姜鵬鵬
青島科技大學(xué)機(jī)電工程學(xué)院 山東青島 266061
傳統(tǒng)履帶式或輪式機(jī)器人由于受本體結(jié)構(gòu)限制,適宜在較為平整的地面上工作。仿人機(jī)器人具有靈活的雙腿設(shè)計(jì),因此具備人類行走的步態(tài)特性,對(duì)于不平整地面具有較大的靈活性和良好的適應(yīng)能力。如果仿人機(jī)器人不能精確模擬人類行走的步態(tài)特性,那么其優(yōu)勢(shì)也將蕩然無(wú)存。為實(shí)現(xiàn)仿人機(jī)器人的行走穩(wěn)定性,除了完善控制系統(tǒng)算法,增加必要的傳感器之外,機(jī)器人精確的步態(tài)規(guī)劃也是解決問題的關(guān)鍵技術(shù)[1]。
根據(jù)行走步態(tài),仿人機(jī)器人的步態(tài)分為靜態(tài)步行和動(dòng)態(tài)步行[2]。相比速度較慢的靜態(tài)步行,動(dòng)態(tài)步行速度較快,但容易出現(xiàn)穩(wěn)定性問題,即仿人機(jī)器人容易發(fā)生左右或前后傾覆。為了提高仿人機(jī)器人的行走穩(wěn)定性,提出用于反映動(dòng)態(tài)步行穩(wěn)定性的零力矩點(diǎn)概念。零力矩點(diǎn)法是目前步態(tài)規(guī)劃方法中影響范圍最大、應(yīng)用最廣泛的方法,由零力矩點(diǎn)法得到的動(dòng)態(tài)步行能長(zhǎng)期保持令人滿意的效果。筆者基于零力矩點(diǎn)法對(duì)仿人機(jī)器人的步態(tài)規(guī)劃進(jìn)行研究,具有一定的實(shí)用價(jià)值。
筆者所設(shè)計(jì)的仿人機(jī)器人,其頸部關(guān)節(jié)配置兩個(gè)自由度,肩部配置兩個(gè)自由度,肘部配置一個(gè)自由度,腰部髖關(guān)節(jié)配置三個(gè)自由度,膝關(guān)節(jié)配置一個(gè)自由度,踝關(guān)節(jié)配置兩個(gè)自由度??梢?,器人整體共配置20個(gè)自由度,基本能夠完成預(yù)定動(dòng)作,實(shí)現(xiàn)仿人行走和舞蹈等。仿人機(jī)器人本體結(jié)構(gòu)如圖1所示。
▲圖2 穩(wěn)定裕度示意圖
首先對(duì)機(jī)器人進(jìn)行步態(tài)規(guī)劃,然后根據(jù)零力矩點(diǎn)公式求出零力矩點(diǎn)曲線,據(jù)此分析設(shè)計(jì)的步態(tài)穩(wěn)定性,并選取相對(duì)穩(wěn)定裕度最大的步態(tài)規(guī)劃作為仿人機(jī)器人的最優(yōu)步態(tài)規(guī)劃。如圖2所示,通過選取合適的結(jié)構(gòu)參數(shù)和運(yùn)動(dòng)參數(shù),使零力矩點(diǎn)軌跡始終落在單雙腳支撐范圍內(nèi),實(shí)現(xiàn)機(jī)器人的穩(wěn)定行走,這是對(duì)仿人機(jī)器人進(jìn)行步態(tài)規(guī)劃的主要目的[3]。通常,將零力矩點(diǎn)到支撐凸多邊形邊界的最短距離作為機(jī)器人步行系統(tǒng)的穩(wěn)定裕度,穩(wěn)定裕度可以體現(xiàn)行走時(shí)穩(wěn)定性的好壞。穩(wěn)定裕度值越大,則機(jī)器人行走就越穩(wěn)定。
通過重力和慣性力合力的零力矩點(diǎn)來(lái)定義坐標(biāo)公式,并利用達(dá)朗貝爾原理[4]進(jìn)行推導(dǎo)。由于機(jī)器人的運(yùn)動(dòng)過程為單雙腿支撐的交換,因此為了正確描述每條腿所受到的地面反力特點(diǎn),設(shè)參考坐標(biāo)系的原點(diǎn)坐標(biāo)為單腳支撐時(shí)支撐腳的中心,且支撐面與參考坐標(biāo)系的XOY平面重合。
根據(jù)機(jī)器人模型參數(shù)的定義,由達(dá)朗貝爾原理可知,除地面對(duì)機(jī)器人腳底的反作用力和反作用力矩之外,可以將機(jī)器人行走時(shí)受到的全部作用力和力矩向參考坐標(biāo)系的原點(diǎn)作化簡(jiǎn)處理,獲得沿X、Y、Z軸三個(gè)方向的分力及繞X、Y、Z軸的力矩。
式中:Fx、Fy、Fz依次為沿 X、Y、Z 軸方向的分力;依次為第i個(gè)簡(jiǎn)化桿沿X、Y、Z軸方向的質(zhì)心加速度分量;mi為第i個(gè)簡(jiǎn)化桿的質(zhì)量;g為重力加速度。
式中: Mx、My、Mz依次為繞 X、Y、Z 軸的力矩;xci、yci、zci為第i個(gè)簡(jiǎn)化桿的質(zhì)心位置坐標(biāo)。
根據(jù)式(1)與式(2),將作用于機(jī)器人上的合力從參考坐標(biāo)系原點(diǎn)移至XOY平面上的零力矩點(diǎn)P(xzmp,yzmp,0),使機(jī)器人繞X軸和Y軸的傾覆力矩為0,即:
將式(2)中的 Mx、My代入式(3),得:
靜態(tài)步行時(shí),忽略機(jī)器人所受的慣性力,則式(4)變?yōu)椋?/p>
除機(jī)器人所受的地面反作用力矩外,其余所有力矩均轉(zhuǎn)化為作用在零力矩點(diǎn)P(xzmp,yzmp,0)的一個(gè)力矩:
步態(tài)規(guī)劃的基本思路如下:根據(jù)仿人機(jī)器人行走時(shí)對(duì)步態(tài)動(dòng)作特點(diǎn)的要求,確定步距、步行周期、步長(zhǎng)等參數(shù);根據(jù)各關(guān)節(jié)的約束條件,對(duì)機(jī)器人雙腿的髖關(guān)節(jié)及踝關(guān)節(jié)進(jìn)行合理運(yùn)動(dòng)規(guī)劃,利用三次樣條函數(shù)[5]生成髖關(guān)節(jié)和踝關(guān)節(jié)的運(yùn)動(dòng)軌跡方程,以便使軌跡曲線在連接處均勻光滑過渡;基于機(jī)器人各個(gè)關(guān)節(jié)的幾何角度關(guān)系,通過MATLAB軟件程序,求出膝關(guān)節(jié)及其它關(guān)節(jié)的運(yùn)動(dòng)軌跡,并生成軌跡曲線[6];利用零力矩點(diǎn)公式計(jì)算出機(jī)器人的質(zhì)心軌跡,通過在可變范圍內(nèi)尋找最優(yōu)解,確認(rèn)穩(wěn)定裕度最大的組合參數(shù),并將通過這些參數(shù)計(jì)算出的步態(tài)規(guī)劃數(shù)據(jù)作為最終的規(guī)劃結(jié)果。
三點(diǎn)式規(guī)劃法主要針對(duì)踝關(guān)節(jié)的關(guān)鍵點(diǎn)進(jìn)行運(yùn)動(dòng)規(guī)劃,即將起步、擺動(dòng)腳支撐面最高點(diǎn)和落地這三個(gè)點(diǎn)作為運(yùn)動(dòng)關(guān)鍵點(diǎn)進(jìn)行運(yùn)動(dòng)規(guī)劃。通過三次樣條插值對(duì)機(jī)器人的運(yùn)動(dòng)關(guān)鍵點(diǎn)進(jìn)行插值,以及對(duì)起步與落地時(shí)刻各關(guān)節(jié)的速度及加速度施以約束,得到能夠保證機(jī)器人穩(wěn)定行走的光滑運(yùn)動(dòng)曲線。三點(diǎn)式規(guī)劃法如圖3所示。
仿人機(jī)器人完整的行走過程包括起步準(zhǔn)備階段、加速階段、周期性運(yùn)動(dòng)階段、減速階段和停步恢復(fù)階段這五個(gè)時(shí)間段,其中周期性運(yùn)動(dòng)階段又包括左腳步行周期和右腳步行周期。由于周期性運(yùn)動(dòng)階段是仿人機(jī)器人行走的主要過程,因此筆者的研究主要針對(duì)機(jī)器人進(jìn)行周期性運(yùn)動(dòng)規(guī)劃。
與人類相似,仿人機(jī)器人的步行周期包括單腳支撐期TD和雙腳支撐期TS,則步行周期T=TS+TD。設(shè)置步態(tài)運(yùn)動(dòng)規(guī)劃參數(shù),抬腳高度設(shè)為H,步長(zhǎng)設(shè)為L(zhǎng),第k步的起始時(shí)間為(k-1)T。步長(zhǎng)L按實(shí)際需求設(shè)定,約為一個(gè)步長(zhǎng)即可。
假設(shè)機(jī)器人向前周期運(yùn)動(dòng)中先擺動(dòng)左腳,即先邁左腳再邁右腳,則XOZ平面的坐標(biāo)原點(diǎn)設(shè)在支撐腳的中心,那么第k個(gè)周期擺動(dòng)腳踝關(guān)節(jié)質(zhì)心的起始坐標(biāo)為((k-1)L,0),最高點(diǎn)位置為((k-1)L+L/2,H),落地時(shí)的坐標(biāo)為(kL,0),由以上三個(gè)關(guān)鍵點(diǎn)可以得到以下約束方程組:
▲圖3 三點(diǎn)式規(guī)劃法示意圖
式中:ts為走一個(gè)步長(zhǎng)所需的時(shí)間;th為走半個(gè)步長(zhǎng)所需的時(shí)間。
由行走過程可知,擺動(dòng)腳在kT時(shí)刻初始速度為0,同時(shí)為了使腳部與地面在落腳時(shí)刻的沖擊最小,擺動(dòng)腳在落地瞬間速度亦需要降為0,因此需將擺動(dòng)腳在 kT 和 kT+Ts時(shí)刻 xh(t)和 zh(t)的導(dǎo)數(shù)均設(shè)置為 0,即速度均為0,可以得到以下約束方程組:
利用三次樣條插值函數(shù)對(duì)上述關(guān)節(jié)軌跡進(jìn)行插值規(guī)劃,即可得到光滑、連續(xù)的軌跡曲線。
對(duì)機(jī)器人前向運(yùn)動(dòng)中髖關(guān)節(jié)X軸方向和Z軸方向分別進(jìn)行軌跡規(guī)劃。對(duì)X軸方向進(jìn)行規(guī)劃時(shí),因X軸方向保持勻速運(yùn)動(dòng),在X軸方向的運(yùn)動(dòng)選取三個(gè)關(guān)鍵點(diǎn)即可,分別為初始抬腳位置、偏轉(zhuǎn)最大位移處和落腳復(fù)位處。髖關(guān)節(jié)在X軸方向的約束方程組為:
式中:le為初始抬腳時(shí)刻沿X軸正方向髖關(guān)節(jié)的坐標(biāo)到坐標(biāo)原點(diǎn)的距離。
由于機(jī)器人自身結(jié)構(gòu)及運(yùn)動(dòng)特點(diǎn),在周期行走過程中兩腿擺動(dòng),上身基本保持不變,因此對(duì)髖關(guān)節(jié)在Z方向的軌跡進(jìn)行規(guī)劃時(shí),設(shè)定機(jī)器人的髖關(guān)節(jié)保持在某一固定高度,即將髖關(guān)節(jié)在Z軸方向的坐標(biāo)設(shè)為一個(gè)常值Hk,Hk的值由實(shí)際行走情況確定。
對(duì)于Hk的取值范圍,如圖4所示,由給定的步長(zhǎng)L及三角形三邊大小關(guān)系可以求得:
至此,仿人機(jī)器人在前向運(yùn)動(dòng)中髖關(guān)節(jié)和踝關(guān)節(jié)的軌跡規(guī)劃已經(jīng)完成,接下來(lái)對(duì)機(jī)器人在側(cè)向平面運(yùn)動(dòng)的步態(tài)進(jìn)行規(guī)劃。
機(jī)器人在側(cè)向平面內(nèi)運(yùn)動(dòng)時(shí)只需對(duì)一個(gè)變量參數(shù)進(jìn)行規(guī)劃,即側(cè)向轉(zhuǎn)角αce。側(cè)向平面內(nèi)機(jī)器人的運(yùn)動(dòng)應(yīng)滿足以下約束方程:
▲圖4 髖關(guān)節(jié)高度示意圖
式中:C≤|arctan(a/b)|,a 為機(jī)器人質(zhì)心到支撐腳中心的水平距離,b為機(jī)器人質(zhì)心至地面的垂直高度;tf為機(jī)器人上軀體從一側(cè)擺到中間位置時(shí)所需的時(shí)間。
按照上述約束條件,利用三次樣條函數(shù)插值即可生成側(cè)向轉(zhuǎn)角αce與時(shí)間t的曲線,計(jì)算出αce與t的關(guān)系式。
行走過程規(guī)劃結(jié)束后,應(yīng)用MATLAB軟件編寫計(jì)算程序,求解所需參數(shù)值,并在MATLAB中進(jìn)行仿真求解。設(shè)機(jī)器人雙腿的小腿長(zhǎng)L1=L5=75 mm,大腿長(zhǎng)L2=L4=80 mm,取步長(zhǎng) L=100 mm,步行周期 T=1 s,抬腳高度H=15 mm,髖關(guān)節(jié)質(zhì)心高度Hk=135 mm,行走時(shí)側(cè)向轉(zhuǎn)角αce=5°,在MATLAB中機(jī)器人平面前向步態(tài)行走時(shí)各關(guān)節(jié)轉(zhuǎn)角曲線的仿真結(jié)果如圖5所示。
由圖5可見,完成規(guī)劃動(dòng)作所需的各個(gè)關(guān)節(jié)轉(zhuǎn)角值是連續(xù)變化的,沒有產(chǎn)生突變,即機(jī)器人關(guān)節(jié)轉(zhuǎn)動(dòng)是連續(xù)的,其后可利用虛擬樣機(jī)的仿真來(lái)驗(yàn)證計(jì)算所得的關(guān)節(jié)轉(zhuǎn)角是否合理。
將SolidWorks軟件繪制的機(jī)器人三維樣機(jī)模型(圖6)導(dǎo)入ADAMS軟件,為了模擬實(shí)際運(yùn)行環(huán)境,需要設(shè)置重力方向和大小。在機(jī)器人雙腳與地面之間添加接觸和摩擦力,將通過MATLAB編程得到的各關(guān)節(jié)運(yùn)動(dòng)曲線文本數(shù)據(jù)以樣條曲線形式導(dǎo)入ADAMS,添加至關(guān)節(jié)驅(qū)動(dòng)約束函數(shù),這樣即可在ADAMS中進(jìn)行仿真[7]。仿真運(yùn)行成功后,通過后處理分析,檢驗(yàn)步態(tài)規(guī)劃是否合理,并根據(jù)實(shí)際環(huán)境對(duì)ADAMS仿真環(huán)境進(jìn)行調(diào)整。虛擬樣機(jī)[10-11]行走動(dòng)畫如圖7所示。
▲圖5 機(jī)器人平面前向步態(tài)關(guān)節(jié)轉(zhuǎn)角曲線
▲圖6 SolidWorks機(jī)器人三維樣機(jī)模型
▲圖7 虛擬樣機(jī)行走動(dòng)畫
筆者介紹了零力矩點(diǎn)法的穩(wěn)定性判據(jù),推導(dǎo)了零力矩點(diǎn)法的坐標(biāo)計(jì)算公式。從行走穩(wěn)定方面考慮,采用基于三次樣條函數(shù)的三點(diǎn)式規(guī)劃法對(duì)動(dòng)態(tài)步行進(jìn)行規(guī)劃,保證了機(jī)器人的步行質(zhì)量。通過虛擬樣機(jī)仿真結(jié)果后處理,得到軀體質(zhì)心在X、Y、Z軸方向的位置變化曲線。軀體質(zhì)心在X、Y軸方向的仿真運(yùn)動(dòng)軌跡與規(guī)劃的質(zhì)心軌跡吻合較好,在Z軸方向的運(yùn)動(dòng)軌跡有周期性小幅波動(dòng),波動(dòng)幅度在3 mm之內(nèi),對(duì)機(jī)器人行走穩(wěn)定性的影響較小。
[1] 張偉,杜繼宏.雙足步行機(jī)器人的步態(tài)規(guī)劃[J].計(jì)算機(jī)工程與應(yīng)用,2002(13):214-216.
[2] CHEN X Y, LI Z X.Walking Pattern Design and Feedback Control for Humanoid Robot[C].Intelligent Control and Automation,2008.WCICA 2008.7th World Congress on,Chongqing,2008.
[3] 譚民,徐德,侯增廣.先進(jìn)機(jī)器人控制[M].北京:高等教育出版社,2007.
[4] 哈爾濱工業(yè)大學(xué)理論力學(xué)教研室.理論力學(xué)[M].7版.北京:高等教育出版社,2009.
[5] 封建湖,車剛明,聶玉峰.數(shù)值分析原理[M].北京:科學(xué)出版社,2012.
[6] SREENATH K,PARK H W,POULAKAKIS I,et al.A Compliant Hybrid Zero Dynamics Controller for Stable,Efficient and Fast Bipedal Walking on MABEL [J].The International Journal of Robotics Research, 2011, 30 (9):1170-1193.
[7] 李增剛.ADAMS入門詳解與實(shí)例[M].2版.北京:國(guó)防工業(yè)出版社,2014.
[8] 朱秋國(guó).仿人機(jī)器人結(jié)構(gòu)設(shè)計(jì)與分析[D].杭州:浙江大學(xué),2011.
[9] 魏航信.仿人跑步機(jī)器人快速跑步研究[D].西安:西安電子科技大學(xué),2006.
[10]王國(guó)強(qiáng),張進(jìn)平,馬若丁.虛擬樣機(jī)技術(shù)及其在ADAMS上的實(shí)踐[M].西安:西北工業(yè)大學(xué)出版社,2002.
[11]楊萍,樊迪.小型雙足機(jī)器人步態(tài)規(guī)劃研究[J].機(jī)械制造,2015,53(9):39-42.