波士頓動力機器人后空翻動作背后的技術淺析
2017 年 11 月 16 日,一段 Atlas 跳躍、旋轉、后空翻的視頻幾乎驚艷了整個機器人圈,各大媒體紛紛做了報道,我也在如何看待 Boston Dynamic 2017.11.16 新發布的機器人 Atlas 視頻?發表了情懷感言,當然只有情懷是不夠的,作為技術工科男,還是應該多思考下其背后到底有什么技術。
還是情懷一下:BD 的這段視頻可以說是冰凍三尺非一日之寒,不信的話,你來看看這段視頻:let robot in MIT 麻省理工學院腿實驗室的早期作品單足雙足四足跳躍機器人,更多研究成果和視頻可以看:MIT Leg Laboratory。這個是三十年前的故事,若想了解如今的 BD,看看這個網站:Boston Dynamics is changing your idea of what robots can do. Boston Dynamics。
近幾年 BD 的產品還是很多的,包括 Handle、SpotMini、Atlas、Spot、LS3、WildCat、BigDog、SandFlea 和 RHex,詳情見 Boston Dynamics Boston Dynamics。知乎中也有大神講解了波士頓動力是一家什么性質的公司?。
BD 是 Marc Raibert(Marc Raibert – Wikipedia)離開 MIT LegLab 之后創立的公司,Marc Raibert 于 1980 年在 CMU 創建了 Leg Lab,1986 年離開 CMU,去了 MIT,直到 1995 年。1992 年,他創建了 Boston Dynamic,a simulation and robotics company。在創建公司之后,他們服務過包括美國國防高級研究計劃局(DARPA)在內的很多軍方機構,甚至獲得了國防部幾千萬美金的投資。此時,BD 與 Gill Pratt 有分不開的聯系,Gill Pratt 是 Marc Raibert 的學生。而 Gill Pratt 是前 DARPA 機器人挑戰賽的負責人,因此 BD 一直得到 DARPA 的投資也是情理之中。BD 于 2013 年被谷歌收購,但是 2016 年傳出豐田要接手谷歌旗下的 BD 的消息(豐田接手谷歌旗下波士頓動力 6 大原因 -百家號),這個時候 Gill Pratt 離開了 DARPA,是豐田研究院(TOYOTA Research Institution,TSI)的負責人。后來消息不了了之。2017 年,BD 被軟銀(SoftBank)收購。
書歸正傳,在大概了解的 BD 后,下面回顧下 Atlas 的經典動作-后空翻。
在介紹 Atlas 后空翻的技術之前,先來介紹些預備知識。
1. Atlas 屬于 Limbed system(Spring Handbook of Robotics 的 P419-441)的一種類型,貼幾張圖片吧。
2. 進一步細化,Atlas 屬于 Legged Robots(Spring Handbook of Robotics 的 P1203-1263)。
Altas 的難點并不是后空翻這個動作,難點是在后空翻前的運動規劃和接觸地面后的控制(例如如何保持平衡,如何控制接觸力等)。(One of the major difficulties in making a legged robot walk or run is keeping its balance: where should the robot place its feet, how should it move its body in order to move safely in a given direction, even in case of strong perturbations? This difficulty comes from the fact that contact forces with the environment are an absolute necessity to generate and control locomotion, but they are limited by the mechanical laws of unilateral contact)。
1)The Dynamic of Legged Locomotion
Atlas 最為關鍵的是動力學建模,一般根據 Lagrangian 和 Newton and Euler 建立模型,來一段貼圖:
上面的這段話可以解釋后空翻實際并不難,下面來解釋:
在 Flight Phases,Atlas 并沒有與環境接觸,因此沒有任何的接觸力f_i,此時牛頓方程簡化為:
在空中的過程實際是個拋物線運動,因此沒有辦法在空中改變 Atlas 的運動。上式中的歐拉公式可以簡化為:
在這種情況下,Atlas 既可以控制關節的運動,也可以控制整體的旋轉,前提是在落地之前。
綜上所述,在空中運動過程中,Atlas 無法改變運動,但是可以改變姿態,也就是后空翻或是前空翻等復雜動作,只要在落地之前完成動作即可,當然跳以前也需要做步態和運動等的規劃。
2)In Contact with the Ground
接觸面包括了 flat ground 或是 multiple surfaces 等,視頻中的接觸面近似 flat,若是 multiple surfaces,在控制上將會更為復雜。
無論是什么樣的接觸面,Atlas 與地面接觸時的瞬間接觸力是非常大的,因此對電機有非常高的要求,BD 很聰明,選用了液壓伺服控制。若是電機的話,可能分分鐘爆掉。即使是液壓伺服控制,也要考慮主動或是被動柔順的控制。
個人覺得落地后的平衡相比于 walk 或是 run 的平衡相對簡單,若是能將 walk 或是 run 過程中的平衡控制好,也許落地后的平衡相對較為容易,但是在跳躍之后與地面接觸時的力控制就變成了難點。
在空中的時間設計尤為重要,若是時間較短,Atlas 完不成空翻動作;若是時間較長,Atlas 需要不停地調整姿態,以保證在接觸地面前做好平衡的動作。
當然整個過程沒有那么簡單,下面給出參考文獻,有興趣的朋友可以精讀下面的內容(Spring Handbook of Robotics 的 P1206-1263)。
① In Contact with a Flat Ground:The Center of Pressure. In Contact with Multiple Surfaces.
② Contact Models.
③ Compliant Contact Models.
④ Rigid Contact Models.
⑤ Hybrid and Nonsmooth Dynamics.
⑥ Stability Analysis – Not Falling Down.
⑦ Generation of Dynamic Walking and Running Motions.
⑧ Motion and Force Control.
⑨ Towards Move Efficient Walking.
⑩ Diffenert Contact Behaviors。
來自: 雷鋒網