為什麼有些雙足機器人能像人一樣直立行走,還不容易倒?

編者按:此前,深圳灣(微信公眾號 ID:shenzhenware)報道過能直立行走的擬人步態機器人 DURUS ,至於類似的行走機器人,當然還有大家熟悉的波士頓動力 Altas。要讓機器人實現直立行走,不僅要有底層可靠的硬體基礎,還要有上層成熟的軟體技術,而機器人行走所涉及的平衡演算法是其中重要的一部分。本文主要介紹雙足平衡的主流演算法——基於 ZMP 的動態步行,本文作者系一名機器人專業在讀研究生——龔睿。

雙足機器人涉及的平衡演算法比較多,例如「增量式模糊控制 PD 控制演算法」,「機器學習演算法」等,本文主要側重於介紹一種應用於複雜地形(帶有傾斜角度的或表面不均勻的落腳面)的平衡演算法。

雙足機器人的平衡控制都經歷過哪些階段?

在最開始,雙足機器人使用的平衡控制策略是「靜態步行」(static walking)。這種策略的特點是:機器人步行的過程中,重心(COG,Center of Gravity)的投影始終位於多邊形支撐區域(support region)內,這種控制策略的好處在於:機器人可以在行走動作中停止而不摔倒,但代價是行動速度非常遲緩(每一步需要花費10 秒甚至更長,因為需要保持重心的投影始終位於支撐區域,否則將不穩定)。

· 圖 1:靜態步行

因為靜態步行和人類的期望相差甚遠,於是人類開發出來了另一種步行平衡策略——「動態步行」(dynamic walking)。在動態步行中,機器人的行動速度被提升至了每步不超過 1 秒。但其弊端也是顯而易見的,機器人難以在運動的狀態下立即停頓(慣性的作用),從而使得機器人在狀態轉換的過程中變得不穩定。

為了解決慣性帶來的影響,零力矩點(ZMP,zero moment point)被引入到了這一控制策略中。在單腳支撐相中,ZMP=COG。其好處在於,當 ZMP 嚴格的存在於機器人的支撐區域中,機器人則絕對不會摔倒。

· 圖 2:引入了 ZMP 的動態步行

雙足平衡的主流——基於 ZMP 的動態步行

現在雙足平衡的主流是用基於 ZMP 的動態步行。從上述的基本內容來看,雙足機器人的一條腿就可以抽象成控制系統中最基本的「倒立擺」模型。

· 圖 3:倒立擺模型

可以推導出機器人的一條腿的正向 ZMP 動力學公式為:

· 圖 4:正向 ZMP 動力學公式,其中:Xzmp 代表正向 ZMP,Xmc 代表質量中心的前進位移,l 是倒立擺的長度,g 是重力加速度。

由於複雜地形的雙足平衡無法由單一的控制器實現,所以多個控制器的切換策略被用於解決平衡問題。在這一個策略中,機器人的行走被設定為一個周期(cycle)每一個周期被分成了不同的行走階段(stage),如下圖所示:

· 圖 5:雙足機器人的行走周期和行走階段

圖中的 1 - 4 階段是一個周期。而在第 2 和第 4 階段可以發現,在這兩個階段中,機器人的 SSP 與 DSP 發生了「共存」,即同時存在狀態。

在一般的雙足平衡的演算法中包含了三種控制策略:

A.實時平衡控制策略(real-time balance control strategy)

B.步行模式控制策略(walking pattern control strategy)

C.行動預測控制策略(predicted motion control strategy)

基於不同策略的不同目的,每一種控制策略都包含了多種在線控制器(online controller),下面將分述每一種策略的任務及使用的控制器:

A.實時平衡控制策略

控制器 1:阻尼控制器(Damping controller)。

目的:在 SSP 模式下,消除機器人上半身的振動。作用階段:1、3 全階段;2、4 中的 SSP 階段。

控制器 2:ZMP 補償器(ZMP compensator)。

目的:保持機器人骨盆關節(如圖6所示)在動態運動中水平方向的平衡。作用階段:1、3全階段;2、4 中的 SSP 階段。

· 圖 6:機器人的骨盆(pelvis)關節示意圖

控制器 3 :軟著陸控制器(Soft landing controllers)。

目的:吸收機器人腳著陸時的撞擊,調節機器人腳與著陸區的接觸面。作用階段:2、4 中的 DSP 階段。

B.步行模式控制策略

控制器 1:骨盆搖擺振幅控制器(Pelvis swing amplitude controller )。

目的:補償機器人骨盆關節側部搖擺振幅。作用階段:2、4 中的 DSP 階段。

控制器 2:軀幹俯仰角/側傾角控制器(Torso pitch/roll controller ) 。

目的:補償骨盆關節的中心位置相對於軀幹的俯仰角/側傾角搖擺。作用階段:2、4 中的 DSP 階段。

C.行動預測控制策略

控制器 1:過傾斜控制器(Tilt over controller )

目的:補償機器人踝關節軌跡,以避免機器人在壓延方向上的過傾斜。作用階段:1、3 全階段。

控制器 2:著陸位姿控制器(Landing position controller ) 。

目的:避免機器人腳著陸時造成的不穩定。作用階段:2、4全階段。

然而,一般的雙足平衡演算法無法解決地形不均勻或地形傾斜的問題,因此,在地形不均勻或地形傾斜這種複雜環境中,一些新的控制需要被引入:

A1.直立姿態控制器(Upright Pose Controller )

這種控制器可以使機器人在傾斜地形中始終保持直立姿勢,從而保持整個機體的平衡。對於雙足機器人而言,傾斜地形的「全局傾斜角」的測量就顯得尤為重要。一般採用的測量方法是在機器人的軀體內部安裝一個 2 軸的加速度計,再加上一個低通濾波器就可以構成一個傾斜計。

對於機器人的俯仰姿態控制,在規定的踝關節軌跡上,直立姿態控制器附加了含有俯仰誤差的 PI 控制器:

直立姿態控制器則可由下列等式實現:

圖 7 更加直觀的反映出了使用控制器之前與之後的俯仰控制平衡性差異:

· 圖 7

圖 8 顯示了使用控制器之前與之後的側傾控制平衡性差異:

· 圖 8

後記

以上介紹的是一種應用於複雜地形平衡控制演算法,另外也有一些沒有利用 ZMP 感測器進行平衡控制的機器人,比如,德國航空航天局下屬的機器人學和機電學研究所(Institute of Robotics and Mechatronics)在 2011 年發布的一款名為「DLR」的機器人,與一般基於 ZMP 的雙足機器人不同,DLR 依賴於力矩調節控制演算法,這種演算法可以計算上述平衡策略中所需的力和力矩,從而抵消外界擾動。

· 圖 9:DLR

相信很多人對美國波士頓動力的網紅機器人——Altas 的控制演算法感興趣,但鑒於 Altas 的應用涉及到軍工行業,波士頓動力所公開的資料也非常少,我們也無從得知。

本文系技術分析類文章,歡迎有技術背景的讀者點評和參與討論,也歡迎非技術背景的讀者圍觀評論和點贊。

責任編輯:林億

轉載、約稿、投稿、團隊報道請聯繫微信公眾號:shenzhenware(回復關鍵字)
推薦閱讀:

《恐襲波士頓》:思維可以有兩種對立,情感卻只有一種
留學波士頓應該帶怎樣厚度的衣服?
hello朋友們 本人是準備去留學的學生想問一下行李的託運問題 我準備想帶兩個大箱一個小箱 會超重嗎?
如今的波士頓凱爾特人隊距離完成重建還需要做哪些工作?

TAG:机器人 | 机器人控制 | 波士顿 |