COMPASS:通過殘差強化學習和技能合成實現跨具身移動策略

25年2月來自 Nvidia、UC Berkeley 和 UT Austin 的論文“COMPASS: Cross-embOdiment Mobility Policy via ResiduAl RL and Skill Synthesis”。

隨著機器人越來越多地部署在不同的應用領域,可泛化的跨具身移動策略變得越來越重要。雖然經典的移動棧已被證明在特定的機器人平臺上有效,但它們在泛化到新具身時帶來了重大挑戰。基于學習的方法,例如模仿學習 (IL) 和強化學習 (RL),提供了替代解決方案,但受到協變量漂移、大環境中的稀疏采樣和具身特定約束的影響。

COMPASS,是一種通過集成 IL、殘差 RL 和策略蒸餾來開發跨具身移動策略的工作流程。從移動機器人上的 IL 開始,利用易于訪問的教師策略來訓練將世界模型與移動策略相結合的基礎模型。在此基礎上,用殘差 RL 來微調具身特定策略,利用預訓練的表示來提高處理各種物理約束和傳感器模式的采樣效率。最后,策略蒸餾將這些具身專家策略合并為一個強大的跨具身策略。

實證研究證明,COMPASS 可有效擴展到各種機器人平臺,同時保持對各種環境配置的適應性,實現一個通才策略,成功率比預訓練的 IL 策略高出約 5 倍。由此產生的框架為跨實體移動性提供高效、可擴展的解決方案,使具有不同設計的機器人能夠在復雜場景中安全高效地導航。

機器人技術在工業和日常生活中都取得重大進展,推動對協作機器人處理日益復雜任務的需求。然而,由于不同機器人平臺在形態特征、運動學和傳感器配置方面存在許多差異,開發強大的跨實體移動策略仍然具有挑戰性 [1]–[3]。這些差異使得創建一種在現實環境中既強大又適應性強的一個普遍策略變得復雜。

經典移動棧 [4]、[5] 在特定機器人(尤其是輪式平臺)上表現出色,但在移植到具有不同傳感器套件和物理約束的新實體時,通常需要進行大量重新調整或重新開發。這種對每個機器人優化的依賴,引起人們對端到端學習方法的興趣 [6]、[7],尤其是對于跨多個機器人的擴展。
模仿學習 (IL) 是一種引人注目的替代方案,因為它可以利用現有的專家演示和教師策略。盡管 IL 具有直觀的吸引力,但它可能會受到協變量漂移 [8] 的影響,即策略會遇到演示期間未見過的分布外狀態。雖然機器學習架構 [9]–[11] 和數據增強技術 [12] 的進步有助于緩解這些問題,但添加更多特定于機器人的因素會增加數據要求和訓練復雜性。為復雜模態(例如人形機器人)生成高質量的演示會使純 IL 方法更加復雜。

強化學習 (RL) [13] 提供了另一種獲得特定具身策略的標準途徑,尤其是對于運動等任務。然而,導航 RL 仍然受到自然環境中大搜索空間和稀疏獎勵的限制。殘差 RL [14]、[15] 通過以數據驅動的方式改進預訓練策略來解決這些問題,從而實現更快的收斂和更高的穩定性。與此同時,新興的視覺語言動作 (VLA) [1]、[3]、[16]、[17] 模型已顯示出跨平臺任務的前景,但通常通過低維基于航點的動作空間或開環規劃階段進行操作,這使得它們對于具有高維動態的平臺效率較低。

本文提出一個三階段工作流程,旨在構建強大的跨具身移動策略。首先,通過 IL 訓練一個基本策略,該策略從移動機器人上的教師演示中捕獲一般移動先驗。接下來,通過殘差 RL 將此基本策略細化為具身專家。最后,策略蒸餾將這些專家組合成適合多平臺部署的單一模型。如圖所示 COMPASS 工作流的高層概述:(1)IL;(2)具身專家的殘差 RL;(3)跨具身蒸餾。

請添加圖片描述

假設目標是跨不同機器人實現點對點移動的任務,每個機器人都具有獨特的運動學和動力學特征。在時間步 t,讓機器人觀察狀態定義為
x_t = (I_t, v_t, g_t, e),

其中 I_t 是當前相機輸入(RGB 圖像),v_t 是測量的速度,g_t 提供路線或目標相關信息(例如,機器人框架中的目標位置),e 是指定機器人形態的實現嵌入。雖然 e 在一次事件中對于單個機器人保持不變,但它在不同的實現中有所不同。

目標是學習一個策略 π_θ,將 x_t 映射到速度命令 a_t = (v_t , ω_t ),然后由低級控制器使用該策略進行關節級驅動。環境的過渡動態 p(x_t+1 | x_t , a_t ) 取決于機器人的實現和場景中的外部因素。定義一個獎勵函數 R(·),鼓勵高效、無碰撞地實現目標。目標是最大化預期折扣回報。

挑戰在于設計一個利用具身嵌入 e 的單一策略,允許共享知識但又能適應不同的形態約束。

第一步:移動先驗的 IL

第一步是使用 IL 獲取一個通用移動性基線。依靠現成的教師策略(通常是經典的移動棧)來處理標準移動機器人,這些策略通常提供可靠的演示。

  1. 潛狀態建模:引入潛狀態 s_t 來捕捉環境動態。讓 o_t = (I_t, v_t) 表示原始觀測值,包括 RGB 圖像和機器人速度。
    在此目標是學習一個可以預測這個潛空間轉換的世界模型,包括基于動作的潛狀態更新和觀測的預測或重建。訓練就是基于專家演示,最小化重建或預測的誤差/損失。

2)潛空間中的策略學習:學習潛轉換后,接著訓練策略π_θ^IL,該策略采用策略狀態p_t(融合潛狀態s_t和路線嵌入 r_t)來預測動作 a_t。

訓練中,盡量減少策略輸出和教師動作之間的動作差異。這樣產生了基于 IL 的移動先驗。世界模型通過預測未來的觀察和潛轉換,幫助策略泛化到分布外的狀態,從而為決策提供強大的編碼表征。

  1. X-Mobility:利用 X-Mobility [6] (可泛化導航)作為基礎策略,該策略將自回歸世界模型(如圖所示)與速度預測策略模型相結合。學習到的潛狀態 s_t 封裝環境動態和約束,而策略頭將此狀態與路線信息相結合以生成速度命令。X-Mobility 強大的泛化性能,表明其學習的表示可輕松適應不同的具身。

第二步:微調專家模型的 RL

通過 IL 訓練出一個有前途的通用移動策略后,通過殘差 RL 對其進行改進,以滿足特定于具身的需求。此階段解決機器人特定的運動學、傳感器配置以及基本 IL 策略可能無法完全捕獲的其他約束。

  1. 殘差策略設置:讓 a_t^base = π_θ^base(p_t) 成為來自 IL 基線的操作。引入一個殘差策略 π_φres,它采用 p_t 并輸出 a_res。最終操作是 a_t =a_tbase+a_tres。π_φres 的作用是使基本策略適應特定具身特征的細微差別。

  2. 獎勵設計:定義一個獎勵函數 R 來促進安全高效的移動,它由以下部分組成:
    進度:與目標的距離減少成正比的正獎勵。
    避免碰撞:碰撞或跌倒的懲罰。
    完成目標:到達目的地時獲得大量正獎勵。
    采用這種簡單的公式來促進訓練,同時承認更復雜的獎勵塑造可能會產生更好的性能。

  3. 訓練循環:對殘差策略 π_φ^res 采用基于 PPO 的 RL 優化器 [18]。如圖所示,每次訓練迭代按如下方式進行:

請添加圖片描述

  1. 智體接收當前狀態 x_t,通過世界模型對其進行處理以形成策略狀態 p_t,然后從 IL 策略生成基本動作 a_tbase,從殘差網絡生成殘差動作 a_t^res。

  2. 組合動作 a_t 通過特定具身的聯合控制器在模擬環境中執行。

  3. 智體觀察下一個狀態 x_t+1 和與轉換相關的獎勵 R。

  4. 殘差策略 π_φ^res 通過基于梯度的方法更新,而 IL 策略 π_θ^base 保持凍結。
    如果機器人到達目的地、與障礙物相撞或超時,環境將重置。 收到重置信號后,世界模型中的歷史狀態也會被清除。

  5. 殘差策略網絡架構:殘差策略網絡采用與 IL 策略相同的世界模型。 從 IL 動作策略中復制權重,并僅重新初始化最終輸出層以學習殘差組件。 該策略可確保穩定的訓練,并將殘差學習重點放在彌補特定具身的性能差距上。 對于評論家網絡,采用標準多層感知器 (MLP),以相同的策略狀態作為輸入。

通過構建強大的預訓練基礎策略,殘差 RL 框架減輕典型的稀疏采樣挑戰,從而使每個特定具身能夠更快地收斂到高性能策略。

第三步:策略蒸餾以結合專家

在為每個機器人具身單獨訓練殘差 RL 專家后,將它們合并為一個多具身策略。此“提煉”策略捕獲所有專家策略的集體知識,同時使用具身嵌入來跨不同機器人平臺進行泛化。

  1. 從專家處收集數據:在殘差 RL 訓練之后,記錄每個專家的輸入和輸出分布,包括:
    來自世界模型的策略狀態。
    one-hot 具身標識符 e。
    PPO 中使用的高斯動作分布均值和方差。

這個記錄的數據集構成蒸餾的基礎。

  1. 蒸餾方法:讓 π_φ^(i) 表示第 i 個具身的專家策略。每個專家都會對動作產生一個正態分布 N (μ^(i)§, σ^2)。在給定 p 和具身嵌入 e 的情況下,定義一個蒸餾策略 π_θ^dist,輸出 μ_θ (p,e)。為了匹配專家的分布,最小化 KL 散度。

  2. 具身嵌入:策略蒸餾的一個關鍵組成部分是具身嵌入 e,它捕獲每個具身的形態和動態特征。在最簡單的版本中,使用長度為 N 的 one-hot 編碼向量,其中 N 表示機器人具身的數量。該向量中的每個位置都對應一個特定的機器人。當 N 較小且機器人差異很大時,這種直接的方法非常有效。預計通過在嵌入空間內進行插值,可學習的嵌入可以更好地泛化到新的、未見過的具身。

  3. 蒸餾策略網絡架構:蒸餾策略保留相同的潛處理流水線,但在生成最終動作分布之前,還對具身進行條件限制(如圖所示)。該網絡由用于均值預測的 MLP 和全局方差參數組成,從而產生一個單一策略,該策略在所有考慮的機器人類型中實現近乎專家的性能。

請添加圖片描述

因此,該三步框架——模仿學習、殘差強化學習和策略蒸餾——彌合通用移動知識和高度專業化具身約束之間的差距,產生統一的跨具身移動策略。

訓練細節

  1. IL 基礎策略:對于初始 IL 階段,用在 Carter 數據集上預訓練的 X-Mobility 檢查點。凍結此檢查點,然后將其用作后續 RL 細化的基礎網絡。

  2. 殘差 RL:利用 Nvidia Isaac Lab [19] 在并行化的視覺 RL 環境中訓練策略,從而實現高效的數據收集和快速的訓練更新。

為了避免過擬合并保持基礎策略跨環境泛化的能力,構建一組多樣化的訓練場景(如圖所示),以適應四種不同的機器人具身:Nova Carter(輪式)、Unitree H1(人形機器人)、Unitree G1(人形機器人)和 Spot Mini(四足機器人)。對于人形機器人和四足機器人,采用在 Isaac Lab 內訓練的基于 RL 運動策略,將速度命令映射到關節級控制。由于 Isaac Lab 對輪子物理的支持有限,Nova Carter 改用自定義控制器,根據速度命令直接調整機器人的根狀態。

請添加圖片描述

每個具身都在統一的環境中進行訓練,該環境隨機初始化智體的姿勢和目標位置,其中目標距離從機器人的起始位置均勻采樣 2m 到 5m 之間。機器人和目標之間的直線作為簡化的路線,在攝像機的視野范圍內提供短距離引導。每個 episode 跨越最多 256 個時間步長,如果智體發生碰撞、達到目標或超過最大 episode 長度,則會重置。用 2 個 Nvidia L40 GPU 并行訓練每個具身專家 1,000 episodes,64 個環境,但 Carter 除外,它只訓練 300 episodes 以減輕過擬合。減少 Carter 的訓練規劃是必要的,因為 X-Mobility 已經在 Carter 數據集上進行訓練,如果進行大量微調,它很容易過擬合。

  1. 策略蒸餾:為了將學習的專家蒸餾成一個統一的策略,使用與殘差強化學習訓練相同的環境為每個具身記錄 320 條軌跡。每條軌跡跨越 128 步,每個具身產生約 40k 幀。然后,使用 4 個 Nvidia H100 GPU 通過對齊每個專家的輸出分布來執行策略蒸餾。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74852.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74852.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74852.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

無人機,雷達定點飛行時,位置發散,位置很飄,原因分析

參考: 無人車傳感器 IMU與GPS數據融合進行定位機制_gps imu 組合定位原始數-CSDN博客 我的無人機使用雷達定位,位置模式很飄 雷達的更新頻率也是10HZ, 而px飛控的頻率是100HZ,沒有對兩者之間的頻率差異做出處理 所以才導致無人…

學習threejs,使用Sprite精靈、SpriteMaterial精靈材質

👨??? 主頁: gis分享者 👨??? 感謝各位大佬 點贊👍 收藏? 留言📝 加關注?! 👨??? 收錄于專欄:threejs gis工程師 文章目錄 一、🍀前言1.1 ??THREE.Sprite1.1.1 ??代碼…

外星人入侵(python設計小游戲)

這個游戲簡而言之就是操作一個飛機對前方的飛船進行射擊,和一款很久之前的游戲很像,這里是超級低配版那個游戲,先來看看效果圖: 由于設計的是全屏的,所以電腦不能截圖。。。。 下面的就是你操控的飛船,上面…

什么是CMS?常用CMS有哪些?

一、內容管理系統(Content Management System)? ?什么是CMS?:位于 Web 前端(服務器)和后端辦公系統之間的軟件系統,用于內容創建、編輯、審批和發布。支持文本、圖片、視頻、數據庫等各類數字內容的管理…

Go 語言規范學習(3)

文章目錄 Properties of types and valuesRepresentation of valuesUnderlying types【底層類型】Core types【核心類型】Type identityAssignabilityRepresentabilityMethod sets BlocksDeclarations and scopeLabel scopesBlank identifierPredeclared identifiersExported i…

在 Ubuntu 上安裝 Docker 的完整指南

1. 卸載舊版本(如有) 在安裝新版本前,建議先卸載舊版本: sudo apt remove docker docker-engine docker.io containerd runc 2. 安裝依賴包 更新軟件包索引并安裝必要的依賴: sudo apt update sudo apt install -y ca-certificates curl gnupg lsb-release 3. 添加 Do…

turtle的九個使用

一 import turtle as t color [red,green,blue,orange,pink] for i in range(len(color)):t.penup()t.goto(-20070*i,0)t.pendown()t.pencolor(color[i])t.circle(50, steps 5) t.done()二 #在____________上補充代碼 #不要修改其他代碼import random as r import turtle a…

23種設計模式-備忘錄(Memento)設計模式

備忘錄設計模式 🚩什么是備忘錄設計模式?🚩備忘錄設計模式的特點🚩備忘錄設計模式的結構🚩備忘錄設計模式的優缺點🚩備忘錄設計模式的Java實現🚩代碼總結🚩總結 🚩什么是…

利用虛擬化技術實現高級Hook

虛擬化技術為系統監控和Hook提供了更強大、更隱蔽的實現方式。以下是幾種基于虛擬化的Hook技術實現方法: 1. 基于VT-x/AMD-V的硬件虛擬化Hook 基本原理 利用CPU的硬件虛擬化擴展(Intel VT-x/AMD-V)在Ring -1層級監控系統行為,實現無法被常規方法檢測的…

某魚、某寶 sign 簽名算法分析記錄

【作者主頁】:小魚神1024 【知識星球】:小魚神的逆向編程圈 【擅長領域】:JS逆向、小程序逆向、AST還原、驗證碼突防、Python開發、瀏覽器插件開發、React前端開發、NestJS后端開發等等 本文章中所有內容僅供學習交流使用,不用于其…

Compose筆記(十三)--事件總線

這一節了解一下Compose中的事件總線,在Jetpack Compose里,官方沒有直接提供事件總線,但可以借助第三方庫或者自定義實現來達成事件總線的功能,進而在不同的 Compose 控件間同步數據。 自定義事件總線 import androidx.compose.r…

Python的inspect模塊

在Python編程中,**inspect**模塊是一個強大的工具包,它提供了一系列函數來獲取對象的信息,主要用于獲取對象的源代碼、參數信息、類繼承關系、方法屬性等。這對于調試、自動化文檔生成、代碼分析等場景都非常有用。本文將詳細介紹inspect模塊…

2025跳槽學習計劃

(1)編程基礎: 目錄學習資料Chttps://www.bilibili.com/video/BV1z64y1U7hs?spm_id_from333.1387.favlist.content.clickLinuxPytorchhttps://www.bilibili.com/video/BV1if4y147hS?spm_id_from333.1387.favlist.content.clickopencv數據結…

WebRTC簡介及應用

WebRTC(Web Real-Time Communication)是一種支持瀏覽器和移動設備進行實時音視頻通信的技術,無需安裝插件或額外的軟件。它是一個開放標準,最初由Google推動,并被W3C(萬維網聯盟)和IETF&#xf…

【C語言】分支與循環(上)

前言:C語言是由順序結構、選擇結構、循環結構組成的結構化的程序設計語言。 那C語言是如何設計和實現這些結構的呢?話不多說,馬上開始。 三種結構如圖所示: 我們可以使用 if else語句、 switch語句 來實現選擇(分支&am…

一次與chatgpt關于VO的深入討論。

我: {"usageRate":50,"projectInfo":[{"productName":"長江一號","deviceInfo":[{"deviceName":"AA","num":10},{"deviceName":"BB","num":3}]},…

Springboot學習筆記3.20

目錄 1.實戰篇第一課 我們將會在本次實戰中學習到哪些知識點? 開發模式和環境搭建: 注冊接口 1.Lombok 2.開發流程 1.controller層,這個層會指明訪問路徑和要執行的邏輯: 2.我們把返回結果根據接口文檔包裝成一個類result&a…

docker save如何遷移鏡像更節省空間?

文章目錄 方法一:使用docker save命令方法二:直接保存多個鏡像到一個tar文件哪個方法更節省磁盤空間?空間效率對比實際測試示例其他優勢結論 如何用腳本遷移加載鏡像 遷移鏡像時候,往往會碰到基礎鏡像相同的很多鏡像需要遷移&…

全新升級 | Built For You Spring ‘25 發布,Fin 智能客服實現新突破!

圖像識別、語音交互、任務自動化,立即體驗智能客服蛻變! 上周,Intercom 舉辦了 Built For You Spring 25 發布會,正式揭曉了 AI Agent Fin 的一系列令人振奮的更新。Fin 正在以前所未有的速度革新客戶支持模式——它已經成功解決了…

需求導向的K8S網絡原理分析:Kube-proxy、Flannel、Calico的地位和作用

最近發現自己似乎從來沒學明白過Kubernetes網絡通信方案,特開一貼復習總結一下。 在k8s中,每個 Pod 都擁有一個獨立的 IP 地址,而且假定所有 Pod 都在一個可以直接連通的、扁平的網絡空間中。所以不管它們是否允許在同一個 Node(宿…