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.mzph.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(宿…