徐貝貝,李艷杰,王 爭(zhēng)
(1.沈陽(yáng)理工大學(xué) 機(jī)械工程學(xué)院,遼寧 沈陽(yáng) 110159;2.中國(guó)科學(xué)院 沈陽(yáng)自動(dòng)化研究所,遼寧 沈陽(yáng) 110016)
從20世紀(jì)60年代開(kāi)始,美國(guó)和日本就對(duì)足式機(jī)器人進(jìn)行了深入研究。其中,比較有代表性的作品有早期的 KUMO-I和PV-II以及后來(lái)的 TITAN 系列[1],近年來(lái)對(duì)足式機(jī)器人的研究影響最大的還是美國(guó)波士頓動(dòng)力學(xué)公司,其代表作先后有BigDog、Atlas和CHEETAH,其中,BigDog可以說(shuō)是現(xiàn)代足式機(jī)器人的最高代表[2]。在BigDog如此顯著的性能中,最突出也是最基礎(chǔ)的一點(diǎn)是其高速的奔跑能力,作為動(dòng)步態(tài)控制的最經(jīng)典最優(yōu)秀的作品,其控制系統(tǒng)所采用的核心思路和方法是本文所關(guān)心的內(nèi)容。本文主要對(duì)足式機(jī)器人單腿系統(tǒng)進(jìn)行研究,首先深入探究Raibert的SLIP建模與“三分控制”方法,然后圍繞這個(gè)理論方法借助MATLAB與ADAMS等軟件建立仿真環(huán)境,進(jìn)而論證該方法的合理性與可行性。
仿生學(xué)和動(dòng)物學(xué)的研究發(fā)現(xiàn),盡管哺乳動(dòng)物的運(yùn)動(dòng)形式和步態(tài)具有多樣性,但其步態(tài)周期基本都具有“伸長(zhǎng)-著地-發(fā)力-離地-回縮”這樣的運(yùn)動(dòng)循環(huán),生物在運(yùn)動(dòng)過(guò)程中通過(guò)肌腱等儲(chǔ)能元件減小落地沖擊,并實(shí)現(xiàn)能量的存儲(chǔ)和再利用。學(xué)者研究發(fā)現(xiàn),生物的這些運(yùn)動(dòng)特點(diǎn)與形式可以用彈簧負(fù)載倒立擺的模型(SLIP)等效簡(jiǎn)化。SLIP模型由等效質(zhì)量、等效腿長(zhǎng)和等效腿部剛度3個(gè)結(jié)構(gòu)參數(shù)組成,運(yùn)動(dòng)描述由質(zhì)心二維坐標(biāo)(騰空相)以及等效腿長(zhǎng)、蹬踏角度(支撐相)兩維運(yùn)動(dòng)狀態(tài)變量組成。
彈跳模型奔跑時(shí)在重力作用下加速下落直到與地面碰撞,在接觸期間,腿部發(fā)生彈性變形來(lái)吸收身體的動(dòng)能直到最低點(diǎn),之后又將彈性勢(shì)能釋放增加身體的動(dòng)能直到足離開(kāi)地面。三分控制算法是將彈跳模型分解為3個(gè)部分來(lái)控制:①通過(guò)在每一個(gè)彈跳周期給彈簧進(jìn)行固定的能量補(bǔ)充,控制彈簧負(fù)載倒立擺模型的彈跳高度;②通過(guò)控制足在著地瞬間相對(duì)于機(jī)心的距離來(lái)控制機(jī)心的前向速度;③ 通過(guò)控制彈簧負(fù)載倒立擺著陸期間身體和腿之間的力矩來(lái)調(diào)節(jié)身體姿態(tài)的水平。
控制系統(tǒng)的第一部分是規(guī)劃引起跳躍模型周期性運(yùn)動(dòng)的彈跳力的大小。在每一次的支撐期間,控制系統(tǒng)需要在腿部加上豎直方向的推力以維持系統(tǒng)的振蕩和達(dá)到想要的跳躍幅值。因?yàn)槊看翁S周期所損失的能量都是相同的,所以在每個(gè)彈跳周期中只需施加相同的給定力,便可使腿部達(dá)到指定的彈跳高度。
單腿跳躍模型控制系統(tǒng)的第二部分是考慮彈跳的前進(jìn)速度和加速度的控制。在SLIP模型中,足在著地瞬間相對(duì)于機(jī)體的位置對(duì)隨后的支撐相有很大的影響。當(dāng)著地點(diǎn)位于合適位置時(shí),前后兩周期飛行最高點(diǎn)前進(jìn)速度不變,該位置為中點(diǎn)[3],如圖1 所示;當(dāng)著地點(diǎn)位置超過(guò)中點(diǎn)時(shí),下個(gè)周期飛行最高點(diǎn)前進(jìn)速度減??;當(dāng)著地點(diǎn)未到中點(diǎn)時(shí),下個(gè)周期飛行最高點(diǎn)前進(jìn)速度增大,如圖2 所示。也就是說(shuō)對(duì)足的位置的控制,將決定機(jī)體在下一個(gè)飛行相時(shí)是按之前的速度運(yùn)動(dòng)還是加速或者減速運(yùn)動(dòng)。
為了計(jì)算出足相對(duì)于機(jī)體的合適位置,控制系統(tǒng)根據(jù)簡(jiǎn)化的腿部系統(tǒng)模型(如圖3 所示)的幾何關(guān)系,利用實(shí)際的前進(jìn)速度和理想的目標(biāo)前進(jìn)速度按照下面的公式對(duì)前進(jìn)速度進(jìn)行控制。
圖1 SLIP模型的對(duì)稱(chēng)性
圖2 SLIP模型的非對(duì)稱(chēng)軌跡
圖3 彈跳模型原理圖
足相對(duì)于機(jī)體質(zhì)心的距離xf為:
騰空相時(shí)機(jī)體與腿部夾角的理想值ψd為:
其中:φ為機(jī)身俯仰角;r為腿長(zhǎng)。由PID算法求得的騰空相時(shí)作用在髖關(guān)節(jié)的矩τ1為:
其中:ψ為機(jī)身與腿之間的夾角;kp1和kv1為PID系數(shù)。
控制系統(tǒng)第三部分的任務(wù)就是穩(wěn)定身體的俯仰角以使模型直立。在腿和機(jī)體之間的髖關(guān)節(jié)上施加矩就會(huì)改變機(jī)體的俯仰角。在支撐階段,髖部的線性伺服執(zhí)行器會(huì)調(diào)整身體到豎直的姿態(tài)。支撐相時(shí)作用在髖關(guān)節(jié)的矩τ2為:
其中:φd為俯仰角的目標(biāo)值;kp2和kv2為PID系數(shù)。
由于彈簧負(fù)載倒立擺模型簡(jiǎn)單,本文選擇直接在ADAMS中建立幾何模型,然后對(duì)每個(gè)零部件進(jìn)行編輯,并定義其材料、質(zhì)量、轉(zhuǎn)動(dòng)慣量等相關(guān)屬性。得到的彈簧倒立擺模型如圖4 所示。要進(jìn)行仿真分析還需要為建立的ADAMS模型定義約束及驅(qū)動(dòng),本模型中,在機(jī)體和腿之間的髖關(guān)節(jié)處有一旋轉(zhuǎn)副,缸和腿之間有一滑動(dòng)副,缸和足底之間安裝有彈簧用來(lái)儲(chǔ)能。
圖4 彈簧倒立擺模型
根據(jù)三分控制算法,需要建立6個(gè)輸出狀態(tài)變量和2個(gè)輸入狀態(tài)變量,之后需要將驅(qū)動(dòng)與輸入狀態(tài)變量建立關(guān)系、測(cè)量顯示量與輸出狀態(tài)變量建立關(guān)系 。因?yàn)樵贏DAMS/Controls模塊的輸入、輸出設(shè)置中還不能直接使用狀態(tài)變量,需要將這些狀態(tài)變量定義為輸入、輸出宏,完成將輸入、輸出宏導(dǎo)出的設(shè)置之后,就會(huì)在當(dāng)前的ADAMS目錄中產(chǎn)生3個(gè)用于聯(lián)合仿真的文件,即保存ADAMS/Controls輸入和輸出信息的MATLAB程序文件.m、ADAMS/View 命令文件.cmd、ADAMS/Solver命令文件.adm。在 MATLAB中調(diào)用ADAMS/Controls模塊,顯示已定義的聯(lián)合仿真系統(tǒng)所需要的輸入、輸出變量,在SIMULINK中調(diào)用ADAMS模型封裝好的函數(shù)adams_sys,就可以將該子函數(shù)運(yùn)用于所搭建的控制系統(tǒng)中。圖5 為對(duì)應(yīng)三分法搭建的控制系統(tǒng)模型。
圖5 對(duì)應(yīng)三分法搭建的聯(lián)合仿真系統(tǒng)
圖6 為聯(lián)合仿真結(jié)果。由圖6 (a)可以看出,通過(guò)周期性地給彈簧施加固定的壓力來(lái)補(bǔ)償每一周期中損失的能量,可以使機(jī)心彈跳高度維持在固定值0.8m;在理想速度為2m/s的情況下,用三分控制方法可以使彈跳模型機(jī)身的水平速度在飛行相時(shí)維持在穩(wěn)定的2m/s上(見(jiàn)圖6 (b));運(yùn)動(dòng)開(kāi)始階段,作用于機(jī)身和腿部的矩,通過(guò)控制足相對(duì)于機(jī)身的位置而使機(jī)身達(dá)到相應(yīng)的速度,這就會(huì)使機(jī)身的俯仰角增大,在緊接著的支撐相,開(kāi)始調(diào)整機(jī)身姿態(tài),由于奔跑速度快,支撐相的時(shí)間短,機(jī)身的俯仰角不能完全調(diào)整到零,也就是說(shuō)當(dāng)機(jī)體前進(jìn)速度越快時(shí),機(jī)身俯仰角的調(diào)節(jié)難度就會(huì)增大,但是這并不影響整個(gè)模型的穩(wěn)定性(見(jiàn)圖6 (c))。
圖6 聯(lián)合仿真結(jié)果
通過(guò)仿真分析可以發(fā)現(xiàn),基于彈簧倒立擺模型的研究方法相比基于精確動(dòng)力學(xué)建模的傳統(tǒng)研究方法,能夠在最大限度地保留機(jī)體運(yùn)動(dòng)本質(zhì)特征的同時(shí),有效地降低系統(tǒng)自由度增加帶來(lái)的模型數(shù)學(xué)建模、求解與分析的困難。在簡(jiǎn)化模型分析的基礎(chǔ)上,再結(jié)合工程實(shí)際樣機(jī)的結(jié)構(gòu)特點(diǎn),逐步引入更為豐富的生物運(yùn)動(dòng)特性,將有可能解決諸如機(jī)體多自由度和腿部多關(guān)節(jié)協(xié)同控制等機(jī)器人實(shí)際控制問(wèn)題,從而最終實(shí)現(xiàn)機(jī)器人的高速高能效動(dòng)步態(tài)行走和環(huán)境適應(yīng)能力。
[1]Zhang Z.Dynamic running control of quadruped robot using artificial muscle mechanism[G]//Proceedings of the 41st SICE Annual Conference.[s.l.]:SICE,2002:2819-2824.
[2]Marc Raibert,Kevin Blankespoor,Gabriel Nelson,et al.BigDog,the rough-terrain quaduped robot[EB/OL].[2012-12-8].http://www.bostondynamics.com/img/BigDog_IFAC_Apr-8-2008.pdf.
[3]Raibert M H. Legged robots that balance [M].Cambridge:MIT Press,1986.