解密:波士頓動力如何用演算法構建 Atlas 機器人的感官世界
8 月 25 日訊息波士頓動力一週前釋出了一個長達 90 秒的視訊。在視訊中,Atlas 完美地跑完了複雜的障礙賽。於是有很多網友好奇是什麼黑科技讓機器人可以如此智慧。
機器人該怎麼樣才能像運動員一樣奔跑、翻轉、跳躍?創造這些高能演示的是一個有趣的挑戰,但波士頓的技術目標不僅僅是創造一場華麗的表演。在 Atlas 專案中,他們以跑酷為實驗主題,通過動態運動,感知和控制之間的聯絡,來研究相關的問題。這些問題的解決有助於機器人更加順暢的執行。
機器人對跑酷的感知
機器人感知演算法,會被用到相機和鐳射雷達等感測器的資料轉換對策和規劃物理行動中。雖然 Atlas 使用 IMU、關節位置和受力感測器來控制其身體並感受地面獲得平衡,但 Atlas 還需要感知演算法來識別障礙物
▲圖 1:這個動畫顯示了一個 Atlas 機器人深度相機生成的點雲旋轉檢視。
Atlas 使用深度相機以每秒 15 幀的速度生成環境點雲。點雲是距離測量資料的集合。Atlas 的感知軟體使用多平面分割的演算法從點雲中提取表面。接著演算法輸出的資料被輸入地圖系統,最後系統幫助 Atlas 用相機看到不同物體建立模型。
▲圖 2:具有感知輸出的 Atlas 渲染。
圖 2 顯示了 Atlas 感知到的物體,並經過反饋與計算規劃行動。左上角是深度相機拍攝的紅外影象。主影象中的白點形成點雲。橙色輪廓標記了跑酷障礙物檢測到的矩形面,這些矩形面隨著時間的推移被感測器跟蹤。從而幫助 Atlas 設定特定的行為。例如,綠色的腳印標記下一步在哪裡跳躍和慢跑。
為了擴充套件跑酷課程,機器人被匯入一張高階地圖,其中包括命令它去哪裡,以及路上應該做什麼動作。這張高階地圖與實際課程不完全一致,它是對障礙物位置和一些主要動作的簡要描述。所以 Atlas 會使用這些簡要的資訊來導航,同時使用實時感知資料來填充細節。例如,Atlas 尋找一個可以跳躍的盒子,如果盒子移動到側面 0.5 米,Atlas 會在那裡找到並調整姿勢。如果盒子移動得太遠,系統找不到它就會停下來。
▲圖 3:展示機器人對跑酷課程中夥伴的感知的動畫。
這是一個 3D 視覺化動圖,展示了機器人在跑酷障礙跑道上看到的內容和機器人通過內容反饋的計劃。主動跟蹤的物體被繪製成綠色,當物體的距離超過感知範圍時,圖示就會從綠色變成紫色。跟蹤系統也會不斷跟進物體的姿態傳給導航系統,導航系統會通過地圖上的資訊設計好對應物體的綠色腳印。
行為庫
你在跑酷程式中看到 Atlas 執行的每個動作都來自“軌跡優化離線設計”建立的模板。這些模板庫,允許科研人員往庫中新增新的軌跡,新增新的功能。
軌跡優化離線設計,可以讓工程師互動探索機器人能力的極限,並減少機器人的計算量。例如,機器人如何收起四肢做後空翻,這些成就對專案的推進有莫大的幫助。因為這樣可以幫助機器人做到最合理的驅動。科研人員可以利用離線優化捕捉重要的發力點,並使用控制器線上調整它們的動作。
▲圖 4:這種跳馬行為是使用離線軌跡優化設計的複雜全身行為的一個例子。
模型預測
確定了機器人前面盒子、坡道和障礙的位置,並設計了一系列越過它們的動作。剩下的挑戰是填寫機器人執行計劃所需的細節問題。
Atlas 的控制器被稱為模型預測控制器(MPC),因為它使用機器人動力學模型來預測運動將如何演變。控制器的工作原理是優化計算出現在最應該做的事情是什麼,從而儘可能形成好的運動姿態。
如上所述,行為庫中的每個模板都向控制器提供了最優解的解決方案。控制器調整力、姿勢和行為時機等細節,應對環境幾何形狀、腳滑或其他實時因素。這樣就可以擁有能夠偏離模板運動的控制,自我建立運動過程。這種解決方案也大大減少了機器人可能需要的場景行為模板。例如,從 52 釐米的平臺上跳下來和 40 釐米的平臺跳下來,MPC 會自動弄清楚細節。
圖 5:顯示感知和計劃路徑的第一人稱檢視。藍色箭頭對應於 MPC 對機器人在路線中移動時質心和動量的預測。
MPC 的預測特性允許 Atlas 跨越行為界限。比如,知道跳躍後是後空翻,控制器可以自主建立一個平穩過渡的動作。這也簡化了行為建立問題,研究人員不需要再提前考慮可能的行為序列。不過,MPC 的創新是有限度的。例如,試圖從慢跑運動過渡到後空翻是行不通的。
為未來奠定基礎
他們對 Atlas 系統中建立和控制動態行為(也包括舞蹈)有了深刻的理解。但更重要的是,創造了一個可擴充套件軟體系統的機會,也讓 Atlas 系統通過感知自身環境做出改變,這個系統將與他們的團隊一起成長。
本文編譯自波士頓動力官方網站