近日,百度強(qiáng)化學(xué)習(xí)團(tuán)隊(duì)發(fā)布了四足機(jī)器人控制上的最新研究進(jìn)展,采用自進(jìn)化的步態(tài)生成器與強(qiáng)化學(xué)習(xí)聯(lián)合訓(xùn)練,從零開始學(xué)習(xí)并掌握多種運(yùn)動步態(tài),一套算法解決包括獨(dú)木橋、跳隔板、鉆洞穴等多種場景控制難題。百度已開源全部仿真環(huán)境和訓(xùn)練代碼,并公開相關(guān)論文。
足式機(jī)器人的控制一直是機(jī)器人控制領(lǐng)域的研究熱點(diǎn),因?yàn)橄啾扔诔R姷妮喪綑C(jī)器人,足式機(jī)器人可以像人類一樣靈活地跨越障礙,極大地?cái)U(kuò)展機(jī)器人的活動邊界。波士頓動力(Boston Dynamics)此前對外發(fā)布了其商用的第一款四足機(jī)器人Spot,但是相關(guān)的控制算法一直沒有對外披露。而市面上商業(yè)產(chǎn)品采用的控制算法,大部分基于麻省理工學(xué)院(MIT)開源的第三代的四足控制算法,需要依賴大量專家經(jīng)驗(yàn)。
近日,百度強(qiáng)化學(xué)習(xí)團(tuán)隊(duì)聯(lián)合小度機(jī)器人團(tuán)隊(duì),基于飛槳機(jī)器人控制算法框架PaddleRobotics,發(fā)布了四足機(jī)器人控制的最新進(jìn)展。該算法首次提出基于自進(jìn)化的步態(tài)生成器來引導(dǎo)強(qiáng)化學(xué)習(xí)訓(xùn)練,通過自主學(xué)習(xí),機(jī)器人能探索出合理的步態(tài)并穿越各種各樣的高難度場景。
這個算法到底有多厲害,先來一睹為快。


圖一、四足機(jī)器人步態(tài)展示(注:演示真機(jī)為宇樹四足機(jī)器人產(chǎn)品)
可以看到,圖中四足機(jī)器人無論是走獨(dú)木橋,還是上下樓梯,都走的十分穩(wěn)健。特別是在獨(dú)木板場景,機(jī)器人學(xué)會了先把雙腿步距縮小,以小碎步的方式平穩(wěn)地穿過了獨(dú)木板。這些步態(tài)都是基于強(qiáng)化學(xué)習(xí)自主學(xué)習(xí)得到,并沒有通過任何的領(lǐng)域內(nèi)專家知識進(jìn)行引導(dǎo)。那么這些行走步態(tài)是如何訓(xùn)練出來的呢?
在解讀之前,我們先回顧下當(dāng)下三種主流的四足控制算法。
第一個方向是開環(huán)的步態(tài)生成器,即提前規(guī)劃好每條腿的行走軌跡,然后周期性地輸出控制信號以驅(qū)動機(jī)器人行走起來。這種方式可以讓專家根據(jù)經(jīng)驗(yàn)以及實(shí)際環(huán)境去設(shè)計(jì)四足機(jī)器人的行走方式,但是缺點(diǎn)是往往需要大量的調(diào)試時間以及領(lǐng)域內(nèi)的專家知識。
第二個方向是基于模型預(yù)測的控制算法(MPC),這類方法也是MIT之前開源的主要算法。算法對環(huán)境進(jìn)行建模后,在每個時間步求解優(yōu)化問題以找到最優(yōu)的控制信號。這類方法的問題是其效果依賴于環(huán)境模型的建模準(zhǔn)確度,并且在實(shí)際部署過程中需要耗費(fèi)比較大的算力去求解最優(yōu)的控制信號。
第三個方向是基于學(xué)習(xí)的控制算法。前面提到的方法都是提前設(shè)計(jì)好控制器直接部署到機(jī)器人上的,并沒有體現(xiàn)出機(jī)器人自主學(xué)習(xí)的過程。這個方向的大部分工作是基于機(jī)器自主學(xué)習(xí),通過收集機(jī)器人在環(huán)境中的表現(xiàn)數(shù)據(jù),調(diào)整機(jī)器學(xué)習(xí)模型中的參數(shù),以更好地控制四足機(jī)器人完成任務(wù)。
百度這次發(fā)布的工作是基于強(qiáng)化學(xué)習(xí)的控制算法。強(qiáng)化學(xué)習(xí)應(yīng)用在四足機(jī)器人領(lǐng)域并不是新的技術(shù),但是之前發(fā)表的強(qiáng)化學(xué)習(xí)工作大部分都只能穿越一些比較簡單的場景,在高難度的場景,比如通過獨(dú)木板、跳隔板中,表現(xiàn)并不好。主要的原因是四足機(jī)器人中復(fù)雜的非線性控制系統(tǒng)使得強(qiáng)化學(xué)習(xí)探索起來十分困難,機(jī)器人經(jīng)常還沒走幾步就摔倒了,很難從零開始學(xué)習(xí)到有效的步態(tài)。為了解決強(qiáng)化學(xué)習(xí)在四足控制上遇到的問題,百度團(tuán)隊(duì)首次提出基于自進(jìn)化步態(tài)生成器的強(qiáng)化學(xué)習(xí)框架。

圖二、ETG-RL架構(gòu)
該框架的概覽圖如上圖,算法的控制信號由兩部分組成:
一個開環(huán)的步態(tài)生成器以及基于強(qiáng)化學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)。步態(tài)生成器可以提供步態(tài)先驗(yàn)來引導(dǎo)強(qiáng)化學(xué)習(xí)進(jìn)行訓(xùn)練。以往的工作一般采用一個固定的步態(tài)生成器,這種方式只能生成一種固定的步態(tài),沒法針對環(huán)境進(jìn)行特定的適配。特別是當(dāng)預(yù)置的生成器并不適合環(huán)境的情況下,反而會影響強(qiáng)化學(xué)習(xí)部分的學(xué)習(xí)效果。針對這些問題,百度首次提出在軌跡空間直接進(jìn)行搜索的自進(jìn)化步態(tài)生成器優(yōu)化方式。相比在參數(shù)空間進(jìn)行搜索的方式,它可以更高效地搜索到合理的軌跡,因?yàn)樵趨?shù)層面進(jìn)行擾動很可能生成完全不合理的軌跡,并且搜索的參數(shù)量也大很多。
強(qiáng)化學(xué)習(xí)部分的訓(xùn)練通過目前主流的SAC連續(xù)控制算法進(jìn)行參數(shù)更新,在優(yōu)化過程中,強(qiáng)化學(xué)習(xí)的策略網(wǎng)絡(luò)需要輸出合理的控制信號去結(jié)合開環(huán)的控制信號,以獲得更高的獎勵。需要注意的是,該框架在更新過程中,是采用交替訓(xùn)練的方式,即獨(dú)立更新步態(tài)生成器以及神經(jīng)網(wǎng)絡(luò)。這主要的原因是其中一個模塊的更新會導(dǎo)致機(jī)器人的行為發(fā)布發(fā)生變化,不利于訓(xùn)練的穩(wěn)定性。最后,為了提升樣本的有效利用率,該框架還復(fù)用了進(jìn)化算法在優(yōu)化步態(tài)生成器的數(shù)據(jù),將其添加到強(qiáng)化學(xué)習(xí)的訓(xùn)練數(shù)據(jù)中。

圖三、實(shí)驗(yàn)場景(仿真+真機(jī))
接下來看文章中的實(shí)驗(yàn)部分。如上圖所示,百度基于開源的pybullet構(gòu)建了9個實(shí)驗(yàn)場景,包括了上下樓梯、斜坡、穿越不規(guī)整地形、獨(dú)木板、洞穴、跳躍隔板等場景。其算法效果與經(jīng)典的開環(huán)控制器、強(qiáng)化學(xué)習(xí)算法相比,提升相當(dāng)大。可以看到百度提出的框架(綠色曲線)遙遙領(lǐng)先于別的算法,并且是唯一一個能完成所有任務(wù)的算法。完整的仿真效果以及真機(jī)視頻可以參考文末鏈接。

圖四、實(shí)驗(yàn)結(jié)果
百度的工作展現(xiàn)出,基于自主學(xué)習(xí)的方法在四足機(jī)器人控制上具有完全替代甚至超越經(jīng)典算法的潛力,有可能成為強(qiáng)化學(xué)習(xí)和進(jìn)化學(xué)習(xí)在復(fù)雜非線性系統(tǒng)中開始大規(guī)模落地和實(shí)用化的契機(jī)。這不是百度在機(jī)器人方向上做的第一個強(qiáng)化學(xué)習(xí)工作,早在18年,他們就嘗試將人工干預(yù)引入到強(qiáng)化學(xué)習(xí)中,以推進(jìn)強(qiáng)化學(xué)習(xí)應(yīng)用在在四軸飛行器控制等高風(fēng)險(xiǎn)的硬件場景。
未來,相信強(qiáng)化學(xué)習(xí)會是四足機(jī)器人控制領(lǐng)域重要的技術(shù)突破口,有效推動足形態(tài)機(jī)器人走進(jìn)我們的日常生活中。該模型和訓(xùn)練方法同步開源于飛槳機(jī)器人算法庫PaddleRobotics和強(qiáng)化學(xué)習(xí)框架PARL; 其中四足機(jī)器人和復(fù)雜地形仿真也開放于飛槳強(qiáng)化學(xué)習(xí)環(huán)境集RLSchool, 以便于更多該領(lǐng)域的專家和工程師對比研究。