劉 凱
仿人機(jī)器人步態(tài)規(guī)劃算法,是仿人機(jī)器人運(yùn)動(dòng)控制中非常重要的部分。近年來(lái)步態(tài)規(guī)劃算法發(fā)展非常迅速,并成為仿人機(jī)器人研究的一個(gè)重要分支。由于仿人機(jī)器人研制的復(fù)雜性,非常有必要建立一個(gè)與其物理樣機(jī)一樣的虛擬原理樣機(jī)系統(tǒng)[1],這樣既能夠在建立物理樣機(jī)之前進(jìn)行運(yùn)動(dòng)學(xué)仿真,驗(yàn)證關(guān)節(jié)驅(qū)動(dòng)力矩是否符合各種運(yùn)動(dòng)的要求,又便于評(píng)估仿人機(jī)器人步態(tài)規(guī)劃算法的有效性。在進(jìn)行仿人機(jī)器人步態(tài)行走實(shí)驗(yàn)前,從保護(hù)仿人機(jī)器人物理樣機(jī)的角度,先利用ADAMS仿真軟件,在虛擬原理樣機(jī)系統(tǒng)進(jìn)行步態(tài)算法仿真,從而驗(yàn)證步態(tài)算法的穩(wěn)定性和有效性,顯得十分必要。
目前用于仿人機(jī)器人步態(tài)規(guī)劃的方法很多,例如:幾何約束規(guī)劃法、模糊邏輯規(guī)劃法、神經(jīng)網(wǎng)絡(luò)規(guī)劃法、遺傳算法規(guī)劃法和自然步態(tài)規(guī)劃法等。這些步態(tài)規(guī)劃方法,實(shí)際上都是基于ZMP穩(wěn)定性判據(jù)的規(guī)劃方法[2]。公認(rèn)的ZMP定義為:機(jī)器人在行走過(guò)程中,其自身重力和慣性力合力的延長(zhǎng)線與支撐面的交點(diǎn)[3],也就是說(shuō)只要仿人機(jī)器人在行走過(guò)程中,保證其ZMP落在其雙足支撐區(qū)域內(nèi),且該點(diǎn)合力的力矩為零,就可以保證其穩(wěn)定的行走。本文也采用一種基于 ZMP的仿人機(jī)器人離線步態(tài)規(guī)劃算法進(jìn)行仿真研究,用于驗(yàn)證ADAMS在仿人機(jī)器人步態(tài)規(guī)劃算法驗(yàn)證的必要性和有效性。
運(yùn)動(dòng)學(xué)建模是仿人機(jī)器人技術(shù)重要的組成部分,是運(yùn)動(dòng)分析、離線步態(tài)算法編程、軌跡規(guī)劃的基礎(chǔ)[4]。其主要涉及正逆運(yùn)動(dòng)學(xué)建模。正運(yùn)動(dòng)學(xué)建模是已知機(jī)器人各關(guān)節(jié)位移變量的值,求末端執(zhí)行器相對(duì)于基座坐標(biāo)系的位置和姿態(tài)。逆運(yùn)動(dòng)學(xué)建模是給定末端執(zhí)行器相對(duì)于基座坐標(biāo)系的位置和姿態(tài),計(jì)算出各種可能的關(guān)節(jié)位移變量的相應(yīng)取值。常用的數(shù)學(xué)模型有基于 D-H約束的齊次變換法等,本文主要是采用基于 D-H約束的奇次變換法,針對(duì)上海交通大學(xué)智能機(jī)器人研究中心自行設(shè)計(jì)的小型仿人機(jī)器人(以下簡(jiǎn)稱MIH-I)進(jìn)行正運(yùn)動(dòng)學(xué)建模。然后進(jìn)行逆運(yùn)動(dòng)學(xué)模型求解。
本文針對(duì)MIH-I,即雙足具有10個(gè)自由度的仿人機(jī)器人,對(duì)其雙足進(jìn)行正逆運(yùn)動(dòng)學(xué)建模,具體如圖2-1所示。首先根據(jù)圖2-1右邊模型建立D-H參數(shù)表,然后就可以利用D-H參數(shù)表建立10自由度仿人機(jī)器人的正運(yùn)動(dòng)學(xué)模型。雙足步行機(jī)器人的逆運(yùn)動(dòng)學(xué)問(wèn)題可以描述為給定擺動(dòng)腿的期望位姿,求解各個(gè)關(guān)節(jié)角。一般是通過(guò)規(guī)劃髖關(guān)節(jié)和踝關(guān)節(jié)的運(yùn)動(dòng)軌跡,然后通過(guò)逆運(yùn)動(dòng)學(xué)模型求解其他關(guān)節(jié)的角度。本文同樣采用在仿人機(jī)器人步態(tài)規(guī)劃時(shí),假定其髖關(guān)節(jié)和踝關(guān)節(jié)運(yùn)動(dòng)軌跡已知,從而通過(guò)求解正運(yùn)動(dòng)學(xué)模型的逆模型,從而得到各個(gè)關(guān)節(jié)對(duì)應(yīng)的運(yùn)動(dòng)軌跡,也即各個(gè)時(shí)刻仿人機(jī)器人雙足各個(gè)關(guān)節(jié)對(duì)應(yīng)的運(yùn)動(dòng)角度。
圖2-1 MIH-I樣機(jī)外觀和雙足運(yùn)動(dòng)學(xué)建模圖
根據(jù)ZMP判據(jù)進(jìn)行步態(tài)規(guī)劃時(shí),目前常用的兩種方法為:1.先確定ZMP軌跡然后確定身體各關(guān)節(jié)的運(yùn)動(dòng)軌跡[5],2.先確定雙足和髖關(guān)節(jié)的運(yùn)動(dòng)軌跡然后確定ZMP軌跡。第二種方法雖然計(jì)算量很大,但是該方法能夠確保規(guī)劃的軌跡是穩(wěn)定可行的。黃強(qiáng)等就是根據(jù)這一方法設(shè)計(jì)了具有高度穩(wěn)定性、平滑的步態(tài)[6]。本文就是采用這種思想實(shí)現(xiàn)了基于ZMP的仿人機(jī)器人步態(tài)規(guī)劃算法,并用于ADAMS仿真和物理實(shí)驗(yàn)平臺(tái)進(jìn)行實(shí)驗(yàn)。該算法首先根據(jù)機(jī)器人行走過(guò)程中應(yīng)滿足的約束條件,設(shè)計(jì)雙足和髖關(guān)節(jié)的運(yùn)動(dòng)軌跡,然后由逆運(yùn)動(dòng)學(xué)計(jì)算,計(jì)算其它各關(guān)節(jié)的運(yùn)動(dòng)軌跡,再用Vukobratovic提出的 ZMP公式確定步行過(guò)程中的 ZMP軌跡。在可變參數(shù)的有效范圍內(nèi)通過(guò)遍歷搜索,找到穩(wěn)定裕度最大的軌跡作為規(guī)劃結(jié)果。
仿人機(jī)器人步態(tài)周期(Tc)包含兩個(gè)周期:?jiǎn)瓮戎沃芷冢═s)和雙腿支撐周期(Td)。在雙腿支撐周期,仿人機(jī)器人雙腳都與地面接觸,這個(gè)周期起始于前腿的后腳跟與地面接觸,結(jié)束于后腿的腳趾離開(kāi)地面時(shí)。單腿支撐周期指仿人機(jī)器人一條腿與地面接觸,另一條腿從后面離開(kāi)地面擺動(dòng)到前面的與地面接觸這段時(shí)間。雙腿支撐周期一般占整個(gè)步態(tài)周期的20%左右[7]。
在確定步態(tài)規(guī)劃的周期參數(shù)后,在前向面內(nèi),用矢量Xa=[xa(t),ya(t),za(t),θa(t)]和Xh=[xh(t),yh(t),zh(t),θh(t)]分別描述踝關(guān)節(jié)和髖關(guān)節(jié)的空間位置,其中xa(t)、ya(t)、za(t)和xh(t)、yh(t)、zh(t)分別表示踝關(guān)節(jié)和髖關(guān)節(jié)在基坐標(biāo)系O0-XYZ中的坐標(biāo)值。θa(t)表示踝關(guān)節(jié)與地面的夾角,θh(t)表示髖關(guān)節(jié)轉(zhuǎn)動(dòng)的角度。具體關(guān)節(jié)參數(shù)定義如圖2-2所示。這樣就可以根據(jù)需要規(guī)劃出踝關(guān)節(jié)和髖關(guān)節(jié)的運(yùn)動(dòng)軌跡。
圖2-2 仿人機(jī)器人步態(tài)參數(shù)
仿人機(jī)器人步態(tài)實(shí)際上是周期循環(huán)的,如果規(guī)劃出了右腳單步的步態(tài),則左腳的步態(tài)可以通過(guò)將右腳步態(tài)延時(shí)一個(gè)步態(tài)周期就可以得出。為了產(chǎn)生光滑的軌跡,本文采用 3次樣條函數(shù)對(duì)踝關(guān)節(jié)和髖關(guān)節(jié)運(yùn)動(dòng)軌跡插值。然后通過(guò)逆運(yùn)動(dòng)學(xué)模型來(lái)求解對(duì)應(yīng)其他關(guān)節(jié)的角度運(yùn)動(dòng)軌跡,具體步態(tài)規(guī)劃算法流程圖如圖2-3所示。
圖2-3 步態(tài)規(guī)劃算法
其中Xed表示身體中心線到后面支撐腿中心線的水平距離,Xsd表示身體中心線到前面支撐腿中心線的水平距離,Ds表示單步的步長(zhǎng)。
在完成仿人機(jī)器人雙足各個(gè)關(guān)節(jié)的軌跡規(guī)劃后,需要通過(guò)計(jì)算整個(gè)步態(tài)過(guò)程中ZMP的運(yùn)動(dòng)軌跡來(lái)確定穩(wěn)定裕度。然后不斷通過(guò)設(shè)定步長(zhǎng),不斷調(diào)整步態(tài)中的參數(shù)Xsd和Xed,如式2.1所示,從而選擇出一條具有最大穩(wěn)定裕度的步態(tài)規(guī)劃軌跡。
在選擇運(yùn)動(dòng)軌跡時(shí),需要不斷的迭代計(jì)算所有運(yùn)動(dòng)軌跡的ZMP軌跡。ZMP的計(jì)算公式如式2.2所示。
首先在Solidworks中按照1:1的比例建立MIH-I的虛擬原理樣機(jī)系統(tǒng),并導(dǎo)入到ADAMS2005中。然后利用Matlab實(shí)現(xiàn)了基于ZMP的步態(tài)規(guī)劃算法。利用Matlab所規(guī)劃的步態(tài)包括起步一共為5步的步態(tài)。仿人機(jī)器人在開(kāi)始運(yùn)動(dòng)前其腿部高度先下蹲到其總高度的 80%,設(shè)定的步態(tài)周期為 3秒,步長(zhǎng)為10厘米,并生成了步態(tài)規(guī)劃數(shù)據(jù)文件。
然后將在Matlab中生成的MIH-I腿部的10個(gè)關(guān)節(jié)的角度數(shù)據(jù)文件,導(dǎo)入到ADAMS中,并利用ADAMS中的樣條插值函數(shù)AKISPL,將關(guān)節(jié)角度數(shù)據(jù)輸入到與10個(gè)關(guān)節(jié)自由度相固連的Motion連接中,并進(jìn)行仿真。
如圖3-1所示,仿人機(jī)器人在基于ZMP的仿人機(jī)器人步態(tài)規(guī)劃算法生成的步態(tài)數(shù)據(jù)文件控制下,實(shí)現(xiàn)了很好的運(yùn)動(dòng)效果。圖4-9是其步態(tài)仿真效果圖。
圖3-1 步態(tài)仿真圖
本文的實(shí)驗(yàn)平臺(tái)為MIH-I,MIH-I雙腿伸直站立時(shí),從腳底至頭頂?shù)母叨葹?98mm,左右肩寬為385mm,身體前后縱深距離為208mm,身體總重26kg(不包括電池)。其外形尺寸圖如圖2-1所示。
在進(jìn)行仿人機(jī)器人MIH-I行走實(shí)驗(yàn)前,先將基于ZMP的步態(tài)規(guī)劃算法生成的離線步態(tài)數(shù)據(jù)文件轉(zhuǎn)化為 MIH-I上的運(yùn)動(dòng)控制系統(tǒng)實(shí)時(shí)層可以發(fā)送的文件格式。然后在對(duì)仿人機(jī)器人上的電機(jī)進(jìn)行初始化后,進(jìn)行了上電行走試驗(yàn),取得了良好的步態(tài)行走效果。具體見(jiàn)圖4-1所示。
由圖4-1可以看出,所設(shè)計(jì)和實(shí)現(xiàn)的步態(tài)規(guī)劃算法在ADAMS上進(jìn)行步態(tài)仿真后,成功的應(yīng)用到MIH-I上,并能夠很好的控制仿人機(jī)器人的行走,實(shí)現(xiàn)了較好的行走效果。
圖4-1 MIH-I步態(tài)實(shí)驗(yàn)
在進(jìn)行仿人機(jī)器人步態(tài)規(guī)劃算法研究時(shí),先利用ADAMS建立虛擬原理樣機(jī)系統(tǒng),然后在虛擬原理樣機(jī)系統(tǒng)上進(jìn)行算法仿真,不僅能夠驗(yàn)證步態(tài)規(guī)劃算法的有效性,而且能夠起到保護(hù)仿人機(jī)器人物理樣機(jī)的功能。本文就是利用ADAMS建立了MIH-I的虛擬原理樣機(jī)系統(tǒng),然后在其上進(jìn)行了基于ZMP的仿人機(jī)器人步態(tài)算法仿真,并最終將通過(guò)仿真的算法運(yùn)用到 MIH-I的物理樣機(jī)上,實(shí)現(xiàn)了穩(wěn)定的步態(tài)行走,既保護(hù)了 MIH-I物理樣機(jī)不受破壞,又便于進(jìn)行算法分析,具有很好的應(yīng)用效果。
[1]史耀強(qiáng).雙足機(jī)器人基于ADAMS與Matlab的聯(lián)合仿真[J]. 機(jī)械與電子,2008,(1):45-47.
[2]夏澤洋,陳懇,熊璟.仿人機(jī)器人運(yùn)動(dòng)規(guī)劃研究進(jìn)展[J]..高技術(shù)通訊,2007,(10):1092-1099.
[3]張博,杜志江,孫立寧.雙足步行機(jī)器人步態(tài)規(guī)劃方法研究[J]..機(jī)械與電子,2008,(4):52-55.
[4]李穎,辛洪兵,趙東洋.MOTOMAN-HP3型機(jī)器人運(yùn)動(dòng)學(xué)建模.北京工商大學(xué)學(xué)報(bào),2009,(3):20-24.
[5]胡洪志.仿人步行機(jī)器人的運(yùn)動(dòng)規(guī)劃方法研究[D]..國(guó)防科學(xué)技術(shù)大學(xué)碩士學(xué)位論文,2003:2-3.
[6]Huang Q, Kajita S,etc.A High Stability Smooth Walking Pattem for a Biped Robot[C]//Proc ICRA,99, pp.65-71.
[7]Qiang Huang,Yokoi,K,Kajita S,et al. Planning Walking Patterns for a Biped Robot[J]. IEEE Tran. on Robotics and Automation,2001, 17:280-289.