機器人自主學習新進展,百度飛槳發佈四足機器人控制強化學習新算法

近日,百度強化學習團隊發佈了四足機器人控制上的最新研究進展,採用自進化的步態生成器與強化學習聯合訓練,從零開始學習並掌握多種運動步態,一套算法解決包括獨木橋、跳隔板、鑽洞穴等多種場景控制難題。百度已開源全部仿真環境和訓練代碼,並公開相關論文。

 

足式機器人的控制一直是機器人控制領域的研究熱點,因爲相比於常見的輪式機器人,足式機器人可以像人類一樣靈活地跨越障礙,極大地擴展機器人的活動邊界。波士頓動力(Boston Dynamics)此前對外發布了其商用的第一款四足機器人Spot,但是相關的控制算法一直沒有對外披露。而市面上商業產品採用的控制算法,大部分基於麻省理工學院(MIT)開源的第三代的四足控制算法,需要依賴大量專家經驗。

 

近日,百度強化學習團隊聯合小度機器人團隊,基於飛槳機器人控制算法框架PaddleRobotics,發佈了四足機器人控制的最新進展。該算法首次提出基於自進化的步態生成器來引導強化學習訓練,通過自主學習,機器人能探索出合理的步態並穿越各種各樣的高難度場景。

 

這個算法到底有多厲害,先來一睹爲快。

圖一、四足機器人步態展示

(注:演示真機爲宇樹四足機器人產品)

 

我們可以看到,圖中四足機器人無論是走獨木橋,還是上下樓梯,都走的十分穩健。特別是在獨木板場景,機器人學會了先把雙腿步距縮小,以小碎步的方式平穩地穿過了獨木板。這些步態都是基於強化學習自主學習得到,並沒有通過任何的領域內專家知識進行引導。那麼這些行走步態是如何訓練出來的呢?

 

在解讀之前,我們先回顧下當下三種主流的四足控制算法。

 

第一個方向是開環的步態生成器,即提前規劃好每條腿的行走軌跡,然後週期性地輸出控制信號以驅動機器人行走起來。這種方式可以讓專家根據經驗以及實際環境去設計四足機器人的行走方式,但是缺點是往往需要大量的調試時間以及領域內的專家知識。

 

第二個方向是基於模型預測的控制算法(MPC),這類方法也是MIT之前開源的主要算法。算法對環境進行建模後,在每個時間步求解優化問題以找到最優的控制信號。這類方法的問題是其效果依賴於環境模型的建模準確度,並且在實際部署過程中需要耗費比較大的算力去求解最優的控制信號。

 

第三個方向是基於學習的控制算法。前面提到的方法都是提前設計好控制器直接部署到機器人上的,並沒有體現出機器人自主學習的過程。這個方向的大部分工作是基於機器自主學習,通過收集機器人在環境中的表現數據,調整機器學習模型中的參數,以更好地控制四足機器人完成任務。

 

百度這次發佈的工作是基於強化學習的控制算法。強化學習應用在四足機器人領域並不是新的技術,但是之前發表的強化學習工作大部分都只能穿越一些比較簡單的場景,在高難度的場景,比如通過獨木板、跳隔板中,表現並不好。主要的原因是四足機器人中複雜的非線性控制系統使得強化學習探索起來十分困難,機器人經常還沒走幾步就摔倒了,很難從零開始學習到有效的步態。爲了解決強化學習在四足控制上遇到的問題,百度團隊首次提出基於自進化步態生成器的強化學習框架

 

圖二、ETG-RL架構

 

該框架的概覽圖如上圖,算法的控制信號由兩部分組成:一個開環的步態生成器以及基於強化學習的神經網絡。步態生成器可以提供步態先驗來引導強化學習進行訓練。以往的工作一般採用一個固定的步態生成器,這種方式只能生成一種固定的步態,沒法針對環境進行特定的適配。特別是當預置的生成器並不適合環境的情況下,反而會影響強化學習部分的學習效果。

 

針對這些問題,百度首次提出在軌跡空間直接進行搜索的自進化步態生成器優化方式。

 

相比在參數空間進行搜索的方式,它可以更高效地搜索到合理的軌跡,因爲在參數層面進行擾動很可能生成完全不合理的軌跡,並且搜索的參數量也大很多。強化學習部分的訓練通過目前主流的SAC連續控制算法進行參數更新,在優化過程中,強化學習的策略網絡需要輸出合理的控制信號去結合開環的控制信號,以獲得更高的獎勵。需要注意的是,該框架在更新過程中,是採用交替訓練的方式,即獨立更新步態生成器以及神經網絡。這主要的原因是其中一個模塊的更新會導致機器人的行爲發佈發生變化,不利於訓練的穩定性。最後,爲了提升樣本的有效利用率,該框架還複用了進化算法在優化步態生成器的數據,將其添加到強化學習的訓練數據中。

圖三、實驗場景(仿真+真機)

 

接下來看文章中的實驗部分。如上圖所示,百度基於開源的pybullet構建了9個實驗場景,包括了上下樓梯、斜坡、穿越不規整地形、獨木板、洞穴、跳躍隔板等場景。其算法效果與經典的開環控制器、強化學習算法相比,提升相當大。可以看到百度提出的框架(綠色曲線)遙遙領先於別的算法,並且是唯一一個能完成所有任務的算法。完整的仿真效果以及真機視頻可以參考文末。

 

圖四、實驗結果

 

百度的工作展現出,基於自主學習的方法在四足機器人控制上具有完全替代甚至超越經典算法的潛力,有可能成爲強化學習和進化學習在複雜非線性系統中開始大規模落地和實用化的契機。

 

這不是百度在機器人方向上做的第一個強化學習工作,早在18年,他們就嘗試將人工干預引入到強化學習中,以推進強化學習應用在在四軸飛行器控制等高風險的硬件場景。未來,相信強化學習會是四足機器人控制領域重要的技術突破口,有效推動足形態機器人走進我們的日常生活中。

 

該模型和訓練方法同步開源於飛槳機器人算法庫PaddleRobotics和強化學習框架PARL;其中四足機器人和複雜地形仿真也開放於飛槳強化學習環境集RLSchool, 以便於更多該領域的專家和工程師對比研究。

 

論文:

https://arxiv.org/abs/2109.06409

強化學習框架PARL:

https://github.com/PaddlePaddle/PARL

開源仿真環境RLSchool:

https://github.com/PaddlePaddle/RLSchool

飛槳機器人控制算法框架PaddleRobotics:

https://github.com/PaddlePaddle/PaddleRobotics

 

百度自然語言處理(Natural Language Processing,NLP)以『理解語言,擁有智能,改變世界』爲使命,研發自然語言處理核心技術,打造領先的技術平臺和創新產品,服務全球用戶,讓複雜的世界更簡單。

點擊進入獲得更多技術信息~~

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章