从Fast-UMI到Diff-Control:分别改进UMI的硬件、UMI所用的扩散策略

news2024/10/1 16:56:30

前言

24年9.28日下午,微信上的好友丁研究员和我说

  1. hi 周总,我们基于umi改进了一下——弄了一个用户友好的采集系统(当然,现在这个版本还比较初级 后续不断迭代)
    项目网站为:https://fastumi.com/
    技术报告见:https://fastumi.com/fastumi_short.pdf
    作者团队为:Ziniu Wu, Tianyu Wang, Zhaxizhuoma, Chuyue Guan, Zhongjie Jia, Shuai Liang, Haoming Song, Delin Qu, Dong Wang, Zhigang Wang, Nieqing Cao,Yan Ding, Bin Zhao, Xuelong Li


    希望周总给些建议
    我当时(周六)和家人在李自健美术馆,故回复之:帅气,我晚上到家后看下
  2. 第二天上午,又找到我说,周总 不知道有没有什么建议
    我个人确实准备 这几天仔细研究下,毕竟我们之前也在基于umi/dexcap做二次开发,有很多契合点

    前者umi的详细介绍见:UMI——斯坦福刷盘机器人:从手持夹持器到动作预测Diffusion Policy(含代码解读)
    后者dexcap的详细介绍见:DexCap——斯坦福李飞飞团队泡茶机器人:更好数据收集系统的原理解析、源码剖析
  3. 他说,我很喜欢周总写的那些帖子,所以第一时间找周总问fastumi的意见
    我深知这种感觉,因为当我司做出一个大模型应用或机器人解决方案,哪怕只是一篇博客时,都渴望和同行做各种深入交流
    而且正如技术合伙人姚博士所说,“fastumi数据采集方式的改进强,因为我们当时也考虑过t265,但确实是人手不足”

丁研究员希望帮他们宣传下,我说我看下你们论文(当然,本质更多是相对初级的技术报告),可能会给你们论文 还做下解读,毕竟在博客里给你们技术报告 做解读,便是一个持久且足够高定位的宣传了(毕竟本博客内的机器人系列已经吸引了来自国内各大知名高校、知名企业等同行们的持续关注)

于此,本文就来了:一半解读、一半翻译,且为了写好fastumi的解读,我又特地重温了一遍UMI的论文,且打印下来一字一句仔细抠了一遍(然后针对该UMI博客增补了不少内容)。另,本文会顺带介绍下Diff-Control: A Stateful Diffusion-based Policy for Imitation Learning

第一部分 UMI的不足与Fast-UMI的改进

1.1 现有数据收集系统及UMI的不足

1.1.1 机器人现有的数据收集系统

对于目前的机器人而言,现有的数据收集系统可以分为三类:

  1. 直接人类远程操作 [16,Viola: Imitation learning for vision-based manipulation with object proposal priors]
    直接人类远程操作涉及操作员控制直接人类遥控操作涉及操作员远程或现场控制机器人,以获取包括视觉输入、运动状态和动作指令在内的全面数据。尽管这种方法提供了高质量的数据,但其成本高且劳动强度大。即使使用像SpaceMouse1这样的六自由度控制器,收集细粒度操作的数据仍然具有挑战性,因为很难精确对准小目标物体
  2. 基于沉浸式技术的远程操作 [7 Digital twin-driven mixed reality framework for immersive teleoperation with haptic rendering, 12 Hubotverse: Toward internet of human and intelligent robotic things with a digital twin-based mixed reality framework]
  3. 基于视觉的数据收集 [2 Human-to-Robot Imitation in the Wild, 9 Learning hand-eye coordination for robotic grasping with deep learning and large-scale data collection]
    基于视觉的数据收集使用摄像头,如可穿戴设备,以捕捉交互数据而无需直接控制机器人。虽然这种方法收集了一些视觉信息,但它缺乏表示机器人手臂与其环境之间复杂交互的能力[8]。
  4. 界面中介操控 [3 Scaling data-driven robotics with reward sketching and batch reinforcement learning, 11 MimicPlay: Long-Horizon Imitation Learning by Watching Human Play, 13 Deep Imitation Learning for Complex Manipulation Tasks from Virtual Reality Teleoperation]
    界面中介操作系统,以通用操作界面UMI——Universal manipulation interface: In-thewild robot teaching without in-the-wild robots为例,使用手持夹具和专门的界面从人类演示中收集数据,特别是捕捉机器人手臂末端执行器的姿态
    然后再通过像Diffusion Policy [5,详见此文的第三部分 Diffusion Policy:基于CNN或Transformer]这样的算法随后从收集的数据中推断出机器人动作,从而降低成本并简化数据收集过程

1.1.2 UMI的不足之处:依赖特定的硬件且所用的SLAM2相对复杂

UMI系统解决了人类演示中的挑战UMI系统解决了人类示范数据收集中的挑战,并支持在各种场景中进行动作策略学习,但它仍然存在两个局限性:

  1. 与特定机器人硬件的强耦合性
  2. 系统中使用开源SLAM2带来的复杂性

具体而言

  • 首先,系统严格的硬件要求——如必须使用WeissWSG-50夹持器3——带来了限制
    用户必须采购这些特定组件才能直接实施UMI,增加了成本,并限制了那些拥有不同机器人配置的用户的采用
  • 将UMI适应其他硬件需要重新设计夹持器、重新校准摄像头、进行SLAM校准以及修改代码参数,这些都是劳动密集型任务,阻碍了即插即用功能
    此外,这些修改往往缺乏普遍性,复杂了在不同实验室和设备间的应用
  • 其次,虽然利用SLAM技术可以估计末端执行器的姿态,但使用像ORB-SLAM3这样的开源解决方案引入了额外的挑战

    SLAM性能高度依赖于手持设备的参数设置,部署和调试过程复杂且耗时。用户在配置过程中必须投入大量精力进行数据可视化和对齐
    且系统还需要全局坐标、涉及多次转换步骤的校准,降低了用户友好性
  • 此外,收集到的数据在训练中的可用性取决于SLAM算法的性能;无法获得准确的末端执行器坐标可能需要丢弃数据,从而降低收集效率

不同于依赖SLAM算法的UMI系统,Fast-UMI直接使用RealSense T265相机获取机器人的末端执行器姿态,消除了复杂的SLAM部署和校准需求,从而简化了数据处理,且该方法不需要重复的外部校准,简化了软件和硬件的集成

1.2 Fast-UMI的原型设计、数据收集、评估与验证

1.2.1 原型设计:含手持设备、机器人、视觉对齐、相机等设计

他们采用了解耦设计理念,即将手持设备上的相同指尖扩展件连接到机器人的夹爪上

  1. 这种设计保持了机器人系统与手持设备之间的一致性,使得通过手持设备收集的数据训练的模型可以直接应用于真实机器人
  2. 此外,开发了可插入的指尖扩展件,这些扩展件兼容五种主流夹爪型号,包括XArm夹爪和robotiq 2f-856,且这种方法也可以适用于其他类型的夹爪

    下图Fast-UMI原型设备的各个组成部分,蓝色代表需要购买的组件,而黄色表示需要3D打印的组件

具体而言,首先如下图左侧的子图所示

在手持设备的设计上,他们通过手持设备用于手动数据采集以训练动作策略。它包括:

  • 配备鱼眼扩展模块的GoPro相机:用于捕捉鱼眼图像以进行监控和数据收集
  • RealSense T265相机:获取末端执行器的六自由度姿态
    值得一提的是,斯坦福dexcap团队也用到了这个T265相机
    比如下图c中的4个相机中
    前两个:最顶部的L515 LiDAR相机,和三个T265相机中最上面的T265相机(红色)固定在相机支架上,这两个相机侧重记录3D观察和校准
    后两个:即两个较低的(即绿色、蓝色)T265相机设计为可拆卸的,并可以固定在手套的背部进行手部6自由度姿态跟踪

    当然,据友人丁研究员所说,他们在做这个fastumi工作时,尚不知道dexcap,而是准备研究灵巧手之后,才知道这个dexcap
    关于灵巧手,比较有名的之一,就是本博客中之前提到过的AnyTeleop「
    当然,还包括AnyTeleop 的论文中提到的Dexpilot,至于AnyTeleop的介绍详见此文《UC San Diego的三大机器人:AnyTeleop、Open-TeleVision、Bunny-VisionPro——从RGB相机到VR远程控制机器人》的第一部分
  • 手持夹持器:在其指尖处配备了两个标记,用于记录夹持器的宽度
    且他们特别注意将摄像头的视角与夹持器的指尖对齐,以确保与机器人安装设备的视觉一致性

在机器人安装设备的设计上,机器人安装设备旨在适应各种机器人手臂配置,如下图右侧所示

它主要包括:

  • GoPro-机器人支架(GoPro-Robot Mount ,即棕色延长板):作为GoPro相机的安装点
  • 可调节延长臂(Adjustable Extension Arm,即蓝色延长臂):允许进行横向和纵向调整,以对齐相机的视角
    通过调整延长臂,可以在不同平台上实现与手持设备的视觉一致性,而可插入的指尖延长件确保尽管抓取器的尺寸和形状有所不同,视觉视角仍然保持一致
    By adjusting the extension arm, we can achieve visual consis-tency with the handheld device across different platforms. The insertable fingertip extensions ensure that, despite variationsin gripper sizes and shapes, the visual perspective remainsconsistent

在视觉对齐与一致性上,他们为了确保手持设备和机器人安装设备之间的视觉一致性,建立了一条视觉对齐准则:GoPro 鱼眼镜头图像的底部与夹持器指尖的底部对齐

该准则增强了视觉一致性,并确保了两个设备上摄像头的正确定位。即使指尖延伸部分相同,夹持器尺寸的变化也会影响视觉对齐

他们可调节的机械设计能够补偿这些位移,使延伸臂可以根据需要进行调整,以保持一致的观察视角

下图显示了分别由手持设备和机器人安装设备上的 GoPro 摄像头捕获的视图

在相机的选择与安装上,选择GoPro相机是有意为之的。其鱼眼镜头能够捕捉广角图像,可能取代传统算法如ACT和DP中使用的第一人称和第三人称平面相机的组合,且他们初步观察表明,单个相机的鱼眼图像可以提供足够的时空信息,简化了硬件设置,不需要多个摄像头

且更重要的是,他们使用了专门设计的限制器安装了RealSense T265摄像头,以确保其始终垂直于GoPro摄像头。这一设计选择简化了安装过程,并保证了两个摄像头之间的精确对齐,从而在不需要复杂的SLAM算法的情况下实现准确的姿态估计

此外,与原始UMI系统不同,他们省略了夹持器侧面的镜子。UMI的实验表明,镜子对系统性能的提升有限。省略镜子可以在夹持器顶部保留宝贵的空间,以便集成额外的传感器,例如触觉传感器,从而增强未来系统扩展的潜力

且为了提高机器人安装设备的稳定性和耐用性,他们还进行了以下几项优化:

  1. 加固了GoPro机器人支架:增强了结构完整性以减少振动
  2. 使用碳纤维材料:在增加强度的同时减轻重量
  3. 标准化的Male-Female接口设计:允许顺序连接延长臂以调整长度而不会产生显著振动(已测试最多可连接三个延长臂),这些改进确保了数据传输过程中的可靠性能

最后

  • 他们的配置允许所有用户共享一个标准化的手持设备——通过统一的手持设备确保了数据收集的一致性
  • 安装在机器人上的设备可以调整以适应各种机器人手臂和夹持器模型——可调节的机器人安装设备则增强了系统的多功能性
  • 另,延长臂的长度可以通过标准化接口进行修改,其模块化设计便于轻松调整

1.2.2 数据收集流程(GoPro捕捉鱼眼图像、RealSense T265获取六自由度位姿数据)

数据收集主要包括从GoPro捕捉鱼眼图像,以及从RealSense T265获取六自由度位姿数据

与依赖复杂的基于SLAM的位姿估计的原始UMI系统不同,他们利用T265的内置跟踪功能直接获取末端执行器的位姿数据,简化了数据处理流程。所有数据通过有线连接传输,以确保稳定性和实时性能

  • GoPro相机:一台配置为超广角模式的GoProHero 9相机以1280×720的分辨率和60帧每秒(FPS)捕捉鱼眼图像,提供广泛的视野以全面覆盖场景。实时图像传输通过Elgato HD60 X采集卡进行。对于更高的分辨率,可以使用更先进的采集卡
  • RealSense T265:该设备捕捉手持夹具的六自由度姿态数据,他们将其转换为工具中心点(TCP)姿态,以表示人类演示的轨迹
    与UMI相比,他们的设计消除了重建TCP轨迹所需的复杂后处理SLAM流程——complex post-processing SLAM pipeline,显著简化了数据处理

对于数据同步和ROS节点,他们为了协调来自多个传感器的数据采集,使用机器人操作系统ROS[10]作为中间件「ROS提供了一个灵活的框架,用于开发机器人应用程序,能够实现各个节点之间的通信——这些节点是执行特定任务的独立进程,并确保来自多个来源的数据的精确同步

在他们的数据采集设置中,使用了以下ROS节点:

  1. GoPro节点:从GoPro摄像机捕捉鱼眼图像,并发布图像数据流以供后续处理
    这些图像提供了广阔的视野,对于捕捉全面的环境视觉信息至关重要
  2. T265 节点:与 RealSense T265 跟踪相机接口,以获取末端执行器的姿态和方向
    末端执行器的准确跟踪对于模仿学习任务至关重要,该节点实时发布姿态数据以监控和记录运动
  3. 夹爪宽度计算节点——Gripper Width Calculation Node:使用手持设备上的基准标记计算夹爪开口(Calculates the gripper aperture using fiducial markers on the handheld device)

由于精确同步这些数据流对于确保传感器读数的时间对齐至关重要。毕竟任何不一致会导致在模仿学习过程中对机器人的动作解释错误,从而对学习性能产生不利影响

故,他们为了实现时间同步,实现了一个专用的数据收集节点。该节点聚合来自GoPro、T265和夹爪宽度计算的实时数据,并使用统一的时间戳记录它们。通过存储这些同步的数据点,我们构
建了一个全面且准确的数据集,代表了机器人的动作和周围环境,这对于训练机器人学习模型以高保真度复制人类演示至关重要

最终,数据收集过程的步骤如下

  1. 步骤1:初始化传感器节点:启动GoPro节点、T265节点和夹爪宽度计算节点,以验证所有传感器的数据是否正确发布
  2. 步骤2:使用手持设备执行数据收集:在所有传感器节点正常运行的情况下,人工操作员使用手持设备执行所需任务
    且数据收集节点在操作员执行动作时实时记录所有传感器的同步数据
  3. 步骤3:执行数据转换:完成数据收集后,运行数据转换节点,将原始数据集转换为与特定模仿学习模型(如ACT或Diffusion Policy)兼容的格式

1.2.3 与UMI使用扩散策略不同,fastumi使用ACT推断动作策略

有意思的是,他们通过在收集的数据集上训练的ACT算法推断出的动作策略,没用UMI默认用的扩散策「毕竟如本文的1.2节所述:“UMI使用扩散策略进行动作预测,当然,也可以换成mobile aloha所用的ACT算法”

具体如下图所示,前三张图像描绘了一名人类操作员使用fastumi的操作设备来收集演示数据,接下来的两张图片显示了机器人执行推断的动作策略,该策略是使用ACT算法在收集的数据上训练的

第二部分 Diff-Control:改进UMI所用的扩散策略

// 待更

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

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

相关文章

docker和kafka连接Topic失败处理措施

使用 docker 镜像部署一套单节点的 Zookeeper Kafka,但是一直Java却连不上一些处理思路。 为了提高部署效率,这里提供一个简单可启动的docker-compose。 version: "3.3" services:zookeeper:image: zookeeper:3.5.5restart: alwayscontainer…

Global Illumination_VXGI(VCT) Deep Optimizations

之前针对RSM和LPV优化技术介绍后,我们可以看出来一个大致的思路的:就是减少计算量提升最大,因此VXGI的优化思路和之前两种算法几乎一样,之前也实现过Global Illumination_Voxel Global Illumintaion (VXGI)有兴趣的可以去简单了解…

软件系统可视化建设方案书(word原件)

第 一 章 系统总体设计 1.1 总体架构 1.1.1 系统拓扑 1.1.2 系统组成 1.2 设计概述 1.3 平台系统功能 1.3.1 总部数据看板 1.3.2 项目部数据看板 1.3.3 视频联网系统 1.3.4 实名制考勤系统 1.3.5 安全生产系统 1.3.6 塔吊安全监控子系统 1.3.7 施工升降机安全监控管系统 1.3.8 …

videojs 播放mp4视频只有声音没有画面问题

在使用Video.js播放MP4视频时,如果遇到只有声音没有画面的情况,这通常与视频文件的编码格式、浏览器兼容性或Video.js的配置有关。以下是一些可能的解决步骤和原因分析: 1. 检查视频编码 MP4视频支持多种编码格式,但并非所有编码…

Python 如何使用 Pandas 进行数据分析

Python 如何使用 Pandas 进行数据分析 在数据分析领域,Python 是非常流行的编程语言,而 Pandas 是其中最重要的库之一。Pandas 提供了高效、灵活的数据结构和工具,专门用于处理和分析数据。对于数据分析新手来说,理解如何使用 Pa…

Java增强for循环遍历集合删除指定值不安全问题

在这里因为remove方法有两种参数,一种是对象(删除此元素),一种是Integer (删除此下标对应的元素)。恰好我对象类型就是Integer,所以或默认为删除下标对应元素,造成下标越界不安全。可…

RSA算法模拟实验报告(后篇,非常感谢橘味小奶糖的反馈)

有朋友说代码运行不出来,因为我是平板上写的,没在电脑上运行过,这也算是我的疏忽吧,今天尝试了一下,刚开始运行出来是乱码,改了一些东西,还是运行出来了。 我用的devc。 首先是文字显示&#…

【数据结构】---图

图 前言 本篇作为图的基础概念篇, 了解图的离散数学定义, 图的分类, 图模型解决的问题(图的应用), 图的相关算法(仅仅介绍,具体不在此篇展开)。 学习基本路线&#xff…

计算两点结构的斜率

在行列可自由变换的条件下,平面上的2点结构只有3个 (A,B)---6*n*2---(0,1)(1,0) 分类A和B,A是3个2点结构,让B全是0。当收敛误差为7e-4,收敛199次取迭代次数平均值。让隐藏层节点数n分别为10,15,20&#xf…

【漏洞复现】泛微OA E-Office do_excel.php 任意文件写入漏洞

》》》产品描述《《《 泛微0-0fice是一款标准化的协同 OA办公软件,泛微协同办公产品系列成员之一,实行通用化产品设计,充分贴合企业管理需求,本着简洁易用、高效智能的原则,为企业快速打造移动化、无纸化、数字化的办公平台。 》》…

C# 变量与常量

一 变量与常量 1.1 内存如何存放数据 计算机使用内存来记忆计算时所使用的数据 内存如何存储数据? 数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空间 内存像宾馆 1.2 为什么需要变量 内存地址不好记&#x…

索尼MDR-M1:超宽频的音频盛宴,打造沉浸式音乐体验

在音乐的世界里,每一次技术的突破都意味着全新的听觉体验。 索尼,作为音频技术的先锋,再次以其最新力作——MDR-M1封闭式监听耳机,引领了音乐界的新潮流。 这款耳机以其超宽频播放和卓越的隔音性能,为音乐爱好者和专…

【优选算法】(第十二篇)

目录 搜索旋转排序数组中的最⼩值(medium) 题目解析 讲解算法原理 编写代码 0〜n-1中缺失的数字(easy) 题目解析 讲解算法原理 编写代码 搜索旋转排序数组中的最⼩值(medium) 题目解析 1.题目链接…

【C++ STL】领略vector之美,熟练掌握vector的使用

vector容器详解 一.vector容器简单介绍二.vector的构造函数三.vector中与容量和大小相关操作3.1接口函数说明3.2使用时的性能优化 四.vector中的元素访问与修改五.vector迭代器与遍历5.1迭代器5.2迭代器失效问题5.2.1 扩容导致的迭代器失效问题5.2.2删除导致的迭代器失效问题 一…

MySQL安装与环境配置(Windows系统 MySQL8.0.39)

目录 MySQL8.0.39工具下载安装开启方式可视化开启命令方式开启 环境配置 MySQL8.0.39 工具 系统:Windows 11 参考视频: 黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括 P3 https://www.bilibili.com/video/BV1…

如何在Python中计算移动平均值?

在这篇文章中,我们将看到如何在Python中计算移动平均值。移动平均是指总观测值集合中固定大小子集的一系列平均值。它也被称为滚动平均。 考虑n个观测值的集合,k是用于确定任何时间t的平均值的窗口的大小。然后,移动平均列表通过最初取当前窗…

文件名称重命名批量操作:大量文件里的符号一键删除重命名

文件名重命名是一个常见需求,特别是在处理大量文件时,为了提高文件管理效率,文件批量改名高手实现批量重命名。把每个文件名里的符号删除。一起去试试。 1运行软件:在电脑里登录上文件批量改名高手,在三大功能中选择“…

力扣 —— 跳跃游戏

题目一(中等) 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1&…

机器学习西瓜书南瓜书——决策树模型

机器学习西瓜书&南瓜书——决策树模型 本文主要结合南瓜书对西瓜书决策树模型进行一个解读,帮助大家更好的理解西瓜书 ​ 决策树模型是机器学习领域最常见的模型之一,甚至有人说决策树模型上机器学习领域的水平上升了一个台阶。决策树的基本思想是…

家用高清投影仪怎么选?目前口碑最好的投影仪推荐

双十一马上要到了,而且今年还有投影仪的家电国补,所以大家入手投影仪的需求也越来越多,但是家用高清投影仪怎么选?什么投影仪最适合家用?家庭投影仪哪个牌子质量最好?今天就给大家做一个2024性价比高的家用…