我們可以看到,圖中四足機器人無論是走獨木橋,還是上下樓梯,都走的十分穩健。特別是在獨木板場景,機器人學會了先把雙腿步距縮小,以小碎步的方式平穩地穿過了獨木板。這些步態都是基于強化學習自主學習得到,并沒有通過任何的領域內專家知識進行引導。那么這些行走步態是如何訓練出來的呢?
在解讀之前,我們先回顧下當下三種主流的四足控制算法。
第一個方向是開環的步態生成器,即提前規劃好每條腿的行走軌跡,然后周期性地輸出控制信號以驅動機器人行走起來。這種方式可以讓專家根據經驗以及實際環境去設計四足機器人的行走方式,但是缺點是往往需要大量的調試時間以及領域內的專家知識。
第二個方向是基于模型預測的控制算法(MPC),這類方法也是MIT之前開源的主要算法。算法對環境進行建模后,在每個時間步求解優化問題以找到最優的控制信號。這類方法的問題是其效果依賴于環境模型的建模準確度,并且在實際部署過程中需要耗費比較大的算力去求解最優的控制信號。
第三個方向是基于學習的控制算法。前面提到的方法都是提前設計好控制器直接部署到機器人上的,并沒有體現出機器人自主學習的過程。這個方向的大部分工作是基于機器自主學習,通過收集機器人在環境中的表現數據,調整機器學習模型中的參數,以更好地控制四足機器人完成任務。
百度這次發布的工作是基于強化學習的控制算法。強化學習應用在四足機器人領域并不是新的技術,但是之前發表的強化學習工作大部分都只能穿越一些比較簡單的場景,在高難度的場景,比如通過獨木板、跳隔板中,表現并不好。主要的原因是四足機器人中復雜的非線性控制系統使得強化學習探索起來十分困難,機器人經常還沒走幾步就摔倒了,很難從零開始學習到有效的步態。為了解決強化學習在四足控制上遇到的問題,百度團隊首次提出基于自進化步態生成器的強化學習框架。
圖二、ETG-RL架構
該框架的概覽圖如上圖,算法的控制信號由兩部分組成:一個開環的步態生成器以及基于強化學習的神經網絡。步態生成器可以提供步態先驗來引導強化學習進行訓練。以往的工作一般采用一個固定的步態生成器,這種方式只能生成一種固定的步態,沒法針對環境進行特定的適配。特別是當預置的生成器并不適合環境的情況下,反而會影響強化學習部分的學習效果。
針對這些問題,百度首次提出在軌跡空間直接進行搜索的自進化步態生成器優化方式。
相比在參數空間進行搜索的方式,它可以更高效地搜索到合理的軌跡,因為在參數層面進行擾動很可能生成完全不合理的軌跡,并且搜索的參數量也大很多。強化學習部分的訓練通過目前主流的SAC連續控制算法進行參數更新,在優化過程中,強化學習的策略網絡需要輸出合理的控制信號去結合開環的控制信號,以獲得更高的獎勵。需要注意的是,該框架在更新過程中,是采用交替訓練的方式,即獨立更新步態生成器以及神經網絡。這主要的原因是其中一個模塊的更新會導致機器人的行為發布發生變化,不利于訓練的穩定性。最后,為了提升樣本的有效利用率,該框架還復用了進化算法在優化步態生成器的數據,將其添加到強化學習的訓練數據中。
圖三、實驗場景(仿真+真機)
接下來看文章中的實驗部分。如上圖所示,百度基于開源的pybullet構建了9個實驗場景,包括了上下樓梯、斜坡、穿越不規整地形、獨木板、洞穴、跳躍隔板等場景。其算法效果與經典的開環控制器、強化學習算法相比,提升相當大。可以看到百度提出的框架(綠色曲線)遙遙領先于別的算法,并且是唯一一個能完成所有任務的算法。完整的仿真效果以及真機視頻可以參考文章開頭。
圖四、實驗結果
百度的工作展現出,基于自主學習的方法在四足機器人控制上具有完全替代甚至超越經典算法的潛力,有可能成為強化學習和進化學習在復雜非線性系統中開始大規模落地和實用化的契機。
這不是百度在機器人方向上做的第一個強化學習工作,早在18年,他們就嘗試將人工干預引入到強化學習中,以推進強化學習應用在在四軸飛行器控制等高風險的硬件場景。未來,相信強化學習會是四足機器人控制領域重要的技術突破口,有效推動足形態機器人走進我們的日常生活中。
該模型和訓練方法同步開源于飛槳機器人算法庫PaddleRobotics和強化學習框架PARL;其中四足機器人和復雜地形仿真也開放于飛槳強化學習環境集RLSchool, 以便于更多該領域的專家和工程師對比研究。
2025-04-24 08:29
2025-04-24 08:26
2025-04-24 08:25
2025-04-24 08:24
2025-04-24 08:24
2025-04-24 08:23
2025-04-24 08:22
2025-04-24 08:21
2025-04-23 11:50
2025-04-23 11:50