解密:波士頓動(dòng)力如何用算法構(gòu)建Atlas機(jī)器人的感官世界
本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請(qǐng)至雷鋒網(wǎng)官網(wǎng)申請(qǐng)授權(quán)。
波士頓動(dòng)力一周前發(fā)布了一個(gè)長(zhǎng)達(dá)90 秒的視頻。在視頻中,Atlas 完美地跑完了復(fù)雜的障礙賽。于是有很多網(wǎng)友好奇是什么黑科技讓機(jī)器人可以如此智慧。
機(jī)器人該怎么樣才能像運(yùn)動(dòng)員一樣奔跑、翻轉(zhuǎn)、跳躍?創(chuàng)造這些高能演示的是一個(gè)有趣的挑戰(zhàn),但波士頓的技術(shù)目標(biāo)不僅僅是創(chuàng)造一場(chǎng)華麗的表演。在 Atlas 項(xiàng)目中,他們以跑酷為實(shí)驗(yàn)主題,通過動(dòng)態(tài)運(yùn)動(dòng),感知和控制之間的聯(lián)系,來研究相關(guān)的問題。這些問題的解決有助于機(jī)器人更加順暢的運(yùn)行。
機(jī)器人對(duì)跑酷的感知
機(jī)器人感知算法,會(huì)被用到相機(jī)和激光雷達(dá)等傳感器的數(shù)據(jù)轉(zhuǎn)換對(duì)策和規(guī)劃物理行動(dòng)中。雖然 Atlas 使用 IMU、關(guān)節(jié)位置和受力傳感器來控制其身體并感受地面獲得平衡, 但 Atlas 還需要感知算法來識(shí)別障礙物 ,如圖 1 中看到的木箱和窄橋。
▲ 圖 1:這個(gè)動(dòng)畫顯示了一個(gè) Atlas 機(jī)器人深度相機(jī)生成的點(diǎn)云旋轉(zhuǎn)視圖。
Atlas 使用深度相機(jī)以每秒 15 幀的速度生成環(huán)境點(diǎn)云。點(diǎn)云是距離測(cè)量數(shù)據(jù)的集合。Atlas 的感知軟件使用多平面分割的算法從點(diǎn)云中提取表面。接著算法輸出的數(shù)據(jù)被輸入地圖系統(tǒng),最后系統(tǒng)幫助 Atlas 用相機(jī)看到不同物體建立模型。
▲ 圖 2:具有感知輸出的 Atlas 渲染。
圖 2 顯示了 Atlas 感知到的物體,并經(jīng)過反饋與計(jì)算規(guī)劃行動(dòng)。 左上角是深度相機(jī)拍攝的紅外圖像 。主圖像中的白點(diǎn)形成點(diǎn)云。橙色輪廓標(biāo)記了跑酷障礙物檢測(cè)到的矩形面,這些矩形面隨著時(shí)間的推移被傳感器跟蹤。從而幫助 Atlas 設(shè)置特定的行為。例如,綠色的腳印標(biāo)記下一步在哪里跳躍和慢跑。
為了擴(kuò)展跑酷課程,機(jī)器人被導(dǎo)入一張高級(jí)地圖,其中包括命令它去哪里,以及路上應(yīng)該做什么動(dòng)作。這張高級(jí)地圖與實(shí)際課程不完全一致,它是對(duì)障礙物位置和一些主要?jiǎng)幼鞯暮?jiǎn)要描述。所以 Atlas 會(huì)使用這些簡(jiǎn)要的信息來導(dǎo)航,同時(shí)使用實(shí)時(shí)感知數(shù)據(jù)來填充細(xì)節(jié)。例如,Atlas 尋找一個(gè)可以跳躍的盒子,如果盒子移動(dòng)到側(cè)面 0.5 米,Atlas 會(huì)在那里找到并調(diào)整姿勢(shì)。如果盒子移動(dòng)得太遠(yuǎn),系統(tǒng)找不到它就會(huì)停下來。
▲ 圖 3:展示機(jī)器人對(duì)跑酷課程中伙伴的感知的動(dòng)畫。
這是一個(gè) 3D 可視化動(dòng)圖,展示了機(jī)器人在跑酷障礙跑道上看到的內(nèi)容和機(jī)器人通過內(nèi)容反饋的計(jì)劃。主動(dòng)跟蹤的物體被繪制成綠色 ,當(dāng)物體的距離超過感知范圍時(shí),圖標(biāo)就會(huì)從綠色變成紫色。跟蹤系統(tǒng)也會(huì)不斷跟進(jìn)物體的姿態(tài)傳給導(dǎo)航系統(tǒng),導(dǎo)航系統(tǒng)會(huì)通過地圖上的信息設(shè)計(jì)好對(duì)應(yīng)物體的綠色腳印。
行為庫(kù)
你在跑酷程序中看到 Atlas 執(zhí)行的每個(gè)動(dòng)作都來自“軌跡優(yōu)化離線設(shè)計(jì)”創(chuàng)建的模板。 這些模板庫(kù),允許科研人員往庫(kù)中添加新的軌跡,添加新的功能 。
軌跡優(yōu)化離線設(shè)計(jì),可以讓工程師交互探索機(jī)器人能力的極限,并減少機(jī)器人的計(jì)算量。例如,機(jī)器人如何收起四肢做后空翻,這些成就對(duì)項(xiàng)目的推進(jìn)有莫大的幫助。因?yàn)檫@樣可以幫助機(jī)器人做到最合理的驅(qū)動(dòng)??蒲腥藛T可以利用離線優(yōu)化捕捉重要的發(fā)力點(diǎn),并使用控制器在線調(diào)整它們的動(dòng)作。
▲ 圖 4:這種跳馬行為是使用離線軌跡優(yōu)化設(shè)計(jì)的復(fù)雜全身行為的一個(gè)例子。
模型預(yù)測(cè)
確定了機(jī)器人前面盒子、坡道和障礙的位置,并設(shè)計(jì)了一系列越過它們的動(dòng)作。剩下的挑戰(zhàn)是填寫機(jī)器人執(zhí)行計(jì)劃所需的細(xì)節(jié)問題。
Atlas 的控制器被稱為 模型預(yù)測(cè)控制器(MPC) ,因?yàn)樗褂脵C(jī)器人動(dòng)力學(xué)模型來預(yù)測(cè)運(yùn)動(dòng)將如何演變。控制器的工作原理是優(yōu)化計(jì)算出現(xiàn)在最應(yīng)該做的事情是什么,從而盡可能形成好的運(yùn)動(dòng)姿態(tài)。
如上所述,行為庫(kù)中的每個(gè)模板都向控制器提供了最優(yōu)解的解決方案??刂破髡{(diào)整力、姿勢(shì)和行為時(shí)機(jī)等細(xì)節(jié),應(yīng)對(duì)環(huán)境幾何形狀、腳滑或其他實(shí)時(shí)因素。這樣就可以擁有能夠偏離模板運(yùn)動(dòng)的控制,自我創(chuàng)建運(yùn)動(dòng)過程。這種解決方案也大大減少了機(jī)器人可能需要的場(chǎng)景行為模板。例如,從 52 厘米的平臺(tái)上跳下來和 40 厘米的平臺(tái)跳下來,MPC 會(huì)自動(dòng)弄清楚細(xì)節(jié)。
圖 5:顯示感知和計(jì)劃路徑的第一人稱視圖。藍(lán)色箭頭對(duì)應(yīng)于 MPC 對(duì)機(jī)器人在路線中移動(dòng)時(shí)質(zhì)心和動(dòng)量的預(yù)測(cè)。
MPC 的預(yù)測(cè)特性允許 Atlas 跨越行為界限。比如,知道跳躍后是后空翻,控制器可以自主創(chuàng)建一個(gè)平穩(wěn)過渡的動(dòng)作。這也簡(jiǎn)化了行為創(chuàng)建問題,研究人員不需要再提前考慮可能的行為序列。不過,MPC 的創(chuàng)新是有限度的。例如,試圖從慢跑運(yùn)動(dòng)過渡到后空翻是行不通的。
為未來奠定基礎(chǔ)
他們對(duì) Atlas 系統(tǒng)中創(chuàng)建和控制動(dòng)態(tài)行為(也包括舞蹈)有了深刻的理解。但更重要的是,創(chuàng)造了一個(gè)可擴(kuò)展軟件系統(tǒng)的機(jī)會(huì),也讓 Atlas 系統(tǒng)通過感知自身環(huán)境做出改變,這個(gè)系統(tǒng)將與他們的團(tuán)隊(duì)一起成長(zhǎng)。
本文編譯自波士頓動(dòng)力官方網(wǎng)站