在机器人领域,让机器人在现实世界中精准执行任务是大家一直追求的目标。可模拟环境和现实世界之间存在着不小的差距,特别是基于 RGB 图像的操作策略,从模拟转移到现实时总是状况百出。
今天咱们就来聊聊 SplatSim 框架,看看它是怎么解决这个难题的。
工作链接:https://splatsim.github.io/assets/splatsim_paper.pdf
一、研究背景——sim研究的困境
在机器人的发展进程里,把在模拟环境中训练的控制策略应用到现实世界,也就是 “Sim2Real” 问题,一直是个大挑战。虽说最近在这方面有了些进展,像机器人能在复杂地形行走、灵活操作物体等,但大多是靠深度、触觉这些感知方式实现的。为啥 RGB 图像在机器人学习里不受重视呢?要知道,RGB 图像能捕捉颜色、纹理这些重要视觉信息,而且获取方便,和人类的视觉感知很接近,在很多任务里都很关键,比如挑水果的时候,看颜色就能知道熟没熟。
可问题在于,机器人在模拟环境里看到的 RGB 图像,和现实世界中的差别太大了。这就好比模拟世界是个 “理想国”,现实世界却是 “真实战场”,两个世界的图像分布完全不同。这使得基于模拟 RGB 图像训练的策略,一到现实世界就 “水土不服”,根本没法正常发挥作用。所以,怎么缩小这个差距,让机器人能靠 RGB 图像在现实里好好干活,就成了科研人员急需攻克的难题。
二、SplatSim :用高斯溅射 “改造” 模拟世界
为了让机器人在现实中能更好地依赖 RGB 图像执行任务,SplatSim 框架带来了新的思路。它的核心就是用高斯溅射(Gaussian Splatting)技术来生成超逼真的模拟数据,让模拟世界更接近现实。
2.1 高斯溅射技术的神奇之处
高斯溅射是一种很厉害的渲染技术,它用 3D 高斯原语来描绘场景,能把复杂的几何形状展现得既高效又逼真。和其他类似技术比起来,它有个很大的优势,就是结构像点云一样清晰明确,操作起来特别方便。这种特性让机器人领域的研究者们看到了希望,不少人开始把它应用到各种机器人任务里。
2.2 SplatSim 框架的具体实现步骤
- 定义问题与坐标框架 在 SplatSim 里,要解决的问题就是用现实场景的高斯溅射表示SrealSreal,在模拟器(像 PyBullet)里生成超真实的渲染图像IsimIsim,然后用这些图像来训练基于 RGB 的操作策略。为了把现实世界、模拟器和溅射点云之间的关系搞清楚,研究人员定义了好几个坐标框架。现实世界坐标框架FrealFreal是基准,模拟器坐标框架FsimFsim和现实世界机器人框架FrobotFrobot都和它对齐,而溅射坐标框架FsplatFsplat表示场景高斯溅射里机器人底座的框架,它们之间的转换靠特定的矩阵来完成。
- 构建机器人溅射模型 想要得到不同关节姿势下机器人的渲染图,得经过三步。首先,用迭代最近点(ICP)算法把机器人相关的 3D 高斯和模拟器里的真实点云对齐,算出转换矩阵TFrobertFsplatTFrobertFsplat ,这一步就像是给机器人在模拟世界里找准位置。接着,利用机器人 CAD 模型提供的链接边界框,把 3D 高斯和各个链接对应起来,分割出每个链接的 3D 高斯SreallSreall。最后,用机器人的正向运动学,结合 PyBullet 里的正向运动学例程,算出每个链接的变换TfklTfkl ,再通过一系列矩阵运算得到 3D 高斯的最终变换,这样就能渲染出不同姿势的机器人啦。
- 处理物体溅射模型 和机器人渲染类似,物体的 3D 高斯SobjkSobjk也要用 ICP 算法和模拟的真实点云对齐,得到转换矩阵TFk−obj,simFk−obj,sialtTFk−obj,simFk−obj,sialt。根据物体在场景中的位置ptkptk和方向RtkRtk,算出物体在原始模拟器框架Fk−obj,simFk−obj,sim的变换Tfkk−objTfkk−obj,再通过矩阵运算得到在SrealSreal框架下的变换,用高斯溅射渲染框架就能渲染出物体在新位置和方向的样子。
- 攻克铰接物体的分割难题 像平行夹爪这样的铰接物体,用普通的边界框分割可不行,因为它们的链接和标准轴对不上。这时候,研究人员训练了一个基于 K 近邻(KNN)的分类器,用模拟器点云的真实标签来训练。这样,就能准确判断对齐后的溅射里每个 3D 高斯属于哪个链接,解决了铰接物体的分割难题。
- 渲染模拟轨迹与训练策略 有了单个刚体的渲染能力,就可以用它来精确表示模拟轨迹了。把基于状态的变换和前面提到的方法结合起来,得到用于策略学习的演示数据τGτG 。在训练策略的时候,用的是扩散策略(Diffusion Policy),这是行为克隆领域很厉害的技术。考虑到模拟和现实环境还是有差异,比如模拟场景没有阴影,一些柔性部件渲染得不准确,所以在训练时会加入图像增强操作,像加高斯噪声、随机擦除、调整亮度和对比度等,让策略更能适应现实世界。
三、实验:SplatSim 真的靠谱吗?
为了验证 SplatSim 框架的效果,研究人员做了一系列实验,主要从数据收集、零样本策略部署、渲染量化和增强效果这几个方面来测试。
3.1 数据收集
在数据收集环节,现实世界里每个任务的演示数据都得靠人工收集,又费时间又费精力。但在模拟器里就方便多了,用基于特权信息的运动规划器,能自动生成数据。像有些任务,在现实世界收集数据要 20.5 小时,在模拟器里只要 3 小时,效率大大提高,而且数据质量还不错。这充分体现了模拟器在数据收集方面的强大优势,能为后续的训练提供充足的数据支持。
3.2 零样本策略部署
研究人员在四个和接触相关的现实任务里测试了零样本策略部署的效果,用任务成功率作为主要衡量指标。结果显示,SplatSim 框架训练的策略,零样本从模拟到现实的转移平均成功率能达到 86.25%,虽然比直接用真实数据训练的策略(97.5%)低了一些,但已经很厉害了。在 T - Push 任务里,机器人不用在现实数据上微调,就能在推物体的时候达到 90% 的成功率;Pick - Up - Apple 任务里,抓苹果的成功率也有 95%;Orange on Plate 任务和 Assembly 任务同样表现不错,说明这个框架真的能让模拟训练的策略在现实世界发挥作用。
3.3 量化机器人渲染
为了看看渲染出来的机器人图像有多逼真,研究人员对比了不同关节配置下的渲染图像和现实世界图像,用峰值信噪比(PSNR)和结构相似性指数(SSIM)这两个指标来衡量。结果发现,即使关节配置变来变去,渲染图像的平均 PSNR 能达到 22.62,SSIM 是 0.7845,这表明模拟图像在视觉质量上和现实世界的 RGB 观测很接近,生成的模拟数据确实能反映现实场景的特征。
3.4 增强的作用
点击用高斯溅射技术跨越机器人模拟与现实的鸿沟:SplatSim 框架解析查看全文