RAL-2025 | 清华大学数字孪生驱动的机器人视觉导航!VR-Robo:面向视觉机器人导航与运动的现实-模拟-现实框架

  • 作者: Shaoting Zhu, Linzhan Mou, Derun Li, Baijun Ye, Runhan Huang, Hang Zhao

  • 单位:清华大学交叉信息研究院,上海期智研究院,Galaxea AI,上海交通大学电子信息与电气工程学院

  • 论文标题:VR-Robo: A Real-to-Sim-to-Real Framework for Visual Robot Navigation and Locomotion

  • 出版信息:IEEE ROBOTICS AND AUTOMATION LETTERS, 2025

  • 论文链接:https://arxiv.org/pdf/2502.01536

  • 项目链接:https://vr-robo.github.io/

  • 代码链接:https://github.com/zst1406217/VR-Robo

主要贡献

  • 提出“Real-to-Sim-to-Real”训练框架:从真实环境中仅通过RGB图像重建逼真且可交互的数字孪生仿真环境,用于机器人视觉导航和运动控制策略的训练。

  • 引入GS-Mesh混合建模与交互机制:结合3D Gaussian Splatting和Mesh模型,实现同时具备视觉真实感与物理交互能力的仿真环境构建。

  • 实现RGB-only零样本迁移:所训练的策略无需深度/LiDAR/SLAM信息,仅依赖RGB视觉即可从仿真环境无缝部署至真实世界,展现出良好的泛化能力与鲁棒性。

  • 提出场景随机化与遮挡感知机制:通过智能体-物体的随机化布置与遮挡感知场景合成,有效提升策略的探索能力与稳健性。

研究背景

  • 机器人导航和运动的重要性:机器人在物理世界中探索、感知和交互对于家庭服务和工业自动化等应用至关重要。

  • 模拟训练的优势和挑战:模拟训练允许机器人在安全的环境中体验多样化的环境条件和失败案例,但将模拟中学习到的策略迁移到现实世界中仍然是一个挑战,因为模拟器通常无法复制视觉真实感和复杂的现实世界几何形状。

  • 现有方法的局限性:以往的研究尝试通过跨域深度图像训练代理,但这些方法主要局限于低级运动任务,因为标准模拟器难以复制现实世界的视觉保真度和复杂几何形状。

任务定义

  • 任务描述
    • 机器人需要在场景中找到并到达指定颜色的目标锥体。每个场景中央都有一个由高台和连接地面与平台的斜坡或楼梯组成的地形。在每次试验开始时,机器人的初始位置和朝向是随机的,目标锥体则放置在左、中、右三个指定区域中的一个,位置也是随机的。

    • 机器人可能一开始并不能看到目标锥体,因此需要探索环境以找到并定位正确的锥体。此外,如果目标锥体放置在高台上,机器人还需要导航至斜坡以到达平台。

  • 任务难度
    • 任务的难度在于机器人需要在复杂的环境中进行导航和运动控制,同时还需要识别和定位目标锥体。

    • 机器人需要具备高级别的理解能力,以识别目标锥体的颜色和位置,还需要具备低级别的运动控制能力,以在复杂的地形上进行导航和运动。

VR-Robo框架

  • 本节介绍了VR-Robo框架,这是一个从现实到模拟再到现实的系统,用于视觉导航和运动控制。

  • 该框架通过从现实世界中的多视图图像重建出逼真且可物理交互的“数字孪生”模拟环境,支持以自我为中心的视觉感知和基于网格的物理交互。

几何一致性重建

  • 3D Gaussian Splatting (3DGS) 介绍:3DGS通过将场景表示为一组高斯原语来实现。在优化过程中,高斯原语的协方差矩阵通过缩放矩阵和旋转矩阵进行参数化。像素的颜色值通过体积alpha混合过程渲染得到,其中alpha值表示高斯原语在空间中的透明度。

  • 几何建模:通过将3D高斯椭球体展平为2D平面,增强场景的几何建模。通过最小化其最短轴的尺度来实现这一点。利用平面表示渲染平面到相机的距离图和法线图,然后通过与相应平面相交的射线将它们转换为无偏深度图。

  • 几何先验约束:在纹理较少的区域(如地面和墙壁),光度损失往往不足。因此,使用现成的单目深度估计器提供密集的深度先验,并通过与稀疏结构运动(SfM)点的比较来解决估计深度和实际场景几何之间的固有尺度模糊问题。同样,采用现成的单目法线估计器为渲染的法线图提供密集的法线正则化,以实现准确的几何建模。

  • 多视图一致性约束:应用基于补丁的归一化交叉相关(NCC)损失,以强制执行多视图光度一致性。这通过比较两个灰度渲染图像之间的相似性来实现,从而确保从不同视角观察到的场景具有一致性。

构建逼真且可交互的模拟

  • GS-mesh混合表示:将高斯表示与网格表示相结合,以实现逼真的视觉观察和物理交互。高斯表示从机器人的自我中心视角生成逼真的视觉观察,而网格表示则便于物理交互和精确的碰撞检测。通过校准机器人相机的焦距和畸变参数,以及从Isaac Sim中获取自我视角位置和基于四元数的方向,实现Sim和Real之间的内在参数对齐。

  • 坐标对齐:通过手动匹配四个非共面点,计算齐次变换矩阵,将COLMAP坐标系统与Isaac Sim环境对齐。这种方法允许将从COLMAP重建的场景与Isaac Sim中的模拟环境精确对齐,从而确保机器人在模拟中的行为与现实世界中的行为一致。

  • 高斯属性调整:对齐后的高斯点的均值、缩放和旋转进行调整,以适应新的坐标系统。这包括对高斯点的均值进行平移和旋转,以及对缩放矩阵和旋转矩阵进行相应的调整。此外,由于高斯点的球谐系数存储在世界空间中,当高斯点旋转时,需要通过Wigner D矩阵来旋转这些系数,以确保在不同视角下颜色的正确表示。

  • 遮挡感知组合和随机化:使用交互式网格编辑器获取对象的3D边界框及其对应的变换矩阵。通过合并对象的高斯表示和网格表示,实现遮挡感知的场景组合。这种组合方式可以确保在模拟环境中正确地表示对象的可见性,从而提高机器人对环境的理解和交互能力。

在重建模拟环境中进行强化学习

  • 两级异步控制策略:由于真实机器人上的计算资源有限,采用了两级异步控制策略。高级策略以5Hz运行,低级策略以50Hz运行。高级策略通过速度命令与低级策略通信。

  • 低级策略:低级策略接收速度命令和机器人本体感知作为输入,并输出期望的关节位置。该策略使四足机器人能够攀登高达15厘米的斜坡和楼梯。然而,该策略不允许机器人直接攀登超过30厘米的地形。相反,该策略教导机器人识别和利用斜坡或楼梯到达高平台,这在现实世界场景中非常有用。

  • 高级策略:冻结训练好的低级策略,独立训练高级策略。高级策略的输入包括RGB图像特征、RGB命令、上一个动作和本体感知。输出是原始速度命令,该命令通过tanh层和速度范围缩放以确保安全。高级策略的训练使用强化学习(PPO)在GS-mesh混合模拟环境中进行。

  • 奖励设计:总奖励包括任务奖励和正则化奖励。任务奖励包括到达目标、目标距离变化、目标垂直距离变化和目标航向。正则化奖励包括在目标处停止、跟踪线速度、跟踪角速度和动作L2范数。这些奖励设计旨在鼓励机器人有效地到达目标,并确保其行为的稳定性和效率。

  • 训练过程:在每个训练周期开始时,随机采样机器人和锥体的位置和朝向。机器人从Isaac Sim中获取相机姿态和锥体姿态,并发送给对齐和可编辑的3D高斯表示以渲染逼真的图像。然后,策略根据该图像输出动作,该动作在Isaac Sim中应用以与网格交互。

实验

实验设置

  • 现实到模拟重建
    • 论文重建了6个不同的室内房间环境,每个环境都有特定的地形,并通过放置三个不同颜色(红、绿、蓝)的锥体来随机化环境。使用iPad或iPhone拍摄照片,这些设备易于获取。

  • 模拟中的运动训练
    • 在Isaac Sim中使用单个NVIDIA 4090D GPU进行策略训练。低级策略训练了80,000次迭代,使用4,096个四足机器人代理进行并行训练;高级策略训练了8,000次迭代,使用64个四足机器人代理。

    • 整个训练过程大约需要三天时间。对于视觉编码,使用了“vit tiny patch16 224”模型,去掉了其最终分类头。Isaac Sim模拟器和基于3DGS光栅化的渲染器通过TCP网络通信。

  • 从模拟到现实部署
    • 在Unitree Go2四足机器人上部署策略,该机器人配备了NVIDIA Jetson Orin Nano(40 TOPS)作为机载计算机。

    • 使用ROS2进行高级策略、低级策略和机器人之间的通信。两种策略都在机载运行。机器人从低级策略接收期望的关节位置,用于PD控制。

    • 使用Insta360 Ace相机捕获RGB图像,分辨率为320×180。校准后,相机的水平视场(FOVX)为1.5701弧度,垂直视场(FOVY)为1.0260弧度。

模拟实验

比较实验
  • 模仿学习:通过遥操作收集60个不同的真实世界轨迹,并通过监督学习使用回归优化训练策略。

  • 随机背景:重新实现了LucidSim的方法,使用来自ImageNet的随机图像作为背景,同时保持目标对象不变。

消融实验
  • 纹理网格:使用SuGaR重建纹理网格,并在Isaac Sim中直接支持网格渲染作为视觉观察。

  • CNN编码器:将ViT替换为CNN编码器,并移除了最后一层分类层。

实验结果
  • 评估指标
    • 在“红色锥体到达”任务中,通过成功率达到(SR)和平均到达时间(ART)来衡量性能。如果机器人在15秒内到达距离红色锥体0.25米以内的位置,则认为该事件成功。

    • 对于成功的事件,记录到达锥体所需的时间;否则,分配最大时间15秒。然后计算所有试验的平均到达时间。

  • 结果对比
    • 该方法在所有评估指标上均优于其他方法。模仿学习(IL)基线由于数据样本不足和缺乏策略探索而表现不佳。CNN编码器难以从图像中提取精确的特征。仅从RGB图像进行重建,纹理网格在纹理较少的区域(如地面和墙壁)会出现明显的纹理膨胀。

    • 这些伪影会降低渲染质量,甚至可能阻碍机器人的运动。相比之下,该方法裁剪并仅使用中心地形的网格,并从GS渲染观察结果,有效地避免了这些问题。随机背景设置丢失了原始场景的特定特征。这些特定于场景的特征对于机器人有效探索环境至关重要。

现实世界实验

定性实验

在不同的条件下进行定性实验,包括6种不同的场景、不同的目标锥体颜色、光照条件的变化、随机干扰、背景变化以及在不同的机器人上进行训练。补充材料中提供了详细的演示。这些实验突出了该方法的鲁棒性,展示了其适应各种环境和条件的能力。

定量实验

  • 实验设置:除了上述方法外,还进行了两项专门针对现实世界环境设计的基线方法的实验,这些方法不能直接与模拟环境中的实验进行比较:
    • SARO:SARO使机器人能够利用视觉语言模型(VLM)跨越三维地形进行导航。

    • 无领域随机化:排除了第IV-C节中描述的领域随机化。

  • 任务难度分类
    • 所有现实世界的定量实验均在场景1中的“红色锥体到达”任务设置中进行。根据机器人的起始位置,将任务分为三个难度级别:简单、中等和困难。

    • 对于简单任务,目标锥体直接可见;对于中等任务,机器人需要转动一定角度才能看到目标锥体;对于困难任务,机器人从锥体很远的地方开始,并且几乎背对目标锥体。

    • 随机选择3组锥体位置,每组包含一个简单任务、一个中等任务和一个困难任务。对于每个任务,重复实验5次。然后计算成功率(SR)和平均到达时间(ART)。

    • 对于SARO,由于视觉语言模型(VLM)所需的长推理时间,最大时间延长至60秒。在真实机器人实验中,如果机器人接触到目标锥体,则认为任务成功。

  • 实验结果
    • 该方法在所有难度级别上均实现了最高的成功率,并且始终记录了最短的平均到达时间,证明了其效率和鲁棒性。由于现实世界设置中的固有随机性,在中等任务中存在一个失败案例,尽管在困难任务中所有试验都成功了。

    • 在其他方法中,SARO在简单任务上取得了中等的成功率(66.67%),但在中等和困难任务上表现不佳。这种表现不佳主要是由于缺乏历史上下文和在复杂场景中有限的探索能力。如果机器人最初看不到目标,则不太可能成功。

结论与未来工作

  • 结论
    • VR-Robo框架能够在逼真且可交互的模拟环境中训练视觉运动策略,并成功地将这些策略零样本部署到多样化的真实世界场景中。

    • 大量的实验结果表明,该框架的智能体能够成功学习到鲁棒且有效的策略,用于应对具有挑战性的高级任务,并且可以零样本部署到各种现实世界场景。

  • 未来工作
    • 扩展框架以适应更大规模和更复杂的环境,并将生成模型纳入场景重建中,以实现更通用的策略学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/90227.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/90227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

碰一碰发视频 + 矩阵系统聚合平台源码搭建,支持OEM

随着短视频生态与多平台运营需求的融合,“碰一碰发视频 矩阵系统” 聚合平台成为内容创作者与企业营销的新基建。这类系统需实现近场交互触发、多平台内容分发、数据聚合分析的全流程闭环,其源码搭建与定制开发需突破硬件交互与软件矩阵的技术壁垒。核心…

缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级

1. 缓存雪崩(Cache Avalanche)定义:缓存雪崩是指大量缓存中的数据在同一时间过期,导致大量请求同时访问数据库,造成数据库压力骤增,甚至可能导致数据库崩溃。原因:多个缓存的 key 在同一时间过期…

【unity实战】Unity手搓脚本工具实现合并网格功能

注意:考虑到实战的内容比较多,我将该内容分开,并全部整合放在【unity实战】专栏里,感兴趣的小伙伴可以前往逐一查看学习。 文章目录 前言实战1、简单的合并网格实现2、设置统一的材质3、设置不同的多种材质4、多材质网格合并方案专栏推荐完结前言 有许多单独的网格对象会影…

ThreadPoolTaskExecutor 的使用案例

ThreadPoolTaskExecutor 的使用案例 1. 依赖说明 <!-- Spring Retry&#xff08;用于任务重试&#xff09; --> <dependency><groupId>org.springframework.retry</groupId><artifactId>spring-retry</artifactId><version>1.3.1<…

0.3mg硝酸甘油舌下片:冠心病预防中的“消防员”

冠状动脉疾病&#xff08;CAD&#xff09;如同一颗定时炸弹&#xff0c;即使在成功进行血运重建或药物治疗后&#xff0c;心绞痛急性发作的风险依然如影随形。在冠心病管理的漫长战役中&#xff0c;二级预防的核心目标不仅仅是延缓疾病进展&#xff0c;更是预防致命性心脏事件复…

【Spring源码学习系列】基础架构和环境搭建

一直以来都把精力花在中间件的研究和系统设计上&#xff0c;忽略了离我最近的spring&#xff0c;最近开始学习spring的源码了&#xff0c;为了学习到成体系的spring知识和提高学习效率&#xff0c;想要找了一本书看&#xff0c;最终选的是郝佳的《Spring源码深度解析&#xff0…

C++十大排序详解(包括变种优化)

排序**基础排序算法**1. **冒泡排序&#xff08;Bubble Sort&#xff09;**冒泡排序优化**1. 提前终止优化&#xff08;标志位优化&#xff09;****原理**&#xff1a;**实现示例**&#xff08;以C为例&#xff09;&#xff1a;**优点**&#xff1a;**2. 双向冒泡排序&#xff…

React 性能优化实战:用useTransition解决卡顿问题

文章目录1. 概述2. 基本原理与语法3. 应用场景3.1 数据密集型界面的更新优化3.2 动态内容切换的平滑过渡3.3 搜索与过滤结果的实时展示4. 与其他相关Hook的对比5. 结合Suspense使用6. 注意事项1. 概述 useTransition Hook 。它允许开发者将一些非紧急的 UI 更新标记为 “过渡更…

基于Rust红岩题材游戏、汽车控制系统、机器人运动学游戏实例

根据红岩题材设计的关键游戏实例 以下是根据红岩题材设计的关键游戏实例,结合Rust语言特性(如安全并发、ECS架构等)的框架性方案。所有设计均需符合Rust语法规范,实际开发需配合游戏引擎(如Bevy、Amethyst)。 核心系统模块 // ECS架构示例(Bevy引擎) use bevy::prel…

【ZYNQ Linux开发】BRAM的几种驱动方式

1 Vivado配置 ​ BRAM 的使用方法为使用 AXI BRAM 控制器来控制 BRAM 生成器&#xff0c;Block Design 连接如下&#xff1a; 我这里配置的是真双端口 RAM&#xff0c;通过 PL 的逻辑对 BRAM 生成器的端口 B 进行写操作&#xff0c;在 PS 端对端口 A 进行读。 BRAM 控制…

Flink ClickHouse 连接器数据写入源码深度解析

一、引言 在大数据处理的实际应用场景中&#xff0c;数据的高效存储与处理至关重要。Flink 作为一款强大的流式计算框架&#xff0c;能够对海量数据进行实时处理&#xff1b;而 ClickHouse 作为高性能的列式数据库&#xff0c;擅长处理大规模数据分析任务。Flink ClickHouse 连…

OpenCV 人脸分析------面部关键点检测类cv::face::FacemarkLBF

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 使用 Local Binary Features (LBF) 算法进行面部关键点检测&#xff08;facial landmark detection&#xff09;。该算法通过级联回归树预测人脸的…

Netstat高级分析工具:Windows与Linux双系统兼容的精准筛查利器

Netstat高级分析工具&#xff1a;Windows与Linux双系统兼容的精准筛查利器在网络安全运维中&#xff0c;快速识别可疑连接是防御入侵的关键一步。本文将介绍一款我本人开发的原创高效的双系统兼容Netstat信息分析工具&#xff0c;大幅提升恶意连接筛查效率。一、Netstat分析在安…

Bright Data MCP+Trae :快速构建电商导购助手垂直智能体

声明&#xff1a;本测试报告系作者基于个人兴趣及使用场景开展的非专业测评&#xff0c;测试过程中所涉及的方法、数据及结论均为个人观点&#xff0c;不代表任何官方立场或行业标准。 文章目录 一、引言1.1 当前AI智能体的趋势1.2 构建智能体面临的最大挑战&#xff1a;数据来…

plantuml用法总结

时序图 参考 https://blog.csdn.net/vitaviva/article/details/120735745用PlantUML简化复杂时序图的秘诀 startuml skin rose actor User as user participant "Component A" as A participant "Component B" as Buser -> A: Request data activate …

基于自研心电芯片国产化手持单导/6导/12导心电解决方案

苏州唯理作为国内心电芯片国产化厂商&#xff0c;面向家用场景&#xff0c;推出了国产化的手持单导/6导/12导心电仪技术解决方案&#xff0c;可以让家用心电图仪成本可控&#xff0c;信号链路质量更佳稳定。该方案已在多家客户中实现批量出货。唯理科技同样提供了医疗级的心电图…

Sass详解:功能特性、常用方法与最佳实践

Sass详解&#xff1a;功能特性、常用方法与最佳实践 Sass&#xff08;Syntactically Awesome Style Sheets&#xff09;作为CSS预处理器领域的先驱&#xff0c;自2006年由Hampton Catlin创建以来&#xff0c;已成为现代前端开发中不可或缺的工具。它通过引入变量、嵌套、混合宏…

vulnhub靶机渗透:PWNLAB: INIT

一、信息收集1、主机发现2、端口扫描PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.10 ((Debian))111/tcp open rpcbind 2-4 (RPC #100000)3306/tcp open mysql MySQL 5.5.47-0deb8u151649/tcp open status 1 (RPC #100024)3、目录扫描&…

LiveKit 本地部署全流程指南(含 HTTPS/WSS)

1. 环境准备 操作系统&#xff1a;Windows 10/11 或 Linux/Mac需有本地公网/内网 IP&#xff08;如 192.168.x.x&#xff09;推荐浏览器&#xff1a;Chrome/Edge/Firefox/Safari端口未被占用&#xff0c;防火墙允许相关端口 2. 目录结构建议 livekit/livekit-server.execonf…

NumPy-统计函数详解

NumPy-统计函数详解一、基础统计函数&#xff1a;均值、方差、标准差1. 全局统计&#xff1a;忽略维度的整体计算2. 按轴统计&#xff1a;指定维度方向的计算二、位置统计&#xff1a;中位数、分位数、百分位数1. 中位数计算2. 分位数与百分位数三、离散程度&#xff1a;极差、…