自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

波士頓動力技術(shù)揭秘:后空翻、俯臥撐與翻車,6年經(jīng)驗、教訓總結(jié)

人工智能 新聞
為什么波士頓動力的人形機器人能完成跑酷、后空翻等高難度動作?為什么有時候它會翻車?工程師從中總結(jié)的經(jīng)驗、教訓都在這里了。

今年 4 月,著名機器人公司波士頓動力跟全世界開了一個玩笑,先是官宣人形機器人 Atlas 退役,狠狠來了一波回憶殺。

圖片

退役的 Atlas。

緊接著,就在第二天,他們又放出了一個新的人形機器人視頻。新機器人也叫 Atlas,不過由原來的液壓改為了電動,身材更為小巧、靈活。

圖片

此時,外界才反應(yīng)過來,原來波士頓動力并不是要放棄人形機器人,而是轉(zhuǎn)變了研發(fā)方向,讓機器人更加適應(yīng)工業(yè)環(huán)境。該公司表示,這個電動版的 Atlas 將于明年初在韓國現(xiàn)代汽車工廠里開始進行試點測試,并會在幾年后全面投產(chǎn)。

自公布后,這個機器人鮮少露面。直到最近,在機器人頂會 RSS 的一場技術(shù)分享上,大家才知道,原來新的 Atlas 已經(jīng)進化到可以做俯臥撐、倒立行走的地步了。

圖片

圖片

這個技術(shù)分享來自波士頓動力機器人工程師 Robin Deits。他是 MIT 博士,2018 年至今一直在波士頓動力工作,研究 Atlas 人形機器人的控制。

圖片

個人主頁:http://robindeits.com

在分享中,他介紹了 Atlas 機器人過去幾年的研發(fā)歷程,以及從中學到的經(jīng)驗、教訓,對機器人行業(yè)從業(yè)者可能很有啟發(fā)。機器之心將在這篇文章中進行系統(tǒng)梳理。

圖片

視頻鏈接:https://www.youtube.com/watch?v=aQi6QxMKxQM

Atlas 控制器的核心 ——MPC

在演講開頭,Robin Deits 首先介紹了波士頓動力這家公司。

波士頓動力現(xiàn)在是韓國現(xiàn)代汽車公司旗下的人形機器人公司,員工大概有八九百人,其代表性的機器人有 Spot(機器狗)、Stretch(倉庫搬運機器人)和 Atlas(人形機器人)。目前,Atlas 主要還是一個研發(fā)平臺,波士頓動力正慢慢將其轉(zhuǎn)化為產(chǎn)品。

圖片

接下來,Robin Deits 介紹了他們?nèi)绾螌?MPC 用于 Atlas,包括怎么用、遇到了哪些挑戰(zhàn)、還有哪些問題沒有解決等。

MPC 指的是 Model Predictive Control(模型預測控制),這是一種高級控制策略,通過使用數(shù)學模型來預測系統(tǒng)在未來一段時間內(nèi)的行為,然后優(yōu)化控制輸入,以實現(xiàn)系統(tǒng)性能的最佳化。MPC 的一個關(guān)鍵優(yōu)勢是它能夠處理多變量系統(tǒng),并且可以顯式地考慮約束條件(例如輸入和狀態(tài)的限制)。在機器人領(lǐng)域,MPC 通常用于路徑規(guī)劃、運動控制、姿態(tài)控制等任務(wù)中,因為它能在動態(tài)和復雜的環(huán)境下提供魯棒的控制解決方案。

圖片

Robin Deits 表示,他們從 2019 年以來實現(xiàn)的所有機器人動作都是依靠 MPC 來完成的,包括跑酷、體操、跳舞、后空翻等等。最近,他們還展示了 MPC 用于操縱物體的效果。2024 款純電驅(qū)動的 Atlas 新版本也是由 MPC 驅(qū)動的。

圖片

所有版本 Atlas 的 MPC 都有一些共同特點,包括:

1、非線性動力學、成本和約束

Deits 指出,所有 MPC 版本從一開始就包含非線性動力學,非線性無處不在,特別是接觸點的位置與接觸點施加力的大小之間的耦合。他們選擇接受這一點:如果一切都是非線性的,他們不會找到一個完美的線性近似系統(tǒng)。

2、迭代線性化并求解 QP

他們通過迭代地線性化來解決這個問題。這包括從一個初始猜測開始,然后解決一個 QP(二次規(guī)劃問題),圍繞那個 QP 的解進行線性化。

3、從不運行到收斂

他們對收斂不感興趣,因為 Deits 認為收斂并不能很好地預測機器人是否真的有效。如果機器人在等待過程中摔倒了,那么為了等待收斂到某個閾值而花費上百倍的時間并不值得。

4、利用問題結(jié)構(gòu)提高速度

他們做了很多工作,利用問題結(jié)構(gòu)來提高速度,盡可能保留由 MPC 問題結(jié)構(gòu)帶來的稀疏性。

5、不將求解器視為黑盒

他們嘗試打開求解器,重寫其內(nèi)部,以提高性能,而不是簡單地將求解器視為一個無法更改的黑盒。因為最終,他們需要盡可能快地解決最大的 MPC 問題。

自進入波士頓動力以來,Deits 所在的團隊已經(jīng)在機器人(硬件)上解決了大約 1000 萬個 QP 問題,在模擬環(huán)境中則解決了 100 億個。但這些還遠遠不夠。

圖片

把機器人看成長了四肢的「土豆」

為了簡化模型,他們首先把機器人想象成一個土豆。機器人存在諸多非線性因素,比如力的位置和大小之間的耦合,以及旋轉(zhuǎn)動力學等。通過簡化模型,專注于重心動力學,他們成功實現(xiàn)了 Atlas 機器人的 360 度旋轉(zhuǎn)、后空翻等動作。

圖片

圖片

但是,歸根結(jié)底,機器人不是土豆,它有可以移動的四肢,因此他們轉(zhuǎn)向了分階段優(yōu)化:首先考慮土豆的重心動力學,然后在獨立的運動學上做一些下游優(yōu)化,以找到與「土豆」一致的運動學行為。這種方法效果很好,幫 Atlas 實現(xiàn)了單手支撐跳過平衡木的動作。在這一過程中,他們使用手和腳來操縱重心動力變化,但是以一種跟蹤參考軌跡的方式移動四肢,使其清楚地避開平衡木。

圖片

但問題是,一旦「土豆」想做一些四肢做不到的事情(「土豆」以為能跳到那么遠,而四肢其實不能),Atlas 就會貢獻翻車片段。二者之間不夠協(xié)調(diào)。

圖片

所以,從這時起,波士頓動力調(diào)整策略,開始將 Atlas 視為一個運動學 - 重心動力學耦合的系統(tǒng)(a Kinodynamic System)。這個系統(tǒng)可以讓 Atlas 完成 540 度的轉(zhuǎn)體空翻,這是以前的分階段優(yōu)化系統(tǒng)做不到的。

此時,他們也意識到,增加模型的復雜性似乎總能在某種程度上提升機器人的性能,盡管這確實會讓計算過程變得更加復雜,軟件也更加龐大。他們在 MPC 問題中加入的每一個正確元素,都有助于改善機器人的表現(xiàn),但這同時也意味著需要更強大的計算能力和更精細的軟件實現(xiàn)。他們尚未發(fā)現(xiàn)一個臨界點。

為了讓機器人能夠操縱物體,他們采取了類似的耦合方法,將機器人和物體的狀態(tài)放到一個 MPC 問題中去解決,因為二者的運動互相約束。這使得 Atlas 能夠做到扔工具包、搬運木板、操縱較重物體等動作。

圖片

不過,這些動作都是在非常結(jié)構(gòu)化的環(huán)境中完成的,波士頓動力需要考慮機器人實際所處的世界。這讓問題變得更大、更難,引入了感知驅(qū)動的約束之類的東西。

他們采用像體素地圖這樣的世界表示,并將其作為 MPC 問題的額外約束。在一個例子中,他們讓機器人慢跑,沒有特別的參考動作,但是要求它保持頭部在體素外面,結(jié)果可以看到,機器人知道遇到體素要低頭。這仍然是一個局部優(yōu)化,機器人不會特別聰明地決定如何繞過一棵樹。但是 Deits 表示,依靠這些局部優(yōu)化并看看能用它做到什么,效果出奇地好。在一個讓機器人跑向盒子的例子中,它居然通過一個聰明的扭臀動作繞過了盒子。

圖片

但想要真正創(chuàng)造出一個用于執(zhí)行任務(wù)的有用機器人,只讓它在障礙物周圍走動并做一些編程好的動作還遠遠不夠。波士頓動力最近面臨的一大挑戰(zhàn)是如何將整個 MPC 系統(tǒng)應(yīng)用到人類在線指定的某種任務(wù)上。

Deits 展示了他們遙控機器人進行操作的例子。在遙控過程中,他們獲取操作者手部的動作,并將這些動作轉(zhuǎn)換成 MPC 的參考軌跡。由于無法預知操作者將來想要做什么,他們必須采取一些策略,將他們手部的即時姿態(tài)轉(zhuǎn)換成隨時間變化的 MPC 參考軌跡。

同樣的,他們還在嘗試執(zhí)行一些自主行為,比如讓機器人注視一個固定點并向其移動。他們利用可能異步在線傳入的傳感器輸入來構(gòu)建 MPC 的參考,這意味著 MPC 必須能夠非常靈活地適應(yīng)參考軌跡在一瞬間完全改變的情況。

經(jīng)驗、教訓總結(jié)

到目前為止,他們得到的有關(guān)模型「復雜性」的教訓是:

  • 更復雜的模型持續(xù)有效;
  • 將重心動力學和完整的運動學結(jié)合在一個優(yōu)化過程中,而不是分開處理,通常效果更好。這種方法可以避免當機器人作為一個整體(如土豆)嘗試執(zhí)行動作時四肢無法實現(xiàn)的問題;
  • 不要丟失那些梯度。在將運動學和重心動力學優(yōu)化分開時,他們沒有辦法告知機器人的主體部分四肢無法做到某些動作,因此那些梯度只能通過工程師的大腦間接地傳遞。而更有效的方式是讓這些梯度成為實際的梯度,讓求解器沿著這些梯度找到解決方案,而不是工程師自己去手動尋找。

Deits 還舉了一個例子來說明「一起優(yōu)化」的效果要好于分階段優(yōu)化。他們以很快的速度把一個籃球扔向機器人,機器人在平衡木上很難單腳保持平衡。但是,如果給機器人一根桿子,它就能利用那個桿子的動力學來保持平衡。波士頓動力也曾嘗試用分階段優(yōu)化來做這件事,但結(jié)果都沒有成功。只有把機器人的模型和與之交互的物體的模型放在一起優(yōu)化,機器人才能在平衡木上保持平衡。

第二個教訓是關(guān)于「非線性」方面的。他們發(fā)現(xiàn),直接優(yōu)化的非線性 MPC 可為非凸問題做出令人驚訝的正確決策,例如接觸點的位置和力的非凸性問題。Deits 確信他們經(jīng)常達到的是局部最小值,但這些結(jié)果通常已經(jīng)足夠好。他認為,在機器人出問題時,原因并不是他們未能解決特定的非凸問題,而是他們的模型在某些方面存在根本性錯誤,或者他們未能做出有用的決策,比如改變模式序列。

圖片

在這里,Deits 舉了一個例子:他們用一個棍子用力推機器人,但沒有告訴 MPC 該怎么應(yīng)對,只是讓它保持機器人直立(不要摔倒),然后給它一個左右踉蹌的序列。它所有的位置和選擇的力,包括所有的手臂、腿部動作都只是一個局部優(yōu)化。

除了常規(guī)的保持直立,這個 MPC 系統(tǒng)還能支持一些非常規(guī)動作,比如做俯臥撐、倒立行走。

第三個教訓是從「工程」角度來總結(jié)的。Deits 認為:

  • 精心的工程設(shè)計是使 MPC 真正發(fā)揮作用的一大因素。把一個數(shù)學上合理的東西放入一個實際運行的機器人中,并讓它運行 100 億次 QP 求解,需要大量的工作。
  • 軟件性能很重要,如果你的答案給得太晚,那就沒有用了。但軟件正確性更重要,一個符號錯誤會導致系統(tǒng)失效,或效果很差。在沒有找到 bug 之前,你很難區(qū)分問題出在數(shù)學上還是實現(xiàn)上,這會導致大家錯失一些好點子。因為一個符號錯誤而放棄一個在數(shù)學上很合理的點子是非??上У摹?/span>
  • 機器人的表現(xiàn)是唯一的目標,其他都是次要的。比如,求解器的「收斂」是無關(guān)緊要的,機器人是否完成了后空翻才是關(guān)鍵。

第四個教訓是關(guān)于「軌跡」的。Deits 發(fā)現(xiàn),粗略的軌跡竟然可以成為良好的參考。他們把復雜的期望行為編碼為關(guān)節(jié)、末端執(zhí)行器、物體姿態(tài)的軌跡。這些軌跡可能不一致,甚至完全不切實際。但更復雜的 MPC 能夠容忍這些不一致的參考。這意味著他們可以對所有動作運行相同的 MPC,而它卻能處理這些看似不合理的參考軌跡,并產(chǎn)生實際可行的動作。

在這里,他發(fā)現(xiàn)了一個有用的指標:對于控制工程師來說,你的控制器越好,它能接受的參考就越差。按照這個標準,工程師們都會期望自己的 MPC 能夠接受幾乎無意義的參考,并產(chǎn)生物理上合理的東西。

尚未解決的問題

顯然,使用軌跡作為 MPC 的參考可以帶來很好的控制效果,但軌跡本身很難制作。因為,在為機器人的控制策略制定參考軌跡時,需要預測和定義一個考慮時間因素的成本函數(shù)。這個成本函數(shù)是 MPC 決策過程的關(guān)鍵部分,它影響著機器人如何根據(jù)當前狀態(tài)和預期目標來規(guī)劃其動作。

然而,一個主要的挑戰(zhàn)是,機器人的期望行為可能不是靜態(tài)的,而是根據(jù)機器人當前的行為和環(huán)境反饋動態(tài)變化的。這意味著,控制策略需要具備適應(yīng)性,能夠?qū)崟r調(diào)整參考軌跡以適應(yīng)不斷變化的情況。比如在一個行走→到達→抓取→舉起的序列中,如果你處在到達與抓取之間,MPC 的參考軌跡應(yīng)該是什么?包括抓取嗎?我們不知道是否應(yīng)該包含抓取,直到我們知道我們是否真的到達了應(yīng)該到達的位置。MPC 的成本函數(shù)應(yīng)該包括動態(tài)變化嗎?Deits 表示,對于這些問題,他們也還沒搞清楚。

圖片

另一個挑戰(zhàn)是由「局部優(yōu)化」帶來的。Deits 指出,盡管他們依靠局部優(yōu)化成功做了很多事情,但有時候,局部優(yōu)化中的梯度可能會錯誤地引導機器人,導致機器人采取非最優(yōu)或錯誤的行動。

特別是,但沒有得到正確的接觸模式時,機器人會翻車。因為當機器人與環(huán)境接觸時,這種接觸會引入離散的變化,影響機器人的活動約束。

當機器人遇到意外情況或當前模式不再適用時,如何讓 MPC 系統(tǒng)動態(tài)地選擇一個新的模式序列?目前,他們還沒有一個明確的方法來解決這個問題。

圖片

Deits 提到的最后一個挑戰(zhàn)是:既然增加 MPC 的復雜性有幫助,那么如何在該系統(tǒng)中添加更多的復雜性,讓模型變得更大?這包括以下問題:

  • 如何在增加模型復雜性的同時減少延遲?
  • 哪些復雜性是正確的、值得關(guān)注的?包括執(zhí)行器扭矩、閉合運動鏈、隱式接觸優(yōu)化、狀態(tài)不確定性、模型不確定性等等。
  • 如何最有效地使用像 GPU 這樣的現(xiàn)代計算架構(gòu)?  

圖片

那么波士頓動力打算如何應(yīng)對這些挑戰(zhàn)呢?Deits 表示,MPC 與機器學習的結(jié)合是他們愿景中最重要的一步。他不確定二者將以何種方式結(jié)合。他們將同時嘗試各種可能性,比如:

  • 將 MPC 用作一個數(shù)據(jù)收集平臺。他們能夠控制機器人四處移動,因為他們擁有一個相當穩(wěn)定的控制器來控制機器人行走和做事,借此來收集數(shù)據(jù)。
  • 將 MPC 用作一個 API,這樣強化學習策略就不必直接與關(guān)節(jié)對話,而是將 MPC 視為機器人能力的抽象,與之交互。
  • 將 MPC 作為一個教師,用它來訓練可以被更高效地評估的策略。
  • 將 MPC 作為一種當下選擇,直到逆向工程出 RL 替代技術(shù)再切換。

圖片

雖然整個分享只有短短的 20 多分鐘,但波士頓動力詳細介紹了他們在研發(fā)歷程中踩的坑,整個分享干貨滿滿。感興趣的讀者可以點開視頻觀看(字幕由剪映自動生成,僅供參考)。

責任編輯:張燕妮 來源: 機器之心
相關(guān)推薦

2024-08-12 08:00:00

波士頓機器人

2019-12-24 09:08:05

機器人人工智能系統(tǒng)

2024-09-18 08:42:00

2024-01-22 09:03:00

機器人

2020-02-10 09:52:27

人工智能機器學習技術(shù)

2022-01-11 09:47:10

波士頓機器狗人工智能

2024-04-17 13:12:46

Atlas波士頓動力

2021-11-04 10:16:51

機器狗人工智能波士頓

2010-04-01 09:33:42

2021-09-18 15:10:39

波士頓機器狗人工智能

2024-04-19 09:24:24

機器人波士頓

2024-04-18 13:17:15

人形機器人

2017-10-18 08:49:09

機器人

2020-09-14 16:09:10

機器狗人工智能系統(tǒng)

2021-06-30 15:25:36

波士頓機器狗人工智能

2021-03-08 10:29:59

波士頓機器狗人工智能

2021-03-30 12:59:06

波士頓機器人人工智能

2020-10-23 11:02:42

波士頓機器狗人工智能

2020-02-12 09:15:08

人工智能機器學習技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號