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