肖 樂,殷晨波,謝從華
(1.常熟理工學(xué)院 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 常熟 215500;2.南京工業(yè)大學(xué) 機(jī)械與動(dòng)力工程學(xué)院,江蘇 南京 210009)
與其他機(jī)器人相比,擬人機(jī)器人具有更好的行動(dòng)力,尤其是在不平整地面、斜坡、樓梯等復(fù)雜地面上行走時(shí),擬人機(jī)器人具有無法比擬的優(yōu)勢(shì).以往研究穩(wěn)定行走的方法多是采用離線方式規(guī)劃出滿足特定要求的運(yùn)動(dòng)軌跡,直接將步態(tài)軌跡規(guī)劃的理論用于步行實(shí)驗(yàn)[1-2],這樣做的問題主要有三個(gè)方面:一是擬人機(jī)器人樣機(jī)與機(jī)構(gòu)設(shè)計(jì)結(jié)構(gòu)總是有一定的誤差,無法精確描述;二是機(jī)器人控制驅(qū)動(dòng)系統(tǒng)在復(fù)現(xiàn)步態(tài)規(guī)劃的理論結(jié)果時(shí),總有一定的誤差;三是機(jī)器人所在的環(huán)境,跟步態(tài)規(guī)劃中的環(huán)境模型存在一定的偏差.也有機(jī)構(gòu)采用各種在線修正算法來實(shí)現(xiàn)針對(duì)實(shí)際行走環(huán)境的穩(wěn)定持續(xù)行走,步態(tài)通過上身位置與時(shí)間的對(duì)應(yīng)關(guān)系進(jìn)行調(diào)整,通過計(jì)算實(shí)際值與規(guī)劃值之間的差值,所得誤差經(jīng)過簡單快速處理后得出控制關(guān)節(jié)所需的扭矩,送回控制系統(tǒng)進(jìn)行在線步態(tài)調(diào)節(jié)控制[3-7],但是由于地面條件與理想不符、系統(tǒng)模型不準(zhǔn)確、運(yùn)動(dòng)學(xué)上未考慮的某些非線性因素、動(dòng)力學(xué)方程中各矩陣的計(jì)算誤差等原因,很難取得理想的步行控制效果,傳統(tǒng)的維持機(jī)器人穩(wěn)定控制技術(shù)大多是基于模型的控制方法,無法得到滿意的軌跡跟蹤效果,導(dǎo)致機(jī)器人不能按預(yù)先規(guī)劃的姿態(tài)行走而摔倒[8].本文研究了機(jī)器人如何在未知環(huán)境下實(shí)時(shí)調(diào)整姿態(tài),包括著地時(shí)間控制、落地位置控制和減振控制等方法,很好地控制了機(jī)器人的整個(gè)行走過程,使機(jī)器人時(shí)刻保持良好的穩(wěn)定性.
在機(jī)器人的行走過程中,擺動(dòng)腿的落地時(shí)間是在步態(tài)規(guī)劃時(shí)所設(shè)置的.但是步態(tài)規(guī)劃是在假定地面絕對(duì)水平的前提下進(jìn)行的,它并不是機(jī)器人在真實(shí)行走中的落地時(shí)間.因此,有必要對(duì)落地時(shí)間進(jìn)行補(bǔ)償.傳統(tǒng)的落地時(shí)間控制僅僅是在擺動(dòng)腿根據(jù)步態(tài)規(guī)劃的著地時(shí)間還沒有和地面接觸時(shí),延緩行走步態(tài)流程.這種落地時(shí)間的滯后是由于地面的局部傾斜使得機(jī)器人向外傾斜所致.相反,如果機(jī)器人向內(nèi)傾斜,它將在預(yù)期時(shí)間之前著地來防止跌倒,如圖1所示.
在機(jī)器人向外傾斜的情況下,如果機(jī)器人不跌倒,那么只須延緩步態(tài)流程直到檢測(cè)到擺動(dòng)腳底的地面反作用力為止.然而,如果機(jī)器人是向內(nèi)傾斜,就必須被提前檢測(cè)到.在左右髖關(guān)節(jié)各裝一個(gè)x方向的陀螺儀,可以通過角速度補(bǔ)償落地時(shí)間.x方向的角速度由陀螺儀測(cè)得,左腿支撐期由左髖關(guān)節(jié)的陀螺儀測(cè)得,右腿支撐期由右髖關(guān)節(jié)的陀螺儀測(cè)得.
當(dāng)角速度由正變負(fù)或由負(fù)變正時(shí),往往發(fā)生在擺腿擺到最高點(diǎn)的時(shí)候.如圖2所示,x軸代表時(shí)間,y軸代表陀螺儀的轉(zhuǎn)速或擺動(dòng)腿的擺動(dòng)高度.為了方便起見,角速度用直線表示(見圖3).在通常情況下,機(jī)器人身體側(cè)向擺動(dòng)的角速度會(huì)在A和B之間穿過x軸,因?yàn)楣桥鑲?cè)向位移方向的改變與擺動(dòng)腿達(dá)到最高點(diǎn)會(huì)有一個(gè)時(shí)間的滯后.如果機(jī)器人向內(nèi)傾斜,則髖關(guān)節(jié)的角速度會(huì)在A點(diǎn)之前穿過x軸.這時(shí),就需要提前降低擺動(dòng)腿.其原理闡述如下:1.在步行周期的第一或第三個(gè)階段,通過測(cè)量x方向的角速度得到角速度曲線穿過x軸的點(diǎn).2.如果這個(gè)點(diǎn)在A和B之間,說明機(jī)器人不會(huì)提前著地.機(jī)器人可以規(guī)劃的軌跡正常行走.3.如果這個(gè)點(diǎn)發(fā)生在比A點(diǎn)早△t的時(shí)間點(diǎn),就使擺動(dòng)腿提前△t的時(shí)間著地.
用這種方法能夠優(yōu)化機(jī)器人的著地時(shí)間,使機(jī)器人每一步的落地時(shí)間都是最佳時(shí)間,機(jī)器人就能穩(wěn)定行走.
圖1 機(jī)器人傾斜情況
圖2 髖關(guān)節(jié)角速度和擺動(dòng)腿軌跡
圖3 落地時(shí)間控制
和落地時(shí)間相似,落地時(shí)間補(bǔ)償也很重要.機(jī)器人的落地時(shí)間和落地位置在機(jī)器人的行走過程中是很重要的兩個(gè)因素,因?yàn)闄C(jī)器人行走最終實(shí)現(xiàn)的就是這兩個(gè)因素.首先考慮人類的行走,落腳點(diǎn)是連續(xù)變化的.這一現(xiàn)象表明人們通過使用前庭器官來產(chǎn)生到達(dá)期望落地點(diǎn)所需的角動(dòng)量.例如,如果落地角速度太大,那么我們會(huì)把步子跨大點(diǎn),使落地點(diǎn)遠(yuǎn)離身體重心來減小著地時(shí)的角速度.同樣的,擬人機(jī)器人也需要通過傳感器的反饋控制對(duì)預(yù)期著地點(diǎn)進(jìn)行調(diào)整,優(yōu)化實(shí)際的落地位置.我們可以通過角動(dòng)量在落地前補(bǔ)償著地位置,使得機(jī)器人的擺動(dòng)腿在合適的位置著地.
圖4是機(jī)器人在著地前和著地后的狀態(tài).公式(1)用沖擊模式來表示機(jī)器人的落地模式.
其中,ωBL是落地前瞬時(shí)的角速度,ωAL是落地后瞬時(shí)的角速度,I是相對(duì)于支撐點(diǎn)的慣性矩,M是擺動(dòng)腿開始著地時(shí)作用于踝關(guān)節(jié)的力矩,Δt是M的作用時(shí)間,IωAL是落地后瞬時(shí)的期望角動(dòng)量,IωBL是落地前瞬時(shí)測(cè)得的角動(dòng)量.因此,有必要用 MΔt對(duì)IωAL進(jìn)行調(diào)節(jié),因?yàn)镮ωBL是隨著機(jī)器人的行走而變化的.公式(1)可以寫成如下形式:
其中,Ma是擺動(dòng)腳剛開始落地時(shí)由地面反作用力作用在踝關(guān)節(jié)的力矩,mgd由重力作用在踝關(guān)節(jié)的力矩.因此,落地點(diǎn)d,也就是距離身體中心的距離可由下式得到:
圖4 落地位置控制
然而,實(shí)際上d是由步態(tài)規(guī)劃所決定的.如果我們把預(yù)期的落地點(diǎn)記為dpre,那落地點(diǎn)的補(bǔ)償量就可由d和dpre之差乘上一個(gè)比例增益kp得到.最終的落腳點(diǎn)dfinal就可以由dpre加上這個(gè)補(bǔ)償量得到.
當(dāng)機(jī)器人行走的時(shí)候,擺動(dòng)腿會(huì)有一定的振動(dòng).這是由于腿和盆骨之間的框架會(huì)有一定的偏斜,而且減速齒輪存在很小的齒側(cè)間隙.這個(gè)振動(dòng)量并不大,但會(huì)影響到落腳點(diǎn)精度的控制.如果落地點(diǎn)控制的精度超出了±3 mm的范圍,落地點(diǎn)控制器將不能很好地發(fā)揮作用.因此對(duì)落地點(diǎn)位置控制來講,減振是必需的.
圖5是擺動(dòng)腿的數(shù)學(xué)模型,u是輸入的髖關(guān)節(jié)角度,θ是實(shí)際髖關(guān)節(jié)角度,m是腳的質(zhì)點(diǎn),l是從質(zhì)點(diǎn)到髖關(guān)節(jié)的距離,k是彈簧的扭轉(zhuǎn)剛度.系統(tǒng)的運(yùn)動(dòng)方程可以表示為
圖5 擺動(dòng)腿數(shù)學(xué)模型
傳遞函數(shù)可以表示為
以上的傳遞函數(shù)是一個(gè)在拉普拉斯域的虛軸上有兩個(gè)極點(diǎn)的邊界穩(wěn)定系統(tǒng).通過靜態(tài)單腳支撐期的擺動(dòng)腿的三個(gè)實(shí)驗(yàn)可以求得振動(dòng)周期,從而得到k/ml2.
圖6 減振控制框圖
圖7 擺動(dòng)腿的自由振動(dòng)響應(yīng)
本文對(duì)擬人機(jī)器人雙足穩(wěn)定行走控制方法進(jìn)行了深入研究,提出擬人機(jī)器人在復(fù)雜環(huán)境中如何通過落地時(shí)間控制、落地位置控制和減振控制等方法,使機(jī)器人獲得新的支撐區(qū)域,恢復(fù)穩(wěn)定,提高穩(wěn)定行走能力,為實(shí)現(xiàn)擬人機(jī)器人實(shí)時(shí)控制奠定了基礎(chǔ).
[1]Harada K,Kajita S.Real-Time Planning of Humanoid Ro?bot's Gait for Force Controlled Manipulation[C].New Or?leans:Proceedings of the 2004 IEEE International Confer?ence on Robotics and Automation,2004:616-622.
[2]Eaton M,Thomas J,Davitt.Evolutionary Control of Bipedal Locomotion in High Degree-of-freedom Humanoid Robot:First Steps[J].Artificial Life and Robotics,2007 11(1):112-115.
[3]付根平,楊宜民,陳建平,等.基于ZMP誤差校正的擬人機(jī)器人步行控制[J].機(jī)器人,2013,35(1):39-44.
[4]J H Kim,J H Oh.Walking Control of the Humanoid Platform KHR-1 based on Torque Feedback Control[C].New Orleans:Proceed?ings of the 2004 IEEE International Conference on Robotics and Automation,2004:623-628.
[5]陳磊,張國良,張維平,等.基于模糊控制的擬人機(jī)器人零力矩點(diǎn)在線調(diào)整[J].計(jì)算機(jī)應(yīng)用,2013,33(SI):298-300.
[6]Napoleon,Nakaura S,Sampei M.Balance Control Analysis of Humanoid Robot based on ZMP Feedback Control[C].Lausanne:Pro?ceedings of the 2002 IEEE/RSJ International Conference on Intelligent Robots and System,2002:2437-2442.
[7]肖樂,常晉義,殷晨波.仿人機(jī)器人穩(wěn)定性分析[J].常熟理工學(xué)院學(xué)報(bào),2011,25(2):109-112.
[8]胡凌云,孫增圻.擬人機(jī)器人步態(tài)控制研究方法綜述[J].計(jì)算機(jī)研究與發(fā)展,2005,42(5):728-733.