華人博士用強(qiáng)化學(xué)習(xí)回收了SpaceX火箭 | 開源
懸停著陸都沒問題。
博雯 發(fā)自 凹非寺
量子位 報(bào)道 | 公眾號(hào) QbitAI
馬斯克旗下的SpaceX可以說帶火了“火箭回收”這一話題。
這不,連粉絲們都已經(jīng)開始摩拳擦掌,用自己的方式挑戰(zhàn)起了這個(gè)技術(shù)難題。
例如一位來自密歇根大學(xué)的華人博士,就用強(qiáng)化學(xué)習(xí)試了一把回收火箭!
他根據(jù)現(xiàn)實(shí)中的星艦10號(hào)一通進(jìn)行模擬,還真在虛擬環(huán)境中穩(wěn)穩(wěn)地完成了懸停和著陸!
這個(gè)項(xiàng)目迅速在Reddit上引發(fā)了大批網(wǎng)友們的關(guān)注:
那么,他是如何實(shí)現(xiàn)的呢?
給火箭回收設(shè)立“獎(jiǎng)勵(lì)機(jī)制”
要在模擬環(huán)境中回收火箭,那么大一只構(gòu)造復(fù)雜的火箭肯定是不能直接抱來用的。
于是,這位SpaceX的鐵桿粉絲首先基于氣缸動(dòng)力學(xué),將火箭簡(jiǎn)化為一個(gè)二維平面上的剛體:
這個(gè)火箭的底部安裝有推力矢量發(fā)動(dòng)機(jī),能夠提供不同方向的可調(diào)的推力值(0.2g,1.0g和2.0g);同時(shí),火箭噴嘴上還增加了一個(gè)角速度約束,最大轉(zhuǎn)速為30°/秒。
火箭模型所受到的空氣阻力則設(shè)定為與速度成正比。
現(xiàn)在,這個(gè)模型的一些基本屬性就能夠以下面兩個(gè)集合來表示:
- 動(dòng)作空間:發(fā)動(dòng)機(jī)離散控制信號(hào)的集合,包括推力加速度和噴嘴角速度
- 狀態(tài)空間:由火箭位置、速度、角度、角速度、噴管角度和仿真時(shí)間組成的集合
而“火箭回收”這一流程,則被分為了懸停和著陸兩個(gè)任務(wù)。
在懸停任務(wù)中,火箭模型需要遵循這樣一種獎(jiǎng)勵(lì)機(jī)制:
- 火箭與預(yù)定目標(biāo)點(diǎn)的距離:距離越近,獎(jiǎng)勵(lì)越大;
- 火箭體的角度:火箭應(yīng)該盡可能保持豎直
著陸任務(wù)則基于星艦10號(hào)的基本參數(shù),將火箭模型的初始速度設(shè)置為-50米/秒,方向設(shè)置為90°(水平方向),著陸燃燒高度設(shè)置為離地面500米。
火箭模型在著陸時(shí)同樣需要遵循這樣一種“獎(jiǎng)勵(lì)機(jī)制”:
當(dāng)著陸速度小于安全閾值,并且角度接近豎直0°時(shí),就會(huì)受到最大的“獎(jiǎng)勵(lì)”,也會(huì)被認(rèn)為是一次成功的著陸。
總體而言,這是一個(gè)基于策略的參與者-評(píng)判者的模型。
接下來就是進(jìn)行訓(xùn)練:
最終,在經(jīng)歷了20000次的訓(xùn)練后,火箭模型在懸停和著陸兩個(gè)任務(wù)上都實(shí)現(xiàn)了較好的效果:
最終,模型得到了很好的收斂效果:
而這枚模擬環(huán)境中的偽·星艦10號(hào),也就像開頭展示的那張動(dòng)圖一樣,學(xué)會(huì)了腹部著陸,穩(wěn)穩(wěn)地落地了。
下一步:增加燃料變量
這一項(xiàng)目一經(jīng)發(fā)出,就引來了紅迪眾多網(wǎng)友的圍觀和稱贊。
有人覺得用強(qiáng)化學(xué)習(xí)來解決傳統(tǒng)任務(wù)非常有趣,因?yàn)樗哂懈玫聂敯粜浴?/p>
作者也在下方回復(fù)表示:現(xiàn)實(shí)中惡劣的環(huán)境條件可以成為環(huán)境制約因素,而強(qiáng)化學(xué)習(xí)則能在一個(gè)統(tǒng)一的框架內(nèi)解決這些問題。
不過在稱贊之余,也有網(wǎng)友提出了最直接的這樣一個(gè)問題:
既然我們已經(jīng)可以使用經(jīng)典控制方法找到這些任務(wù)的最優(yōu)解,那為啥SpaceX之前沒人做?
下方有人解答到:這或許是因?yàn)橹暗臄?shù)字控制系統(tǒng)、傳感器等技術(shù)并不成熟,采用新方法就意味著要重新設(shè)計(jì)火箭的關(guān)鍵部分。
這也就是控制系統(tǒng)層面之外的“工程類的問題”,而SpaceX正是在這些相關(guān)領(lǐng)域中做了改進(jìn)。
而那些較為傳統(tǒng)保守的航天航空工業(yè)則會(huì)使用使用凸優(yōu)化(Convexification)來解決火箭著陸問題。
也就是評(píng)論區(qū)有人貼出的這篇論文中提到的方法:
不少評(píng)論也為開發(fā)者提供了下一步開發(fā)的新思路,比如這條評(píng)論建議將“剩余燃料”也作為一個(gè)變量,模型燃料的減少或耗盡也是現(xiàn)實(shí)中的一個(gè)重要影響因素。
作者欣然接受了這一建議:是很容易添加的有趣設(shè)置,安排!
密歇根大學(xué)華人博士
開發(fā)者已經(jīng)為這一項(xiàng)目建立了一個(gè)網(wǎng)站,在主頁(yè)他這樣介紹到:
這是我的第一個(gè)強(qiáng)化學(xué)習(xí)項(xiàng)目,所以,我希望通過這些“低水平代碼”盡可能地從頭實(shí)現(xiàn)包括環(huán)境、火箭動(dòng)力學(xué)和強(qiáng)化學(xué)習(xí)agent在內(nèi)的所有內(nèi)容。
作者叫Zhengxia Zou,是一位來自密歇根大學(xué)博士,主要研究計(jì)算機(jī)視覺、遙感、自動(dòng)駕駛等領(lǐng)域。
他的論文曾被 ICCV 2021、CVPR 2021等多個(gè)頂會(huì)收錄:
下載鏈接:
https://github.com/jiupinjia/rocket-recycling
項(xiàng)目主頁(yè):
https://jiupinjia.github.io/rocket-recycling/
參考鏈接:
https://www.reddit.com/r/MachineLearning/comments/qt2tws/pr_rocketrecycling_with_reinforcement_learning/