汪首坤, 劉道和, 王修文, 徐康, 陳志華, 王軍政
(1.北京理工大學(xué) 自動化學(xué)院,復(fù)雜系統(tǒng)智能控制與決策國家重點實驗室,北京 100081;2.北京理工大學(xué) 自動化學(xué)院,伺服運動系統(tǒng)驅(qū)動與控制工信部重點實驗室,北京 100081)
6足機器人冗余的肢體結(jié)構(gòu)使其對于復(fù)雜的環(huán)境有著較好的適應(yīng)性,自20世紀80年代以來,國內(nèi)外多所大學(xué)和研究機構(gòu)相繼研制成功了Genghis、aeril、asterisk、noros等性能卓越的6足機器人并對基礎(chǔ)理論進行了深入探索[1]. 步態(tài)規(guī)劃與控制作為研究的關(guān)鍵內(nèi)容,為機體運動提供理論落足點,影響機器人整體性能. 根據(jù)行走過程中機器人重心鉛垂線是否始終保持在支撐相內(nèi)可將步態(tài)分為靜步態(tài)和動步態(tài)[2-3]. 間歇匍匐步態(tài)是將機器人軀干與腿部移動分開處理,也稱為間歇步態(tài)[4]. Ma等[5]指出,在所有的爬行步態(tài)中,機器人以間歇步態(tài)行走時穩(wěn)定裕度最大. 間歇步態(tài)能夠顯著減少機器人的慣性效應(yīng)和動力學(xué)擾動,適用于負重能力強,對運動速度要求不高但對穩(wěn)定性要求較高的機器人.
目前,6足機器人普遍采用三角步態(tài)等規(guī)律性步態(tài),雖能初步實現(xiàn)機器人的穩(wěn)定行走,但足端軌跡固化,步幅相對固定,難以靈活調(diào)整方向和速度[6]. 為此,有學(xué)者分別基于局部規(guī)則和CPG原理,提出了自由步態(tài)規(guī)劃方法[4,7-8]. Porta等[9]將足端位置轉(zhuǎn)化為符號,利用符號定義運動規(guī)則,解決了機器人在任意運動路徑下的自由步態(tài)規(guī)劃問題;趙杰等[10]在研究足間約束機制的基礎(chǔ)上,基于分布式局部規(guī)則網(wǎng)絡(luò)提出了一種自由步態(tài)規(guī)劃方法. 基于局部規(guī)則的自由步態(tài)規(guī)劃具備較強的魯棒性和適應(yīng)性,但其步幅、步序受環(huán)境制約,收斂性無法保證. 基于CPG原理的步態(tài)規(guī)劃模仿生物行走的節(jié)律觸發(fā),將各足視為固化特定運動的神經(jīng)元,周期性觸發(fā)各足運動以實現(xiàn)機器人行走. Santos等[8]構(gòu)建了參數(shù)集合驅(qū)動的CPG模型,規(guī)劃不同占空比的自由步態(tài);孫立寧等[11]基于互抑神經(jīng)元組建關(guān)節(jié)CPG網(wǎng)絡(luò),調(diào)整閾值實現(xiàn)機器人的穩(wěn)定行走. 基于CPG原理的自由步態(tài)規(guī)劃方法控制簡單、響應(yīng)迅速,但步態(tài)較為機械難以平滑切換不同步態(tài).
綜上所述,現(xiàn)有機器人步態(tài)規(guī)劃和分析主要集中在落足點規(guī)劃和規(guī)律性運動上,很少涉及運動過程中速度和方向的連續(xù)調(diào)整. 機器人行走速度矢量的連續(xù)調(diào)整是全方位行走的基石,通常將平動與轉(zhuǎn)動結(jié)合映射為平面內(nèi)繞旋轉(zhuǎn)中心的轉(zhuǎn)動[12]. 這樣既便于設(shè)計步態(tài),也建立速度矢量和步態(tài)的對應(yīng)關(guān)系,可實現(xiàn)行走過程中矢量參數(shù)的連續(xù)調(diào)整. 許多學(xué)者在此方法的基礎(chǔ)上實現(xiàn)了4足機器人的全方位移動[3]. 然而以上方法所采用的基本步態(tài)均為協(xié)調(diào)步態(tài),保證了行走連續(xù)性但穩(wěn)定性大打折扣.
針對上述問題,本文提出了一種基于速度矢量的三角間歇步態(tài)規(guī)劃控制方法,進行了算法推導(dǎo)和性能分析,仿真和實驗實現(xiàn)了6足機器人連續(xù)穩(wěn)定行走并驗證了方法的有效性.
本文所研究對象為實驗室自主研制的電動并聯(lián)式6輪足機器人,如圖1所示,該機器人每條腿采用由6根電動缸驅(qū)動的異形Stewart平臺,足端點連線在X-Y平面投影為正6邊形. 平臺倒置加裝移動輪并通過傳動連桿驅(qū)動,該機器人兼具足式和輪式運動,并聯(lián)腿部結(jié)構(gòu)使其具有較大的負載能力且自由度豐富,可用于復(fù)雜環(huán)境的勘探、搶險救災(zāi)中的物資人員運輸?shù)? 本文只針對足式步態(tài)研究,不涉及輪式運動的建模分析,機器人的詳細參數(shù)如表1所示.
圖1 6輪足機器人
表1 機器人詳細參數(shù)
無論是串聯(lián)機構(gòu)還是并聯(lián)機構(gòu)組成的腿部結(jié)構(gòu)均能夠?qū)崿F(xiàn)足端的三維空間運動,不失一般性本文給出了圓周對稱形分布6足機器人運動學(xué)基本模型,如圖2所示.
圖2 6足機器人運動學(xué)模型
機體坐標(biāo)系O-XYZ以身體中心為原點,X軸為正方向. 定義本文中其余坐標(biāo)均為O-XYZ下的坐標(biāo)表示. 腿部編號順序為左前腿LF=1,左中腿LM=2,左后腿LH=3,右后腿RH=4,右中腿RM=5,右前腿RF=6.Oli(i=1,2,…,6)為每條腿基座坐標(biāo)系的圓點. 每條腿都能夠?qū)崿F(xiàn)X軸、Y軸和Z軸3個方向的運動,在X-Y平面內(nèi)的工作空間Ci是半徑為ri的圓. 因大部分足式機器人均可實現(xiàn)3維空間運動,故該結(jié)構(gòu)具有普適性.
6足機器人三角步態(tài)是單個邁步周期中擺動與支撐腿數(shù)目相同且支撐相的3條腿所構(gòu)成的支撐面恰好是等邊三角形的步態(tài),保證了機器人的重心在地面投影落在三角形內(nèi)部且靠近中心點,是穩(wěn)定性最好的步態(tài). 本文采用普遍采用的三角步態(tài)并增加所有腿同時支撐的過程以克服擺動腿的慣性效應(yīng),其狀態(tài)機如圖3所示. 圖中視圖為足端點在X-Y平面的投影,假設(shè)機器人重心點與身體中心點重合. 機器人重心只在6腿支撐時移動,最大程度減小身體晃動. 按順時針方向切換狀態(tài)機,擺動和支撐交替進行,Tgh(g,h=1,2,…,4)表示從狀態(tài)g到狀態(tài)h的時間.
圖3 基本三角間歇步態(tài)及狀態(tài)機
6足機器人靜步態(tài)行走穩(wěn)定性可用穩(wěn)定裕度描述. 對于矢狀平面內(nèi)行走的機器人,定義其靜態(tài)穩(wěn)定裕度為機器人質(zhì)心距離支撐三角形邊界距離最小值. 當(dāng)重心投影落在三角形內(nèi)部時,抬腿也會增加身體姿態(tài)晃動量. 以支撐腿2和4為支點舉例,簡化身體為杠桿模型,如圖4所示,則給出抬腿前和抬腿時的力平衡方程(1)和(2).
圖4 身體簡化的杠桿模型
抬腿前力平衡方程
F1L1-GLg=F3L3
(1)
抬腿時力平衡方程
(2)
將Lg定義為靜態(tài)穩(wěn)定裕度,抬腿模型近似為非線性二階系統(tǒng),包括F1中的非線性部分以及慣性力Fa帶來的擾動,因此抬腿晃動的原因有兩方面:
① 對角腿末端懸掛力F1在擺動腿離地瞬間未發(fā)生突變打破原有力平衡,造成身體姿態(tài)晃動.
② 擺動腿離地產(chǎn)生慣性力Fa帶來晃動.
對于大體積大負載機器人,這種晃動會給穩(wěn)定性帶來沖擊. 此外,腿部末端形變的位姿擾動、姿態(tài)傳感器誤差和重心位置計算偏差都會造成理論重心和實際重心投影不相符,需要盡可能增大穩(wěn)定裕度.
三角間歇步態(tài)的穩(wěn)定裕度高,適用于大負重足式機器人穩(wěn)定行走. 而以往的間歇步態(tài)研究集中在單一方向,并未實現(xiàn)連續(xù)調(diào)整行走速度和方向.
(3)
由圖3知間歇步態(tài)的機身移動在支撐相中實現(xiàn). 因此步態(tài)規(guī)劃的關(guān)鍵是選擇合適的支撐相起始點(擺動相落足點)并規(guī)劃支撐相軌跡使機器人按期望軌跡運動.
基于以上目的,本文給出了基于速度矢量的三角間歇步態(tài),如圖5所示,以狀態(tài)1~3為例. 在腿部工作空間約束范圍內(nèi)該步態(tài)可實現(xiàn)身體繞任意旋轉(zhuǎn)中心運動,且保證身體中心軌跡平滑連續(xù).
圖5 基于速度矢量的三角間歇步態(tài)
結(jié)合步態(tài)狀態(tài)機可得計算過程:
① 狀態(tài)1(3),由速度矢量參數(shù)計算坐標(biāo)系下O-XYZ的旋轉(zhuǎn)中心坐標(biāo)Q=[xqyq]T;
③ 狀態(tài)1(3),計算支撐相起始位置Psi;
④ 狀態(tài)1→2(3→4),擺動相軌跡規(guī)劃;
⑤ 狀態(tài)2→3(4→1),支撐相軌跡規(guī)劃.
2.2.1最大旋轉(zhuǎn)角速度分析
(4)
式中:θmax為∠PsiQPcei在X-Y平面上的投影;運動時間tst=t23+t41. 約束角速度絕對值不超過最大旋轉(zhuǎn)速度以避免超出工作空間. 因速度約束在計算旋轉(zhuǎn)中心點之后,故不影響運動軌跡.
圖6 支撐腿的工作空間
2.2.2改進足端零沖擊擺線的軌跡規(guī)劃
由Pei運動到支撐相起始位置Psi的擺動相軌跡應(yīng)滿足抬腿和觸地瞬間0沖擊,且位移曲線光滑連續(xù)的條件. 王立鵬等[11]提出了復(fù)合擺線的軌跡規(guī)劃,雖然滿足以上條件,但規(guī)劃的抬腿與落地曲線對稱,無法分別改變2種動作的時間. 因此,本文提出了改進的足端0沖擊擺線,可獨立安排抬腿與落地時間以得到更精確的運動軌跡,以抬腿高度為例,軌跡方程如下.
假設(shè)擺動相周期為T,劃分T為3段,即上升段[0,t1),平穩(wěn)段[t1,t1+t2)以及下降段[t1+t2,t1+t2+t3],滿足T=t1+t2+t3=bt1,以及t2=at1,a和b為分段系數(shù). 設(shè)抬腿高度為H,復(fù)合擺線函數(shù)如下
(5)
(6)
給定參數(shù)H=0.1 m,T=2 s,a=3,b=10,抬腿高度、速度曲線如圖7所示. 由圖7可知,改變系數(shù)a和b可分別調(diào)整上升段、平穩(wěn)段以及下降段的時間,滿足足端0沖擊的同時抬腿周期和高度也符合預(yù)期. 支撐相軌跡規(guī)劃同樣可采用此方法.
圖7 抬腿高度軌跡規(guī)劃曲線
2.2.3增量式支撐相軌跡規(guī)劃
(7)
(8)
由式(8)理論上可得變速度矢量下身體移動的連續(xù)位移曲線,而擺動相的運動軌跡只與起始位置Pei和終點位置Psi有關(guān),故變速度矢量不影響擺動相軌跡. 另一方面,足端工作空間在變速度矢量下是時變的,為簡化為需求空間的計算,只在狀態(tài)2(4)時更新旋轉(zhuǎn)中心、約束旋轉(zhuǎn)角速度以及支撐相起始位置. 旋轉(zhuǎn)中心在單個步態(tài)周期內(nèi)最多變化一次,如圖8所示.
圖8 變速度矢量的三角間歇步態(tài)
為驗證所提出方法的可行性和有效性,建立虛擬樣機模型并進行Matlab-Adams仿真分析,然后在物理樣機上進行實驗驗證.
圖9為運動中機身的橫滾和俯仰角度變化,更好地表示了機器人的晃動幅度,圖10為分別采用三角間歇步態(tài)和連續(xù)步態(tài)行走時身體中心軌跡與期望軌跡曲線. 對比可看出連續(xù)步態(tài)的偏差更大,且因變速度矢量使得誤差積累導(dǎo)致誤差進一步增加. 三角間歇步態(tài)運動過程機身重心投影始終在支撐三角形內(nèi),故穩(wěn)定裕度大于0,但機身依舊有晃動. 圖11以右前腿為例分析不同步態(tài)行走的足端接觸力變化,在相同接觸條件下采用連續(xù)步態(tài)的足端沖擊力更大,容易給機身造成沖擊帶來較大的晃動量. 步態(tài)B的橫滾和俯仰角變化幅度較步態(tài)A更小,旋轉(zhuǎn)角速度的大小對機身晃動有顯著影響,角速度大的步態(tài)晃動更明顯. 表2為運動過程中步態(tài)A和步態(tài)B的橫滾及俯仰角方差,同樣可知步態(tài)B的晃動幅度更小.
圖9 不同步態(tài)橫滾角度和俯仰角度曲線
圖10 不同步態(tài)的X-Y平面運動軌跡
圖11 不同步態(tài)足端接觸力對比
表2 步態(tài)A/B橫滾角度及俯仰角度方差
圖12給出了機器人運動截圖,實線為身體中心運動軌跡,虛線箭頭標(biāo)注速度矢量方向.
圖13為運動過程中機器人機身橫滾角和俯仰角變化,使用Mti-300角度傳感器,采樣間隔10 ms. 由圖13知三角間歇步態(tài)行走的姿態(tài)波動與仿真結(jié)果基本一致,橫滾角度在-0.5°~0.5°范圍波動,俯仰角度波動范圍-1°~1°,晃動量在可接受范圍內(nèi),保證了運動穩(wěn)定性和軌跡準確性. 同時,在速度矢量改變時身體晃動量絕對值基本不變,能夠?qū)崿F(xiàn)運動軌跡的平滑過渡,從而驗證所提出算法的有效性.
圖12 基于速度矢量的三角間歇步態(tài)行走
圖13 橫滾角度和俯仰角度曲線
本文提出了一種可實現(xiàn)變速度矢量運動的6足機器人三角間歇步態(tài)規(guī)劃方法,推導(dǎo)了完整的規(guī)劃算法. 仿真和實驗均驗證了該方法能實現(xiàn)連續(xù)可控的全方位運動,并且具有較好的穩(wěn)定性. 所提出方法并未考慮機器人的機械結(jié)構(gòu)與驅(qū)動方式,不僅適用于本文所實驗的電動并聯(lián)式6輪足機器人,也可用于串聯(lián)式或氣動、液壓式多足機器人的全方位運動,特別適用于大負重6足機器人.