機器人背后確實做出了大量“預(yù)設(shè)”,但最終的行動和目標(biāo),卻并不全是演練和動畫。
波士頓動力機器人get跑酷技能,著實震撼了一波網(wǎng)友。
然而,它的跑酷技能究竟是不是真的?
這套行云流水的動作,背后到底有沒有“預(yù)設(shè)程序”?
機器人是根據(jù)環(huán)境實時做出動作判斷,還是每一步都經(jīng)過精確測量……
現(xiàn)在,波士頓動力親自公布了機器人Atlas跑酷背后的原理。
讓我們從機器人的視角,來看看它眼中的跑酷世界是什么樣的。
機器人眼中的跑酷世界
在機器人Atlas的大腦中,有一個模糊的地圖“輪廓”。
同時,Atlas還會拿到一些目標(biāo)信息,例如在行動中需要完成什么動作、會遇到什么樣的障礙物。
相比于精確的感知地圖,這個稀疏地圖并不會精確到路線輪廓和障礙物之間的距離,而是需要靠Atlas用感知算法去“看”。
像這樣,需要實時規(guī)劃出自己的行走路線,并根據(jù)障礙物的距離進行調(diào)整:
“看”不到遠處的障礙物
例如,Atlas知道地圖上會出現(xiàn)一個盒子,它要做的動作是跳上去。
這個盒子可能會與地圖的標(biāo)注相差甚遠,甚至往旁邊移動了0.5米,但它仍然能靠感知算法,正確找到這個盒子并跳上去(除非盒子遠得離開了Atlas視野范圍,它就會停下來)。
其中,Atlas下一步需要跟蹤的物體是綠色的,而不在傳感器視野范圍內(nèi)的物體,則是紫色的。
Atlas會憑借自身的跟蹤系統(tǒng),來不斷地估計障礙物在地圖上的精確位置;再根據(jù)導(dǎo)航系統(tǒng),結(jié)合實時感知數(shù)據(jù),繪制出需要行走的綠色腳印。
那么,Atlas究竟是怎么感知環(huán)境、并做出動作的呢?
首先,它會通過感知算法來“看”,即獲取攝像機、激光雷達等傳感器數(shù)據(jù);然后,再做出行動判斷,即轉(zhuǎn)換為決策和物理上的動作。
感知上,Atlas利用ToF深度相機,來生成幀率為15的點云,其中包含大量的距離信息,并借此判斷出如何跨過像間隙、窄梁這樣的障礙目標(biāo)。
動作上,Atlas通過慣性測量單元和力傳感器,結(jié)合關(guān)節(jié)位置信息來控制身體運動,同時在地面上保持平衡。
Atlas會采用感知軟件,利用多平面點云分割算法來從點云中提取出物體表面,并被輸入到繪圖系統(tǒng)中,讓系統(tǒng)通過攝像機參數(shù)/照片建立不同物體的模型。
這是Atlas眼中的障礙物、和它的行動規(guī)劃圖:
其中,Atlas會通過深度相機捕捉到紅外圖像(左上角),并從圖像數(shù)據(jù)中提取出點云,繪制出跑酷障礙物的表面(橙色輪廓)。
再根據(jù)傳感器觀測數(shù)據(jù)實時進行位置跟蹤,在這些物體表面上規(guī)劃下一步行動,例如跳躍或慢跑等,并提前生成綠色的軌跡腳印。
預(yù)設(shè)動作,但無須預(yù)設(shè)細節(jié)
從上面的感知算法中可以看出,機器人Atlas的跑酷確實“有備而來”。
也就是說,無論是翻越、跑、跳躍、后空翻,Atlas在跑酷過程中的每一個動作,都需要提前設(shè)計好,并被放進模板庫中。
在設(shè)計中,這些動作會根據(jù)軌跡優(yōu)化技術(shù)進行完美調(diào)整,再根據(jù)具體的行動目標(biāo),從模板中進行選用。
同時,利用軌跡優(yōu)化機器人的離線行為,讓工程師來探索機器人行動的極限,來降低計算量。
例如,發(fā)現(xiàn)機器人訓(xùn)練過程中的一些限制條件,并及時做出調(diào)整。
像機器人后空翻這個動作,表面上的成功率來自于機器人的四肢協(xié)調(diào),但經(jīng)過優(yōu)化后才發(fā)現(xiàn),這背后的根本原因是由于身體的驅(qū)動限制。
而一切行動的控制,都來自于一個叫做MPC(模型預(yù)測控制器)的Atlas“大腦”,它要做的就是計算出當(dāng)下的最佳動作,并根據(jù)時間推移預(yù)測出最好的行動。
也正是由于這個控制器,讓波士頓動力不用在意Atlas的控制細節(jié),因為它不僅能從52cm的跳臺跳下來,也能從40cm的跳臺一躍而下。
同時,機器人也不會自己做出慢跑后直接后空翻這樣“不可能”的行為。
如上種種可以看出,機器人背后確實做出了大量“預(yù)設(shè)”,但最終的行動和目標(biāo),卻并不全是演練和動畫。
至于網(wǎng)友之前猜測的CG特效,這次波士頓動力似乎的確沒用在視頻中。
期待機器人Atlas的下一場表演。