李 彬,李界家
(沈陽建筑大學(xué) 機械工程學(xué)院,遼寧 沈陽 110168)
雙足機器人具有多關(guān)節(jié)連接的腿部結(jié)構(gòu),相比輪式、履帶式機器人就能很容易的越過較高的障礙物,雙足機器人對行走的地形環(huán)境要求更低,效率很高。這些顯著的優(yōu)勢使雙足機器人在軍事領(lǐng)域、地形探測和、抗震救災(zāi)這些復(fù)雜多變的環(huán)境下,能夠在短時間內(nèi)完成各種復(fù)雜的動作,從而達到所規(guī)定的任務(wù)指標(biāo)。所以對雙足機器人的步態(tài)規(guī)劃研究具有很大的潛在價值。
雙足步態(tài)的實現(xiàn)需要解決非常復(fù)雜的控制難題。雙足系統(tǒng)不僅是非線性的,而且對于開環(huán)和閉環(huán)模型都是不連續(xù)的而且還受地面約束。本文對六自由度雙足機器人進行正逆運動學(xué)分析,基于三次樣條差值對雙足機器人的步態(tài)進行合理規(guī)劃。
由于雙足機器人具有復(fù)雜的運動學(xué)、動力學(xué)和控制特性,我們需要提取機器人的具體特征進行建模,這樣一來可以有效的降低步態(tài)規(guī)劃和步行控制的難度,從而實現(xiàn)穩(wěn)定的步行和控制。
建立運動學(xué)方程我們需要建立坐標(biāo)變換方程,把一系列的坐標(biāo)系建立在連接連桿的關(guān)節(jié)上,這些坐標(biāo)之間的相對位置和方向用齊次坐標(biāo)變換來描述,就可以建立起機器人的運動學(xué)方程。但我們需要解決的問題是如何在每個關(guān)節(jié)上確定坐標(biāo)系的方向、如何確定相鄰兩個坐標(biāo)系之間的相對平移和旋轉(zhuǎn)量,因此需要采用一種合適的方法來描述相鄰連桿之間的坐標(biāo)方向和參數(shù)。在這里我們運用D-H 參數(shù)法。根據(jù)運動學(xué)模型列出D-H 參數(shù)表1。
圖1 雙足機器人參考坐標(biāo)系Fig.1 The reference frame of a biped robot
表1 雙足機器人運動學(xué)參數(shù)表Tab.1D-HParametersforbipedrobot
根據(jù)上述D-H 法則的坐標(biāo)變換規(guī)則,各個坐標(biāo)之前的齊次變換表示:
根據(jù)以上矩陣,對于此雙足機器人來講,如果各個關(guān)節(jié)角度給定我們可以通過正運動學(xué)模型來確定其具體的位置和方向。齊次變換矩陣從坐標(biāo)i 到坐標(biāo)j 可以通過,i<j 得到。用xiyizi分別表示坐標(biāo)系i 對應(yīng)坐標(biāo)系r 的軸xyz。根據(jù)齊次坐標(biāo)變換矩陣的定義得到各個坐標(biāo)值的部分表達式如下:
其中:
逆運動學(xué)解決的問題是根據(jù)關(guān)節(jié)位置求出關(guān)節(jié)角度,根據(jù)機器人的幾何約束,求解機器人的膝關(guān)節(jié)、髖關(guān)節(jié)等受約束的關(guān)節(jié)角。注意到右腳踝和左腳踝分別用由坐標(biāo)(x1,y1,z1),(x8,y8,z8)和轉(zhuǎn)動角度θ0和θ7來確定。這里使機器人便于直立行走,上肢和豎直平面常常設(shè)置為0。考慮到雙足機器人的機械結(jié)構(gòu)特點其表達式:
由-θ0+θ'1+θ2+θ3=0 可以得到θ3的值。又由于兩腿的對稱性,根據(jù)上式可得到:
為了方便計算我們進行如下符號替換:
我們可以對上述寫成:
根據(jù)求導(dǎo)上式得到:
我們先進行下列定義:
由于兩條腿的對稱性,同理得到右腿關(guān)的表達式:
這樣我們就可以通過預(yù)設(shè)關(guān)節(jié)角度和步態(tài)規(guī)劃,得到準(zhǔn)確的轉(zhuǎn)動角度。
仿人雙足機器人是集移動功能,操作作業(yè)功能以及人際交互功能與一體的多功能機器人。要實現(xiàn)仿人雙足機器人在人類所處的環(huán)境下獨立工作或者協(xié)助人類工作,從機械結(jié)構(gòu)的觀點來看,雙足機器人本身就是不穩(wěn)定的,因為在行走的大部分時期重心是在腳支撐區(qū)域以外的。對于雙足機器人來說穩(wěn)定性可以分為兩種:第一種為外在干擾下每個步行階段都需要動力結(jié)構(gòu)的穩(wěn)定,這意味著,在支撐階段機器人可以保持穩(wěn)定的姿態(tài)。另一種是機器人需要步態(tài)穩(wěn)定,這說明的是可以通過合適的步態(tài)規(guī)劃和調(diào)整使雙足機器人在復(fù)雜的環(huán)境中穩(wěn)定連續(xù)的行走。這里說的穩(wěn)定性是指雙足機器人可以持續(xù)保持預(yù)設(shè)期望的步態(tài)而不摔倒。
步態(tài)規(guī)劃要模仿人類的行走特點,再根據(jù)機器人特有的結(jié)構(gòu)進行,常用的步態(tài)有下列幾種:
第一種步態(tài)如圖2(a)所示,雙腳支撐期和單腳支撐期之間是緊接著出現(xiàn)的,擺動腳在離開和接觸地面時都是和地面平行,但由于具有主動驅(qū)動的關(guān)節(jié),我們完全可以通過轉(zhuǎn)動允許的關(guān)節(jié)角度使ZMP 保持在支撐腳與地面接觸的區(qū)域。我們可以認為這種步態(tài)在雙腳支撐期的初始階段由于是整個腳掌同時著地可能會不穩(wěn)定。
第二種步態(tài)如圖2(b)所示,是在第一種基礎(chǔ)上,加上了擺動腳的關(guān)節(jié)角度,擺動腳離開和接觸地面時都有特定的角度,腳跟先著地然后是整個腳掌,后腳跟抬起,下一步落地時,后腳跟先著地,等到全部著地的同時,支撐腳的后腳跟抬起。大多研究表明這種步態(tài)符合人類自然性走步態(tài)對提高穩(wěn)定性有很大的幫助。
圖2 步態(tài)模式類型Fig.2 Types of walking patterns
第三種步態(tài)如圖3 所示,第三種步態(tài)考慮到雙足機器人與人類結(jié)構(gòu)上的差別,在單腿支撐期和雙腿支撐期之間加入一個過度子階段,在第一個過度子階段,后腳從抬起,擺動到完全落地,支撐腳不動,等完全落地后支撐腳才變?yōu)閿[動腳,以這樣的方式周期性運動。增加了穩(wěn)定性。
由于本研究中的機器人屬于平面雙足步行機器人,腳踝在側(cè)向平面內(nèi)不做左右轉(zhuǎn)動,所以雙腳在y 方向的坐標(biāo)是定值。我們可以用三個參數(shù)來表示腳的軌跡,左腳:(xla(t),zla(t),θla(t)),右腳(xra(t),zra(t),θra(t))。其中x 和z 代表的是坐標(biāo)值;θ 代表腳在離開和接觸地面時都有特定的角度。
圖3 步態(tài)模式優(yōu)化圖Fig 3 The optimized Types of walking patterns
根據(jù)第三種步態(tài)的特性和步行的周期性我們可以這樣完整的描述一個周期的步行過程:假設(shè)奇數(shù)步從右腳的離地開始到右腳第一次與地面接觸結(jié)束,與此同時偶數(shù)步從左腳離開地面開始到左腳與地面接觸后結(jié)束。用T 表示步行周期,D 表示步長,設(shè)N 代表步數(shù),用Td表示單腿支撐的時間,如圖所示:第N 步開始于雙腿支撐期,此時左腳作為之前的擺動腳剛好完全與地面接觸,此時右腳后腳跟正要向上抬起直到達到與地面夾角θ 后離開地面在t=(T+Td)/2 時腳開始擺動, 在這里假設(shè)擺動腳在t=NT+(Td+Ts)/2 時達到軌跡的最高點,t=T+Ts時單腿支撐階段結(jié)(以雙腳支撐期開始)在這里假設(shè)擺動腳在t=NT+(Td+Ts)/2 時達到軌跡的最高點,在t=T+Ts時單腿支撐階段結(jié)束且右腳后腳跟以角度θ 與地面接觸,然后逐步全部接觸,這一過程左腳始終與地面接觸,完成了一個步行周期。之后進入下一個步行周期的雙腳支撐階段的中間階段。此時t=(N+1)T 步時過程是一樣的只是左右腳的動作互換。根據(jù)上述分析,擺動腳的轉(zhuǎn)角方程如下:
擺動腳垂直方向的軌跡方程:
擺動腳的水平軌跡方程:
在步行周期開始時也是上一個步行周期結(jié)束時,要實現(xiàn)平穩(wěn)過渡此時的擺動叫轉(zhuǎn)動的角加速度為零,而且由于右腳腳底作為支撐腳相對于地面是靜止不動的,所以應(yīng)該滿足下列條件:
前向和縱向平面內(nèi)的抬腳和落腳點的速度最低為0,可以是震動和沖擊力減小到最小,我們使其一階導(dǎo)數(shù)為零。
為了生成一條光滑的軌跡,必須滿足一階導(dǎo)數(shù)時可微的和二階導(dǎo)數(shù)時連續(xù)的,再把上述的約束條件帶入固定邊界求出系數(shù)矩陣,在將踝關(guān)節(jié)各個關(guān)鍵時刻的位置、角度帶入插值函數(shù)就可以生成右腳的軌跡。最后我們可以根據(jù)調(diào)節(jié)角度、抬腳高度等生成不同的腳踝軌跡。
同踝關(guān)節(jié)規(guī)劃一樣,因為是平面雙足步行機器人,髖關(guān)節(jié)只會繞y 方向進行轉(zhuǎn)動,左右髖關(guān)節(jié)在y 方向的坐標(biāo)值保持固定不變。髖關(guān)節(jié)的雙足結(jié)構(gòu)特點且受地形的制約,在水平地面上行走最理想的狀況是使軀干與地面保持垂直,方便起見、使髖關(guān)節(jié)軌跡保持成一條水平的直線。這樣做的目的也是避免重心在豎直方向擺動幅度太大造成機器人的不穩(wěn)定性。我們設(shè)為髖關(guān)節(jié)在z 方向為定值。
我們用Xs 表示在單腿支撐期開始時髖關(guān)節(jié)到支撐腳的踝關(guān)節(jié)在X 方向的距離、用Xe表示在單腿支撐期結(jié)束時髖關(guān)節(jié)到支撐腳的踝關(guān)節(jié)在X 方向的距離,我們可以設(shè)定X 方向的約束條件:
因為單腳支撐期相對于雙腳支撐期的不穩(wěn)定性,我們可以讓髖關(guān)節(jié)在雙腳支撐期間進行快移動,而在單腳支撐期相對進行較慢移動。注意到Xs,Xe對于步行機器人的穩(wěn)定性重要的參數(shù),根據(jù)參考文獻[2]提出了允許的最大穩(wěn)定范圍,在這里我們設(shè)髖關(guān)節(jié)和踝關(guān)節(jié)之間0.5 個步長。
如上分析雙足機器人的軌跡由兩部分組成,腳踝軌跡和髖關(guān)節(jié),知道了這兩個軌跡我們就可以通過逆運動學(xué)確定所有關(guān)節(jié)的軌跡。通過上述軌跡計算并在Matlab中仿真進行演示結(jié)果如下,其中步態(tài)仿真的圖4 中,其后腳跟和前腳與地面接觸最大30°,而步態(tài)仿真的圖5 中是60°。
圖4 步態(tài)仿真圖Fig.4 Gait simulation
本文通過運動學(xué)建模,然后運用逆運動學(xué)的求解,最后基于三次樣條線性差值完成了雙足機器人的步態(tài)規(guī)劃??紤]到單腳支撐到雙腳支撐的光滑過度的重要性,設(shè)計了合適的步模式,最后通過仿真實驗進行了驗證。
[1]Gouwanda D, Senanayake S, Marasinghe M, etal. Real time force sensing mat for human gait analysis[J]. World Acad. Sci. Eng. Technol, 2008,15.
[2]A.Goswami,Postural Stability of Biped Robots and the Foot-Rotation Indicator (FR1) Point, The International Journal of Robotics Research,18,6,pp.523-533,1999.
[3]李國棟,李光日同,田玉敏.一種用于測量機器人ZMP 的多點壓力傳感器[J].微計算機信息,2010,17.
[4]Shuuji Kajita,Hirohisa Hirukawa,Kensuke Harada, Introductiont to Humanoid Robotics.
[6]Q.Huang and S.Kajita.Planning Walking Patterns for a Biped Robot,IEEE Transactions on Robotics and Automation,Vol.17,No.3,200.