乾貨丨淺談足式機器人的運動控制

語言: CN / TW / HK

本期技術乾貨,我們邀請到了 小米機器人實驗室工程師 —— 遊洋威 來和大家從經典的三分控制法、零力矩點控制到目前主流的模型預觀控制等方面 ,介紹 足式機器人 運動控制。

一、前言

不論是非洲大草原上高速飛奔的獵豹,青藏高原上靈活跳躍的羚羊,還是萬物之靈的人類自己,都無不讓人驚歎造物主的鬼斧神工,也激發著人們夢想能有朝一日做出類似的人造物。諸葛亮的木牛流馬,達芬奇的發條騎士,都是朝這個夢想前行的腳印。現代科技的高速發展,特別是機器人技術的日漸成熟,讓這個夢想越來越貼近現實。雖然目前成熟的機器人技術和應用還主要集中在機械臂和輪式移動機器人上,但大部分人對機器人的第一印象還是像鐵臂阿童木一樣的仿生擬人的形態,相信也是很多機器人工程師的初心,這篇文章就給大家簡單介紹下足式機器人的運動控制。

二、經典

> > > > (1)三分控制法

說到足式機器人,就算不是機器人圈的小夥伴,很多估計也看過Boston Dynamics公司的網紅機器人BigDog, Atlas, Spot等等。這些機器人超強的穩定平衡能力和極佳的靈活運動效能讓人眼前一亮。雖然Boston Dynamics作為受美國軍方資助過的商業公司,對自己的技術守口如瓶,但他們的創始人Mac. Raibert早在80,90年代就已經在MIT Leg Laboratory利用液壓驅動器做出了一批令人驚歎的足式機器人。

雖然Boston Dynamics公司現在的運動控制技術可能已經脫胎換骨大不一樣了,但Mac. Raibert當時提出的三分控制法[1],還是非常簡潔有效,很有啟發借鑑意義的。具體來說,三分控制法將足式機器人的運動控制劃分為三部分獨立進行控制,比較常見的劃分方式是:

  • 利用著地腿的髖關節力矩控制機身姿態

  • 利用著地腿的軸向出力調節機身高度

  • 利用擺動腿的落腳點調節機器人的運動速度

這個控制律人為地將機器人的六維位姿解耦分開,然後用類PID控制器進行控制,非常直觀,是一種啟發式方法。其中比較有意思的一點是通過落腳點調整機器人的運動速度,它利用了一個簡單的原理:以穩定速度執行時,機器人著地和離地軌跡應該繞一個軸線對稱,如果要加速腳應該踩在軸線的後方,反之應該前方,這個控制策略可以寫成:

式中,xf是期望的足端相對機身的落足點,x'和xd'分別是當前速度和期望速度,Ts是著地時間,kx'是反饋係數。三分控制法的問題是沒有利用模型資訊,使用時需要大量繁瑣的調參工作。除了前面提到的劃分方法,還有利用著地腿的髖關節力矩控制運動速度,然後落腳點調節機身姿態等等其他劃分方法,具體選擇取決於應用場景。

三分控制法可以直接應用在單腿和雙足機器人上,在推廣到四足及其他多足機器人時,經常會借用虛擬腿的概念,如下圖。trot步態時將對角腿想象成一條過質心的虛擬腿,bound步態時將兩條前腿或後腿想象成一條虛擬腿等等。

> > > > (2) 虛擬模型控制

Mac. Raibert提出三分控制法的同時期,他在MIT的同事Jerry Pratt提出了基於雅克比矩陣的虛擬模型控制,成功實現了對一隻類似鴕鳥的電機驅動的雙足機器人的行走控制。虛擬模型控制的思路也非常直接樸素,首先將機器人的期望運動特性用一些物理概念來抽象代表以生成工作空間中期望的力和力矩,然後根據虛功原理將工作空間的力和力矩用雅克比矩陣對映成關節空間的力矩。這個方法和機械臂上廣泛應用的阻抗控制有相近的地方,只是單純用雅克比矩陣進行關節力矩對映忽略了慣量資訊,在高速動態時可能跟蹤不好影響運動效能。

> > > > (3) 基於簡化模型的零力矩點控制

90年代開始,本田公司在雙足機器人上潛心研究,開發了一系列雙足機器人,最終版的ASIMO廣為認知,作為日本機器人外交的使者經常接待各國領導人,可愛的外形深受小朋友的喜愛。在ASIMO的背後是日本深厚的機器人文化和持續的研發投入,東京大學、東京工業大學、AIST等等在雙足機器人領域都有深入的研究,也湧現了一批像Kajita(HRP機器人開發者)一樣有影響力的機器人專家。他們常用的控制方法就是基於簡化模型的零力矩點(ZMP)控制。

1972年,Vukobratovic和Stepanenko在一篇關於仿人機器人控制的論文中定義了ZMP的概念,它指的是足底所受合力在足底上的作用點。一個運動要是可實現的,得保證ZMP在支撐多邊形內,這也就是足式機器人常用的穩定判據。

同時,機器人的整體運動可以通過一個單質點來表示,為簡化計算,一般選用高度固定或有約束的線性倒立擺模型。

將線性倒立擺模型離散化,可以得到如下的系統方程:

式中,狀態量x是質心的位置、速度和加速度,輸入量u是質心加速度的導數,躍度,輸出量p是ZMP。通過選擇合適的落腳點和在支撐多邊形內調整ZMP點,我們可以根據ZMP穩定判據來計算最優的質心軌跡。假設,我們期望ZMP儘量靠近參照值,比如腳掌的中心,同時質心躍度輸入儘量小,保證軌跡平滑,可設定目標函式(Q,R是目標權重係數)為:

此時,我們可得到系統的最優輸入解析解為:

其中矩陣P是下面Reccati方程的解:

根據得到的質心軌跡和規劃的擺動腿足端軌跡,通過逆運動學解算,我們可以得到各個關節的軌跡曲線,然後傳送給關節驅動器進行跟蹤伺服。由於模型誤差和當時關節多采用高剛度位置伺服,踏步時地面衝擊較大,為提高運動的穩定性,一般還需要步行穩定器,如通過踝關節力矩或質心加速度來實時調整ZMP位置等等。

> > > > (4) 基於中樞模式發生器的運動控制

中樞模式發生器(CPG)是發現於無脊椎動物和脊椎動物中的一種神經網路,是實現許多節律行為的生物學基礎。它能夠在沒有任何來自感覺反饋或更高控制中心的節奏輸入的情況下,產生協調的節奏活動模式。不過,感官反饋雖然不是必需的,但它在運動受到環境擾動時保證動作協調穩定起著非常重要的作用。CPG可以產生髮生週期性的振盪訊號,用於控制機器人運動時,可以作為替代基於有限狀態機、正弦發生器以及預設參考軌跡等方法的一種新方法。CPG中單個神經元的模型可以表示為:

採用兩個神經元的互抑模型可以組成如下面左圖的關節振盪器,其中一個為伸肌神經元,另一個為屈肌神經元,兩個神經元之間互相抑制,交替興奮,其出狀態合成為規律性振盪,可用於機器人關節運動控制。下面右圖展示了一個四足機器人的四條腿髖關節 CPG 的網路圖。

基於CPG的控制非常適合分散式實施,對像蛇形機器人之類的模組化機器人很有意義。同時,它降低了控制問題的維數,為學習和優化演算法提供了良好的基礎。

三、主流

現在主流的足式機器人控制方法一般是雙層結構,基於模型預觀控制(MPC)的上層軌跡規劃和基於動力學模型的下層全身關節力控(WBC)。它可以認為是經典的ZMP控制的升級版,計算機效能的提升讓更復雜的優化問題的求解成為可能,同時高效能的力控關節也取代了ZMP時代的高剛度位控關節。這種控制架構得到了廣泛的使用,並取得了很好的效果,像ETH的ANYMAL,MIT的mini-cheetah,DLR的TORO以及IHMC和CMU團隊在Atlas上都採用了類似的架構。

在實際應用過程中,各個研究團隊在模型的選擇和具體優化目標約束的設定上各有不同,本文在這裡只介紹一個最基礎的方案。

和ZMP控制類似,機器人的運動可以抽象成一個單質點或單剛體來表示。下圖中右上角的等式是考慮了機器人繞質心角動量的y-z平面單剛體模型。如果忽略角動量的影響並假設質心高度不變,機器人的運動可以簡化成一個三維的單質點模型,如下圖右下角等式。

將簡化模型離散化之後,我們可以將預觀時間視窗內的運動構造成一個優化問題,以此來解算出最優的運動軌跡。如下圖,我們期望質心躍度儘量小,保證生成的軌跡平滑,ZMP的偏離儘量小確保運動的穩定性,同時不要偏離期望速度太多。此外,生成的軌跡還需滿足ZMP在支撐域內,落腳點在可達範圍內等約束條件。

質心軌跡規劃和ZMP控制非常類似,只是使用了優化工具,可以增加更復雜的目標和約束條件。現在的足式機器人相比十年前的穩定效能有了顯著的提升,很重要的一個原因是使用了力控電機和下面要介紹的全身關節力控。相比於高剛度位控電機,力控電機通過藉助模型計算的前饋力矩可以在保證軌跡跟蹤精度的情況下使用小得多的反饋量,這對接觸狀態頻繁切換,著地衝擊影響顯著的足式運動至關重要,大大提高了運動的穩定性和抗干擾能力。

而全身關節力控基於機器人完整的剛體動力學模型,將各個關節力矩的分配表達成一個優化問題:如下圖,優化目標是減小質心和末端執行器軌跡的跟蹤誤差等使用者需求,優化變數是關節的加速度和足底的接觸力,約束包括符合動力學模型,滿足關節力矩限制,符合支撐腿足底不動等物理假設,足底力滿足摩擦錐要求以及ZMP在支撐域內保證腳掌不翻轉等要求。優化得到的關節加速度和足底接觸力再通過逆動力學就可以得到各個關節期望的前饋力矩。

上面介紹的是一個基礎方案,在實際應用中,各個研究團隊會有不同的變種,比如MIT的mini-cheetah在MPC中採用考慮機身姿態的單剛體模型,同時WBC會考慮MPC中優化生成的足底力。在WBC優化變數的選取上,有的團隊考慮到表達的簡潔,方便加額外的優化目標和約束條件,會選擇直接將關節力矩作為優化變數,或者關節加速度和關節力矩並存。

四、結語

雖然現有的足式機器人已經有很好的運動穩定性,能實現動物中常見的各種步態,但面對一些複雜的,超高機動性的動作時還是有點捉襟見肘。有研究者嘗試通過非線性優化離線生成複雜的動作,然後利用全身力控來線上跟蹤調整,已經取得了不少令人印象深刻的成果。如何實現非線性優化的實時線上解算,是很多研究工作者持續努力改進的方向。

最近,基於機器學習、特別是深度強化學習的控制方法在足式機器人的控制領域得到了廣泛的關注,像ETH的ANYMAL團隊已經在這個方向上多有建樹。它所具有的學習泛化能力,讓人們對將它應用於複雜動作的生成充滿期待。

運動控制演算法的日趨完善,電機、IMU、處理器等核心器件規模化帶來的低成本,催生了一批新興的足式機器人公司,讓這些以前只在實驗室裡的傢伙頻頻出現在我們生活中,相信不久的將來,它們會成為新世紀的寵物,常伴我們左右。

參考文獻

[1] https://www.animatornotebook.com/learn/quadrupeds-gaits

[2] Raibert M H. Legged robots that balance[M]. MIT press, 1986.

[3] Pratt J E. Virtual model control of a biped walking robot[J]. 1995.

[4] Kajita S, et al. Humanoid robotics[M]. Ohm-sha, 2005.

[5] Huang, Bo, Yufeng Yao, and Lining Sun. Quadruped robot gait control based on central pattern generator[J]. Journal of Mechanical Engineering, 2010.

[6] Ijspeert, Auke Jan, et al. From swimming to walking with a salamander robot driven by a spinal cord model[J], Science, 2007.

[7] Hutter, M., et al. Anymal-a highly mobile and dynamic quadrupedal robot[IROS], 2016.

[8] Englsberger, J., et al. Overview of the torque-controlled humanoid robot TORO[Humanoids], 2014.

[9] Koolen, T., et al. Design of a Momentum-Based Control Framework and Application to the Humanoid Robot Atlas[Humanoids], 2016.

[10] Kim, D.; Carlo, J. D.; Katz, B.; Bledt, G. & Kim, S. Highly Dynamic Quadruped Locomotion via Whole-Body Impulse Control and Model Predictive Control, 2019.

[11] Miki T, Lee J, Hwangbo J, et al. Learning robust perceptive locomotion for quadrupedal robots in the wild[J]. Science Robotics, 2022.

END

「其他文章」