人形機器人跌倒也不用大驚小怪

作者:EVAN ACKERMAN  來源:IEEE Specturm 

每個人都喜歡看機器人跌倒。我們明白,這很有趣。IEEE Spectrum的我們也是其中的罪魁禍首:我們在八年前的DARPA機器人挑戰賽上編輯的機器人跌倒合輯在YouTube上有數百萬的觀看次數。但幾個月前,Agility Robotics分享了一個Digit機器人在ProMat貿易展期間在堆疊箱子時倒下的視頻,在Twitter、TikTok和Instagram上引起了瘋狂的轉發。Agility最終向美聯社發表聲明,澄清Digit並非因工作性質而停用,這是一些觀眾對這段病毒視頻的反應。

Agility不是唯一一家向網絡觀眾分享其失敗的機器人公司。波士頓動力公司是Spot和Atlas機器人的開發者,可能是第一家因其視頻而被指責“虐待機器人”的公司,該公司在YouTube上經常展示其研究機器人在成功和失敗之間的片段。現在,全球有1,100個Spot在發揮作用,跌倒事件發生得更加頻繁,也更加明顯。

儘管跌倒的機器人並不是什麼新鮮事,但一些技術進步可能是改變跌倒性質的新事物。首先,波士頓動力和Agility Robotics都有人類尺寸的雙足機器人,不跌倒似乎是很正常的。這是一個相對較新的發展。雖然有很多公司正在研究人形機器人,但Agility和波士頓動力的人形機器人(據我們所知)是唯一能夠常規進行無線束動態行走的機器人。

有時候機器人跌倒時會弄壞東西。但它正在學習,我相信最終這些機器人跌倒的頻率甚至會比人類更少。~喬納森·赫斯特,敏捷機器人學家

另一個重要的進步是,這些人形機器人通常能夠在跌倒時不自毀。在2015年的DARPA機器人挑戰賽中,跌倒通常意味著競爭對手的失敗,只有一個例外:卡內基梅隆大學的CHIMP,它就像一輛真正的坦克一樣建造。從那時起,機器人學家們嘗試添加護甲和氣囊,以保持跌倒的機器人完整。但現在,這些機器人可以輕鬆地跌倒並重新站起來。如果它們受損,可以很容易地修復。

然而,儘管對於機器人學家來說,跌倒已經不再是一個大問題,但對於普通大眾來說,這仍然是一個大問題,正如這些機器人跌倒的病毒視頻所證明的那樣。我們最近與Agility Robotics的首席機器人官Jonathan Hurst和客戶體驗負責人Bambi Brewer以及Boston Dynamics的首席技術官Aaron Saunders進行了交談,以了解為什麼會這樣,以及他們是否認為情況很快會有所改變。

波士頓動力公司的亞倫·桑德斯(Aaron Saunders)和敏捷機器人公司的喬納森·赫斯特(Jonathan Hurst)以及班比·布魯爾(Bambi Brewer)對於…

你認為為什麼人們對機器人跌倒的反應如此強烈,尤其是雙足機器人?

喬納森·赫斯特:人們會發佈有趣的寵物或孩子的視頻,他們表情或反應讓你能夠產生共鳴。當機器人做出這樣的事情時,更加有趣,因為它們通常不會這樣做。所以當 Digit(在ProMat上)看起來就像是,“我厭倦了這樣的工作”並摔倒時,人們會說,“我理解你,機器人!”但(看到機器人這樣行為)將變得更加普遍,當人們看到這一點並且它成為他們經歷的一部份時,新奇感將會消失。

班比·布魯爾: 製造機器人的人花了很多時間試圖展示它們的最佳狀態。機器人的移動方式似乎非常重複,非常程式化。我能理解當出現故障時為什麼會很有趣,因為公眾通常不會看到那樣的情況,他們還不習慣這些時刻。

機器人跌倒與人類跌倒有何不同

Hurst:我現在對機器人的看法就像對待一個兩歲半的孩子一樣。他們跌倒的次數比成年人多,但並不是非常令人擔心。有時他們會擦傷膝蓋,有時機器人跌倒時會摔壞東西。但它正在學習,我相信最終這些機器人跌倒的頻率會比人類更少。物理定律仍然成立,所以機器人跌倒的頻率可能與人類相當。這不會是罕見的事情。

當你思考這個「物理是真實的」事情時,這實際上是機器人能夠擁有超人能力的地方。一個機器人將接近人類的力量和速度,但你可以對機器人採取更大的風險,因為你並不是真的在乎它是否損壞。

從根本上說,我不在乎機器人是否損壞。我的意思是,我有一點在乎,但如果我們的任何員工摔倒,我非常在乎。

你覺得人形機器人以非人類方式跌倒可能是為什麼人們對這些影片反應如此強烈的一部分嗎?

Aaron Saunders:我們在Atlas的前方有一個龐大的金屬框架。如果它面部摔倒,那沒關係。它會把四肢縮進去保護它們和機器人的其他部分。人類則相反,我們會伸出四肢試圖保護頭部。機器人可以比人類更好地應對某些類型的撞擊和力量。我們經常討論人們如何根據自己的感知方式來看待機器。面部摔倒是一個很好的例子,對機器人來說看起來很糟糕,但實際上可能並不糟糕。

我能理解為什麼當事情出錯時會讓人感到非常有趣,因為大眾通常不會看到那樣的情景,而且他們還不習慣這些時刻。 ~班比·布魯爾,敏捷機器人

你的機器人摔倒是多正常的事情?

桑德斯:我們在Atlas上所做的幾乎所有事情都是為了突破某種限制。我們不會回避跌倒,因為待在安全的地方意味著在了解機器的性能和解決問題方面錯失很多機會。在我們的開發工作中,它經常跌倒,既因為我們在推動它,也因為幾乎沒有風險或危險 – 我們沒有將Atlas交付到世界上。

在一條長而平坦的人行道上,我認為Atlas不會以統計上有意義的方式跌倒。人們回想起DARPA機器人挑戰賽中機器人到處跌倒的視頻,而這不是我們現在擔心的類型的跌倒。

對於Spot來說,跌倒可能更有風險,因為它在世界上。每周,我們內部的Spot機器人隊伍行走約2000公里,我們還將它們放在這些測試單元中,它們在岩石上行走,走過格柵,越過障礙物,在滑溜的地板上行走。我們希望對所有這些進行強大的測試,並試圖將跌倒的情況減少到最低。

你的機器人跌倒是一件大事嗎?

Hurst:Digit被設計成可以跌倒。這就是為什麼它有手臂的原因之一 – 為了能夠在跌倒時存活下來。當我們第一次設計這個機器人時,我們說,好吧,機器人在某個時候會跌倒,我們該如何保護它?我們計算了我們需要多少墊子來減少電子元件的加速度。結果我們需要幾英寸的墊子,Digit最後看起來會像米其林人一樣。

唯一現實的方式讓Digit安全減速是有一個突出的附屬物來吸收跌倒。那麼最好的位置在哪裡?當你考慮慣性驅動和雙手操作時,你得到的答案是一樣的。Digit的手臂之所以在那裡,不是因為我們想要建造一個類人機器人,而是因為我們想要解決運動挑戰、操作挑戰,並確保在機器人跌倒時能夠接住它。

在你的機器人開發過程中,有沒有一個時刻,從正常的跌倒變成了不尋常的?

Saunders:真正讓我們從擔心正常行走變得對正常行走感到很好的是,當我們積極地進入超越行走的領域時。

為了成功跳躍和著陸,我們需要開發能夠適應機器人的全部質量和動力學的控制算法。這不再是關於每一步謹慎地選擇放腳的問題,而是關於以一種非常強大的方式協調所有移動的質量。所以當Atlas開始跳躍和做parkour時,行走也變得更容易了。幾個星期前,我們有一個新的團隊成員回去應用了一些我們用於parkour的最新控制算法到我們的站立算法中。使用這些新算法,我們看到了機器人處理站立時的干擾能力有了很大的提升 – 如果有人推機器人,這個新的控制器能夠思考和推理所有的動力學,從而使Atlas的反應大幅提升。

此時此刻,跌倒到底是一個「糟糕」的情況,還是一個學習機會呢?

Hurst:我們一直在尋找可以解決的錯誤。Digit在ProMat的崩潰就是其中之一。在這種情況下,實際上不應該有緊急停止。

Brewer:跌倒是一個人們正在提交錯誤卡片或查看日誌的時刻。他們試圖弄清楚發生了什麼,以及如何確保不再發生。在ProMat,機械臂的編碼器出了問題。現在已經更新了。這是一個以前從未發生過的錯誤。現在,如果發生這種情況,機器人的手臂會凍結,但機器人仍然保持直立。

Saunders:對於Spot來說,現在相對較少有學習機會。我們相當清楚Spot的能力,知道在什麼情況下可能會跌倒,機器人在這些情況下可能會做什麼,以及如何恢復。我們設計Spot能夠堅固地跌倒而不會損壞,並能夠從跌倒中恢復。顯然,有一些極端情況——我們的一個工業客戶需要Spot橫越一個有肥皂的地板,這幾乎等同於在冰上行走,對於有腿的任何東西來說都是一個挑戰。因此,我們的控制團隊在實驗室裡建立了一個滑溜的環境,使用塑料上的食用油,然後開始「堅固化」。他們找出了如何檢測滑倒並適應機器人的步態,從經常跌倒的情況轉變為不經常跌倒的情況。

對於Atlas來說,通常跌倒發生在我們關心的部分之後。我們在那裡學到的是在跌倒之前出了什麼問題。如果我們正在研究Atlas的一個空中特技——比如說,我們以前從未成功過的動作——那麼我們當然會做大量的工作來弄清楚為什麼會跌倒。但如果我們只是在實驗室裡走來走去,然後發生了一些錯誤,我不認為人們會太擔心,我們只需將其重新站起來,重置並繼續。

我們不害怕摔倒 – 我們不把機器人當成它們一直會壞的東西。我們的機器人經常摔倒,而我們很早就決定需要建造可以不會壞掉的機器人。如果你能經歷這個週期,將你的機器人推向失敗,研究失敗並修復它,你就能取得進展,讓它不再摔倒。但如果你建造一個機器或控制系統或文化,永遠不讓它摔倒,那麼你永遠不會學到讓你的機器人不摔倒的東西。我們慶祝摔倒,甚至是摔壞機器人的摔倒。

如果一個機器人知道自己即將跌倒,它可以做些什麼來保護自己和周圍的人呢?

Hurst:當你知道自己即將跌倒時,有一些策略可以採取。如果一個人抱著嬰兒摔下樓梯,他們有一種直覺和天生的能力來保護嬰兒,即使這意味著自己可能受傷。我們可以設計我們的機器人做同樣的事情,在它跌倒時保護周圍的人。

Brewer:除了讓機器人安全地跌倒外,我們需要給人們一個非常明確的信號,告訴他們不要試圖幫助——只需要退後,讓機器人跌倒。它會沒事的。

Hurst:另一個方法是儘早跌倒。如果你不確定自己能否保持平衡,你可能會試圖走一步來修正,然後再走一步,然後可能會朝一個不太受控制的方向移動。所以當它開始失去平衡時,我們可以告訴機器人:“只要跌倒,你會重新站起來的。”

Saunders:我們的控制系統內有這些檢測,當機器人開始做一些控制器沒有要求的動作時就會觸發。也許速度開始做一些奇怪的事情,或者機器人處於一個不應該出現的角度。如果這讓我們認為可能會發生跌倒,我們會運行另一個控制器來嘗試阻止它跌倒——Atlas可能會決定擺動手臂,或者移動上半身,或者伸出腿。如果這失敗了,那麼在機器人真正跌倒時就有另一個控制層。最後一層的目的是將機器人置於一個狀態,設置其姿勢和關節僵硬度,以確保它對自身和世界造成最小的損害。我們如何做到這一點對於每個機器人和每種跌倒方式都不同。如果你仔細觀看Atlas的視頻,你可能會看到機器人把自己蜷縮成一個小球——這是一種形狀和一組關節僵硬度,有助於減輕衝擊,並保護周圍的物體。

然而,有時這些跌倒是因為機器人發生了災難性的損壞。對於Atlas來說,我們確實遇到過腳斷掉的情況。在那種情況下,我沒有好的答案。

下一次一個人形機器人跌倒的影片在網上爆紅,不管是你的機器人還是別人的,你希望觀看這個影片的人知道什麼?

Hurst:如果Digit跌倒了,我認為人們應該知道,構建該機器人的工程師的反應不會是“我們的機器人跌倒了,我們沒有預料到!”而只會是聳肩。

Brewer:我希望人們知道,當一個機器人真正在現實世界中做真實的事情時,意想不到的事情會發生。你會看到一些跌倒,但這是學習在現實環境中長時間運行的一部分。這是預料之中的,也是你不在進行假設的一個信號。

Saunders:我認為人們應該認識到,設備有時會出現故障是正常的。設備可以修復,設備可以改進,隨著時間的推移,設備變得越來越可靠。所以,當人們看到這些故障時,可能是機器人從未遇到過的情況。他們應該知道我們正在收集所有的信息,並且我們正在不斷改進和迭代,他們現在看到的並不代表最終狀態,只代表技術的現狀。

我還認為,我們對機器人能做什麼的期望和實現這一過程之間必須有一定的平衡。人們會來找我,他們希望機器人能做一些令人驚奇的事情,但如果機器人失敗,他們會非常緊張。如果我們希望機器人能做一些令人驚奇的事情,豐富我們的生活,成為我們在工作中的工具,我們需要隨著時間的推移建立這些能力,因為這是新興技術,而不是已經成熟的技術。

機器人應該能夠跌倒。當他們跌倒時,我們應該給予他們寬容。我們可以笑他們,這沒關係。但我們也應該努力使我們的產品安全可靠,值得我們信賴,因為如果我們不信任我們的機器人,我們就不會使用它們。

新增留言