該工作推出RoboGen,這是一種生成機器人代理,可以通過生成模擬自動大規模學習各種機器人技能。 RoboGen 利用基礎模型和生成模型的最新進展。該工作不直接使用或調整這些模型來產生策略或低級動作,而是提倡一種生成方案,該方案使用這些模型自動生成多樣化的任務、場景和訓練監督,從而在最少的人類監督下擴大機器人技能的學習。
該工作的方法為機器人代理提供了一個自我引導的提議(propose)-生成(generate)-學習(learning)循環。
1、代理首先提出要開發的感興趣的任務和技能,然后通過使用適當的空間配置填充相關對象和資產來生成相應的模擬環境。
2、代理將propose的高級任務分解為子任務,選擇最佳學習方法(強化學習、運動規劃或軌跡優化),生成所需的訓練監督,然后學習策略以獲得提議的技能。
該工作的工作試圖提取大型模型中嵌入的廣泛且通用的知識,并將其轉移到機器人領域。該工作的完全生成pipeline可以重復查詢,產生與不同任務和環境相關的無窮無盡的技能演示。
介紹
這項工作的動機是機器人研究中一個長期存在且具有挑戰性的目標:賦予機器人多種技能,使它們能夠在各種非工廠環境中操作并為人類執行廣泛的任務。近年來,在教機器人各種復雜技能方面取得了令人矚目的進展:從可變形物體和流體操縱到動態和靈巧技能,如物體投擲、手部重新定向、踢足球甚至機器人跑酷。然而,這些技能仍然各自為政,視野相對較短,并且需要人為設計的任務描述和訓練監督。值得注意的是,由于現實世界數據收集的成本高昂且費力,許多這些技能都是在具有適當領域隨機化的模擬中進行訓練,然后部署到現實世界中。
robogen可以自主生成任務和環境并且學習技能
事實上,模擬環境已經成為多樣化機器人技能學習背后的關鍵驅動力。與現實世界中的探索和數據收集相比,模擬中的技能學習具有以下幾個優點:1)模擬環境提供了特權低級狀態的訪問和無限的探索機會;2) 仿真支持大規模并行計算,能夠顯著加快數據收集速度,而無需依賴對機器人硬件和人力的大量投資;3)模擬探索允許機器人開發閉環策略和錯誤恢復能力,而現實世界的演示通常只提供專家軌跡。然而,模擬中的機器人學習也存在其自身的局限性:雖然在模擬環境中探索和練習具有成本效益,但構建這些環境需要大量的勞動力,需要繁瑣的步驟,包括設計任務、選擇相關且語義上有意義的資產、生成合理的場景布局和配置,以及制定訓練監督,例如獎勵或損失函數。創建這些組件并為該工作日常生活中遇到的無數任務構建個性化模擬設置的繁重任務是一項巨大的挑戰,即使在模擬世界中,這也極大地限制了機器人技能學習的可擴展性。
解決的兩個問題:1、機器人的技能各自孤立,且需要人為設計的任務描述和訓練監督;(2)在模擬器上進行訓練,雖然模擬器有很多優勢,但也在一定程度上限制了機器人技能學習的可擴展性。
有鑒于此,該工作提出了一種稱為生成模擬的范例,將模擬機器人技能學習、基礎大模型和生成模型的最新進展結合起來。利用最先進的基礎模型的生成能力,生成模擬旨在為模擬中各種機器人技能學習所需的所有階段生成信息:從高級任務和技能建議,到任務相關的場景描述,資產選擇和生成、策略學習選擇和訓練監督。得益于最新基礎模型中編碼的全面知識,以這種方式生成的場景和任務數據有可能與現實世界場景的分布非常相似。此外,這些模型還可以進一步提供分解的低級子任務,這些子任務可以通過特定領域的策略學習方法無縫處理,從而產生各種技能和場景的閉環演示。
本文的RoboGen結合模擬機器人技能學習、基礎大模型和生成模型,想達到目標:1、生成機器人技能學習過程中所需要的信息:任務和技能的生成、為相關的任務配備虛擬環境;2、將高級任務分解成低級子任務,策略選擇學習、生成訓練監督。
方法介紹
robogen工作流程圖
RoboGen是一個自動化pipeline,利用最新基礎模型的嵌入式常識和生成功能來自動生成任務、場景和訓練監督,從而實現大規模的多樣化機器人技能學習。該工作在圖中展示了整個流程,由幾個完整的階段組成:任務提議、場景生成、訓練監督生成和技能學習。
任務提議:
RoboGen首先生成有意義的、多樣化的、高水平的任務供機器人學習。該工作沒有直接向 LLM 查詢任務建議,而是使用特定的機器人類型和從池中隨機采樣的對象來初始化系統。然后將提供的機器人和采樣對象信息用作 LLM 的輸入以執行任務建議。這樣的采樣過程確保了生成任務的多樣性:例如,四足機器人等腿式機器人能夠獲得多種運動技能,而機械臂操縱器在配對時有可能執行多種操縱任務與不同的采樣對象。此初始化步驟充當播種階段,為LLM可以進行調節并隨后進行推理和推斷以生成各種任務提供基礎,同時考慮到機器人和物體的可供性。除了基于對象的初始化之外,另一種選擇是采用基于示例的初始化,其中使用提供的機器人和從列表 11 個預定義任務中采樣的幾個示例任務來初始化查詢。
場景生成:
給定一個提議的任務,繼續生成相應的模擬場景,以學習完成該任務的技能。如圖 2 所示,根據任務描述生成場景組件和配置,并檢索或生成對象資產以隨后填充模擬場景。具體來說,場景組件和配置由以下元素組成:查詢要填充到場景中的相關資產、其物理參數(例如大小)、配置(例如初始關節角度)以及資產的整體空間配置。
訓練監督生成:
為了獲得解決所提出的任務的技能,需要對技能學習進行監督。為了促進學習過程,RoboGen 首先查詢 GPT-4 來規劃和分解生成的任務(可以是長范圍的)為較短范圍的子任務。關鍵假設是,當任務被分解為足夠短的子任務時,每個子任務都可以通過現有的算法(例如強化學習、運動規劃或軌跡優化)可靠地解決。
分解后,RoboGen隨后查詢 GPT-4 以選擇合適的算法來解決每個子任務。RoboGen中集成了三種不同類型的學習算法:強化學習和進化策略、基于梯度的軌跡優化、具有運動規劃的動作原語。每一種都適合不同的任務,例如,基于梯度的軌跡優化更適合學習涉及軟體的細粒度操作任務,例如將面團塑造成目標形狀;與運動規劃相結合的動作基元在解決任務時更加可靠,例如通過無碰撞路徑接近目標對象;強化學習和進化策略更適合接觸豐富且涉及與其他場景組件持續交互的任務,例如腿運動,或者當所需的動作不能通過離散的末端執行器姿勢簡單地參數化時,例如轉動烤箱的旋鈕。
該工作提供示例,讓 GPT-4 根據生成的子任務在線選擇使用哪種學習算法。考慮的動作原語包括抓取、接近和釋放目標對象。由于平行爪式夾具在抓取不同尺寸的物體時可能會受到限制,因此考慮使用配備吸盤的機器人操縱器來簡化物體抓取。抓取和接近基元的實現如下:首先隨機采樣目標對象或鏈接上的一個點,計算與采樣點法線對齊的夾具姿勢,然后使用運動規劃來找到一條無碰撞路徑達到目標夾具姿勢。達到姿勢后,繼續沿著法線方向移動,直到與目標物體接觸。
技能學習:
一旦獲得了所提出的任務所需的所有信息,包括場景組件和配置、任務分解以及分解的子任務的訓練監督,就能夠為機器人構建模擬場景,以學習完成任務所需的技能任務。
如上所述,結合使用多種技術進行技能學習,包括強化學習、進化策略、基于梯度的軌跡優化以及帶有運動規劃的動作原語,因為每種技術都適合不同類型的任務。對于對象操作任務,使用 SAC 作為學習技能的 RL 算法。觀察空間是任務中物體和機器人的低層狀態。強化學習策略的動作空間包括機器人末端執行器的增量平移或目標位置(由 GPT-4 確定)及其增量旋轉。使用開放運動規劃庫(OMPL)(Sucan 等人,2012)中實現的BIT* 作為動作基元的底層運動規劃算法。對于涉及多個子任務的長視野任務,采用順序學習每個子任務的簡單方案:對于每個子任務,運行 RL N = 8 次,并使用具有最高獎勵的最終狀態作為初始狀態為下一個子任務。對于運動任務,交叉熵方法(CEM)用于技能學習,發現它比 RL 更穩定、更高效。CEM中采用地面真值模擬器作為動態模型,需要優化的動作是機器人的關節角度值。對于軟體操縱任務,與 Adam 一起運行基于梯度的軌跡優化來學習技能,其中梯度由使用的完全可微模擬器提供。
實驗
RoboGen是一個自動化pipeline,可以無限查詢,并為不同的任務生成連續的技能演示流。在實驗中,旨在回答以下問題:
? 任務多樣性:RoboGen機器人技能學習提出的任務有多多樣化?
? 場景有效性:RoboGen是否生成與建議的任務描述相匹配的有效模擬環境?
? 訓練監督有效性:RoboGen 是否為任務生成正確的任務分解和訓練監督,從而誘導預期的機器人技能?
? 技能學習:在RoboGen中集成不同的學習算法是否可以提高學習技能的成功率?
? 系統:結合所有自動化階段,整個系統能否產生多樣化且有意義的機器人技能?
實驗設置
提出的系統是通用的,并且與特定的模擬平臺無關。然而,由于考慮了從剛性動力學到軟體模擬的廣泛任務類別,并且還考慮了技能學習方法,例如基于梯度的軌跡優化,這需要可微分的模擬平臺,因此使用 Genesis 來部署 RoboGen(一個模擬平臺)用于使用多種材料和完全可微分的機器人學習。對于技能學習,使用 SAC 作為 RL 算法。策略和 Q 網絡都是大小為 [256, 256, 256] 的多層感知器 (MLP),以 3e ? 4 的學習率進行訓練。對于每個子任務,使用 1M 環境步驟進行訓練。使用 BIT* 作為運動規劃算法,使用 Adam 用于軟體操縱任務的基于梯度的軌跡優化。
長周期任務技能學習效果
評估指標和baseline:
任務多樣性:生成的任務的多樣性可以從許多方面來衡量,例如任務的語義、生成的模擬環境的場景配置、檢索到的對象資產的外觀和幾何形狀以及執行任務所需的機器人動作。對于任務的語義意義,通過計算生成的任務描述的 Self-BLEU 和嵌入相似度來進行定量評估,其中較低的分數表明更好的多樣性。與既定基準進行比較,包括 RLBench、Maniskill2、Meta-World和 Behaviour-100。對于對象資產和機器人動作,使用生成的模擬環境和所學機器人技能的可視化來定性評估 RoboGen。
場景有效性:為了驗證檢索到的對象是否符合任務要求,計算模擬場景中檢索到的對象的渲染圖像與對象的文本描述之間的 BLIP-2 分數。A)無對象驗證:我們不使用VLM來驗證檢索到的對象,而只是基于文本匹配來檢索對象。B) 無大小驗證:我們不使用 GPT-4 輸出的對象大小;相反,我們使用 Objaverse 或 PartNetMobility 中提供的默認資源大小。
實驗結果如下圖所示:
robogen在7個任務上的結果
總結
該工作引入了RoboGen,這是一種生成代理,可以通過生成模擬自動大規模地提出和學習各種機器人技能。RoboGen 利用基礎模型的最新進展,在模擬中自動生成不同的任務、場景和訓練監督,為模擬中可擴展的機器人技能學習邁出了基礎一步,同時部署后只需要最少的人工監督。系統是一個完全生成的pipeline,可以無限查詢,產生大量與不同任務和環境相關的技能演示。RoboGen與后端基礎模型無關,并且可以使用可用的最新模型不斷升級。
當前的系統仍然存在一些局限性:1)對所學技能的大規模驗證(即所得技能是否真的通過文本描述解決了相應的任務)仍然是當前pipeline中的一個挑戰。未來可以通過使用更好的多模式基礎模型來解決這個問題。Ma還探索了使用環境反饋對生成的監督(獎勵函數)進行迭代細化,希望將來將其整合到范式中。2)當涉及到現實世界的部署時,范例本質上受到模擬與真實差距的限制。然而,隨著物理精確模擬的最新和快速發展,以及域隨機化和逼真的感官信號渲染等技術,預計模擬與真實的差距在未來將進一步縮小。3)系統假設,通過正確的獎勵函數,現有的策略學習算法足以學習所提出的技能。對于在本文中測試的策略學習算法(具有 SAC 的 RL 和 delta 末端執行器姿勢的動作空間,以及基于梯度的軌跡優化),觀察到它們仍然不夠魯棒,并且通常需要多次運行才能產生成功某些生成任務的技能演示。將更強大的策略學習算法集成到 RoboGen 中,例如那些具有更好動作參數化的算法,作為未來的工作。