說機器人研究了幾十年沒多大進展?一位機器人從業(yè)者看不下去了……
為什么有些雙足機器人能像人一樣直立行走厘贼,還不容易倒诚卸?
你有沒有想過這么一個問題:那些能直立行走的機器人是怎么保持行走平衡的葵第?
編者按:此前,深圳灣(微信公眾號 ID:shenzhenware)報道過能直立行走的擬人步態(tài)機器人 DURUS 合溺,至于類似的行走機器人卒密,當然還有大家熟悉的波士頓動力 Altas。要讓機器人實現(xiàn)直立行走棠赛,不僅要有底層可靠的硬件基礎(chǔ)哮奇,還要有上層成熟的軟件技術(shù),而機器人行走所涉及的平衡算法是其中重要的一部分睛约。本文主要介紹雙足平衡的主流算法——基于 ZMP 的動態(tài)步行屏镊,本文作者系一名機器人專業(yè)在讀研究生——龔睿。
雙足機器人涉及的平衡算法比較多痰腮,例如「增量式模糊控制 PD 控制算法」,「機器學習算法」等律罢,本文主要側(cè)重于介紹一種應用于復雜地形(帶有傾斜角度的或表面不均勻的落腳面)的平衡算法膀值。
雙足機器人的平衡控制都經(jīng)歷過哪些階段?
在最開始误辑,雙足機器人使用的平衡控制策略是「靜態(tài)步行」(static walking)沧踏。這種策略的特點是:機器人步行的過程中,重心(COG巾钉,Center of Gravity)的投影始終位于多邊形支撐區(qū)域(support region)內(nèi)翘狱,這種控制策略的好處在于:機器人可以在行走動作中停止而不摔倒,但代價是行動速度非常遲緩(每一步需要花費10 秒甚至更長砰苍,因為需要保持重心的投影始終位于支撐區(qū)域潦匈,否則將不穩(wěn)定)。
· 圖 1:靜態(tài)步行
因為靜態(tài)步行和人類的期望相差甚遠赚导,于是人類開發(fā)出來了另一種步行平衡策略——「動態(tài)步行」(dynamic walking)茬缩。在動態(tài)步行中,機器人的行動速度被提升至了每步不超過 1 秒吼旧。但其弊端也是顯而易見的凰锡,機器人難以在運動的狀態(tài)下立即停頓(慣性的作用),從而使得機器人在狀態(tài)轉(zhuǎn)換的過程中變得不穩(wěn)定。
為了解決慣性帶來的影響掂为,零力矩點(ZMP裕膀,zero moment point)被引入到了這一控制策略中。在單腳支撐相中勇哗,ZMP=COG昼扛。其好處在于,當 ZMP 嚴格的存在于機器人的支撐區(qū)域中智绸,機器人則絕對不會摔倒野揪。
· 圖 2:引入了 ZMP 的動態(tài)步行
雙足平衡的主流——基于 ZMP 的動態(tài)步行
現(xiàn)在雙足平衡的主流是用基于 ZMP 的動態(tài)步行。從上述的基本內(nèi)容來看瞧栗,雙足機器人的一條腿就可以抽象成控制系統(tǒng)中最基本的「倒立擺」模型斯稳。
· 圖 3:倒立擺模型
可以推導出機器人的一條腿的正向 ZMP 動力學公式為:
· 圖 4:正向 ZMP 動力學公式,其中:Xzmp 代表正向 ZMP迹恐,Xmc 代表質(zhì)量中心的前進位移挣惰,l 是倒立擺的長度,g 是重力加速度殴边。
由于復雜地形的雙足平衡無法由單一的控制器實現(xiàn)憎茂,所以多個控制器的切換策略被用于解決平衡問題。在這一個策略中锤岸,機器人的行走被設(shè)定為一個周期(cycle)每一個周期被分成了不同的行走階段(stage)竖幔,如下圖所示:
· 圖 5:雙足機器人的行走周期和行走階段
圖中的 1 - 4 階段是一個周期。而在第 2 和第 4 階段可以發(fā)現(xiàn)是偷,在這兩個階段中拳氢,機器人的 SSP 與 DSP 發(fā)生了「共存」,即同時存在狀態(tài)蛋铆。
在一般的雙足平衡的算法中包含了三種控制策略:
A.實時平衡控制策略(real-time balance control strategy)
B.步行模式控制策略(walking pattern control strategy)
C.行動預測控制策略(predicted motion control strategy)
基于不同策略的不同目的馋评,每一種控制策略都包含了多種在線控制器(online controller),下面將分述每一種策略的任務(wù)及使用的控制器:
A.實時平衡控制策略
控制器 1:阻尼控制器(Damping controller)刺啦。
目的:在 SSP 模式下留特,消除機器人上半身的振動。作用階段:1玛瘸、3 全階段蜕青;2、4 中的 SSP 階段糊渊。
控制器 2:ZMP 補償器(ZMP compensator)市咆。
目的:保持機器人骨盆關(guān)節(jié)(如圖6所示)在動態(tài)運動中水平方向的平衡。作用階段:1再来、3全階段蒙兰;2磷瘤、4 中的 SSP 階段。
· 圖 6:機器人的骨盆(pelvis)關(guān)節(jié)示意圖
控制器 3 :軟著陸控制器(Soft landing controllers)搜变。
目的:吸收機器人腳著陸時的撞擊采缚,調(diào)節(jié)機器人腳與著陸區(qū)的接觸面。作用階段:2挠他、4 中的 DSP 階段扳抽。
B.步行模式控制策略
控制器 1:骨盆搖擺振幅控制器(Pelvis swing amplitude controller )。
目的:補償機器人骨盆關(guān)節(jié)側(cè)部搖擺振幅殖侵。作用階段:2贸呢、4 中的 DSP 階段。
控制器 2:軀干俯仰角/側(cè)傾角控制器(Torso pitch/roll controller ) 拢军。
目的:補償骨盆關(guān)節(jié)的中心位置相對于軀干的俯仰角/側(cè)傾角搖擺楞陷。作用階段:2、4 中的 DSP 階段茉唉。
C.行動預測控制策略
控制器 1:過傾斜控制器(Tilt over controller )
目的:補償機器人踝關(guān)節(jié)軌跡固蛾,以避免機器人在壓延方向上的過傾斜。作用階段:1度陆、3 全階段艾凯。
控制器 2:著陸位姿控制器(Landing position controller ) 。
目的:避免機器人腳著陸時造成的不穩(wěn)定懂傀。作用階段:2趾诗、4全階段。
然而蹬蚁,一般的雙足平衡算法無法解決地形不均勻或地形傾斜的問題沧竟,因此,在地形不均勻或地形傾斜這種復雜環(huán)境中缚忧,一些新的控制需要被引入:
A1.直立姿態(tài)控制器(Upright Pose Controller )
這種控制器可以使機器人在傾斜地形中始終保持直立姿勢,從而保持整個機體的平衡杈笔。對于雙足機器人而言闪水,傾斜地形的「全局傾斜角」的測量就顯得尤為重要。一般采用的測量方法是在機器人的軀體內(nèi)部安裝一個 2 軸的加速度計蒙具,再加上一個低通濾波器就可以構(gòu)成一個傾斜計球榆。
對于機器人的俯仰姿態(tài)控制,在規(guī)定的踝關(guān)節(jié)軌跡上禁筏,直立姿態(tài)控制器附加了含有俯仰誤差的 PI 控制器:
直立姿態(tài)控制器則可由下列等式實現(xiàn):
圖 7 更加直觀的反映出了使用控制器之前與之后的俯仰控制平衡性差異:
圖 8 顯示了使用控制器之前與之后的側(cè)傾控制平衡性差異:
后記
以上介紹的是一種應用于復雜地形平衡控制算法持钉,另外也有一些沒有利用 ZMP 傳感器進行平衡控制的機器人,比如篱昔,德國航空航天局下屬的機器人學和機電學研究所(Institute of Robotics and Mechatronics)在 2011 年發(fā)布的一款名為「DLR」的機器人每强,與一般基于 ZMP 的雙足機器人不同始腾,DLR 依賴于力矩調(diào)節(jié)控制算法,這種算法可以計算上述平衡策略中所需的力和力矩空执,從而抵消外界擾動浪箭。
· 圖 9:DLR
相信很多人對美國波士頓動力的網(wǎng)紅機器人——Altas 的控制算法感興趣,但鑒于 Altas 的應用涉及到軍工行業(yè)辨绊,波士頓動力所公開的資料也非常少奶栖,我們也無從得知。
本文系技術(shù)分析類文章门坷,歡迎有技術(shù)背景的讀者點評和參與討論宣鄙,也歡迎非技術(shù)背景的讀者圍觀評論和點贊。
責任編輯:林億