通用操作接口UMI:如何快速简单地给机器人提供更多学习数据?

2024-03-04 13:20

本文主要是介绍通用操作接口UMI:如何快速简单地给机器人提供更多学习数据?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文标题:

Universal Manipulation Interface: In-The-Wild Robot Teaching Without In-The-Wild Robots

论文作者:

Cheng Chi , Zhenjia Xu , Chuer Pan, Eric Cousineau, Benjamin Burchfiel, Siyuan Feng, Russ Tedrake, Shuran Song

项目地址:

https://umi-gripper.github.io/

导读: 斯坦福团队提出通用操纵接口(UMI)通用框架,可以直接从人类演示中学习有能力且可泛化的操纵策略。UMI 夹具是一个手持式演示接口,可捕获足够的信息来学习一些具有挑战性的操作任务,包括洗脏盘子、双手折叠毛衣以及动态物体投掷和分类。该项工作解决了机器人训练中“先有鸡还是先有蛋”的难题。©️【深蓝AI】编译

1. 摘要

研究人员提出通用操作接口(UMI)——一种数据收集和策略学习框架,允许将技能从人类演示直接转移到可部署的机器人上的策略(以下所指策略都指机器人的观察和行为表示)。UMI 采用手持式夹具,结合精心的接口设计,可实现便携的、低成本和信息丰富的数据采集,以进行具有挑战性的双手动态操作演示。为了促进可部署的策略学习,UMI 结合了精心设计的策略接口、推理时间延迟匹配和相对轨迹动作表示。由此产生的学习策略与硬件无关,并且可跨多个机器人平台部署。配备这些功能,UMI 框架解锁了新的机器人操纵功能,只需更改每个任务的训练数据,即可实现零样本泛化的动态、可双手操作的、精确的和长视野的行为。研究员通过全面的现实世界的实验展示了 UMI 的多功能性和有效性,其中通过 UMI 零样本学习的策略在对不同的人类演示进行训练时可以推广到新的环境和对象。

在这里插入图片描述
▲图1|UMI接口©️【深蓝AI】编译

2. 工作概述

如何让机器人学习复杂的操作技能?

研究者们一般从2个方向解决该问题:通过远程操作收集有针对性的实验室机器人数据,或者利用非结构化的人类视频。但是远程操作往往需要高昂的设置成本,人类视频与机器人之间依然存在很大的差距。近期,使用传感手持式夹具作为数据收集接口已经成为一种中间替代方案,但仍然存在缺乏动作多样性的问题,是什么阻碍了大部分数据无法传输到有效的机器人策略中?研究人员发现了以下关键所在:

● 视觉环境不足:腕式相机限制了视觉覆盖范围,相机靠近被操纵的物体时会产生严重的遮挡;

● 动作不精确:大多数手持设备依靠单目运动结构来恢复机器人动作,但是这类方法由于尺度模糊或纹理不足,通常难以恢复精确的全局动作;

● 延迟差异:在推理过程中,系统内会出现各种延迟;

● 策略表示不足:之前的工作经常使用带有动作回归损失的简单策略表示,限制了捕获人类数据中固有的复杂多模态动作分布能力。

在这里插入图片描述
▲图2|UMI演示接口设计©️【深蓝AI】编译

基于以上问题,研究者们通过精细设计演示和策略接口来解决这些问题:

● 首先,目标是确定用于人类演示的正确直观的物理接口,同时能够捕获规则学习所需的所有信息。具体来说,研究员使用鱼眼镜头来增加视野和视觉环境,并在夹具上添加侧镜以提供隐式观察。当与GoPro内置IMU传感器结合使用时,可以在快速运动下实现稳健跟踪。

● 其次,研究者探索正确的策略接口(即观察和行动表示),该界面可以使策略与硬件无关,从而实现有效的技能转移。具体来说,研究者采用推理时间延迟匹配来处理不同的传感器观察和执行延迟,使用相对轨迹作为动作表示,最后应用扩散规则对多模态动作分布进行建模。

最终的UMI系统,提供一个易于使用和访问的框架来解锁新的机器人操作技能,使我们能够演示任何环境中的任何动作,同时保持从人类演示到机器人策略的可靠的高转移性。只需要在手持式夹具上安装一个腕式摄像头(图2),就可以证明UMI能够通过仅改变训练方式来实现各种涉及动态的,双手操作的,精确的和长视距的操作任务的数据(图1)。

3. 关键技术

UMI是手持式数据收集和策略学习框架,允许从人类演示直接转移到可部署的机器人策略。它的设计具备便携性,可靠性,充足性,可重复性等特质。

■3.1 演示接口设计

UMI的数据收集硬件是触发器激活的手持式3D打印平行夹爪形式,配有柔软的手指,安装GoPro相机(HD1)作为唯一的传感器和记录设备。对于双手操作的问题,UMI可以通过另一个夹具轻松扩展解决,这里需要解决的关键研究问题是:

怎样使用单相机采集到足够的泛化信息?

具体而言,在观察方面,设备需要捕获足够的视觉上下文来推断动作(HD2)和关键深度信息(HD3)。在动作方面,需要捕获人类快速运动下精确的机器人动作(HD4),抓握宽度的细微调整(HD5),并根据机器人硬件运动学自动检查每个演示是否有效(HD6)。

● HD1 腕式相机作为输入观察:

将GoPro相机放置在与手持式夹具上3D打印手指的相同位置。该设计可以最大限度地减少观察与实施之间的差距,且具有机械坚固性,便携性,同时可以根据多样化的相机运动获得多样化的数据。

● HD2 用于视觉的鱼眼镜头:

在腕式相机上使用155度鱼眼镜头,为各种任务提供足够的视觉内容,如图2所示。机器人动作的输入直接使用未失真的原始鱼眼图像

● HD3 后视镜实现隐式双目效果:

为了缓解单目相机视图缺乏直接深度感知的问题,研究者在相机的外围视图中放置了一对物理镜子,从而在同一图像中创建隐式立体视图,如图3所示。

在这里插入图片描述
▲图3|UMI后视镜©️【深蓝AI】编译

● HD4 IMU感知跟踪:

UMI利用GoPro的内置功能将IMU数据记录到MP4视频文件中。通过联合优化视觉跟踪和惯性位姿约束,研究者基于ORB-SLAM3实现跟踪,如图4所示。这使得UMI能够捕获和部署高动态的动作。

在这里插入图片描述
▲图4|策略接口设计©️【深蓝AI】编译

● HD5 连续的夹具控制:

UMI夹具标记连续跟踪的手指宽度,利用串联弹性末端执行器原理,UMI可以通过连续的夹具宽度控制来调节软手指的变形,隐式记录和控制抓取力。

● HD6 基于运动学的数据过滤:

虽然数据采集过程与机器人无关,但研究者应用简单的基于运动学的数据过滤为不同的机 器人选择有效的轨迹。

UMI机械手重780g,外部尺寸为L310mm×W 175mm×H210mm,手指最大范围为80mm。3D打印夹具的物料成本为73美元,GoPro相机和配件的总成本为298美元。

■3.2 策略接口设计

UMI策略接口设计的一个重要目标是确保该接口与底层机器人硬件平台无关,以便在一个数据源上训练的最终策略可以部署到不同的机器人平台上。所以需要解决以下两个问题:

● 硬件的延迟:研究者通过观察延迟时间,简单地丢弃过时的操作,并仅在之后执行具体的操作解决。

● 具体体现的本体感知:研究者观察相对的位姿轨迹。对于每个新场景,抓手间的本体感知都通过“先映射后定位”的数据收集方案来实现。

4. 实验结果

■4.1 接口鲁棒性

通过腕部摄像头的设置和以摄像头为中心的动作表示,UMU 100%免校准(移动底座依然可以正常工作)并且能够抵抗干扰物和照明的变化:


▲视频|底座移动的鲁棒性©️【深蓝AI】编译


▲视频|不同照明条件下的鲁棒性©️【深蓝AI】编译


▲视频|其他酱料干扰下的鲁棒性©️【深蓝AI】编译

■4.2 动态抛掷实验

实验规定机器人的任务为:将6个物体扔到相应的箱体中进行分类,3个球形物体应该扔进圆形箱体中,3个乐高积木应该扔进矩形箱体中。


▲视频|动态抛掷©️【深蓝AI】编译


▲视频|无延迟匹配的抛掷©️【深蓝AI】编译

■4.3 杯子放置

使用不同的机械臂,拿起一个浓缩咖啡杯并将其放置在杯碟上,使其手柄朝向机器人左侧。


▲视频|UR5放置杯子©️【深蓝AI】编译


▲视频|Franka放置杯子©️【深蓝AI】编译

■4.4 双手折叠毛衣

两个机械臂协调将毛衣的袖子向内折叠,然后将下摆折起,旋转90度,最后再次将毛衣对折。


▲视频|折叠毛衣©️【深蓝AI】编译

■4.5 洗碗

机械臂需要执行洗碗的7个动作,包括打开水龙头,抓住盘子,拿起海绵,清洗并擦拭盘子,放置盘子,放置海绵和关闭水龙头。


▲视频|CLIP预训练,VIT作为视觉编码器©️【深蓝AI】编译


▲视频|ResNet作为视觉编码器©️【深蓝AI】编译

5. 总结与未来展望

作者提出通用操纵接口(UMI)通用框架,可以直接从人类演示中学习有能力且可泛化的操纵策略。UMI 凭借其便携性、成本效益和操作简单性,在数据收集方面保持高度可扩展性。

虽然 UMI 在很多任务场景中展现了有效性,但仍然存在一些局限性。首先,由于机器人的运动学限制在数据收集时是未知的,因此研究者依靠数据过滤来确保运动学的可行性。未来的工作可以开发一个具有实施意识的接口学习框架。

其次,基于SLAM的动作恢复系统继承了视觉SLAM对环境中需要有足够纹理的要求。未来的工作可以利用静态的第三人称视角摄像机,再加上 UMI 夹具上的附加基准标记,即使在纹理缺乏的环境(例如纯白墙壁的房间)中也能恢复动作。

最后,使用 UMI 夹具收集数据的效率仍然低于人手演示,这是由于夹具的重量和体积,导致与人手相比自由度降低。未来的工作可以探索更轻的材料并进一步改进 UMI 夹具的机械设计和人体工程学,或者构建足够强大的灵巧机器人手可以变成直接从人类动作学习转移。

编译|xlh

审核|Los

移步公众号【深蓝AI】,第一时间获取自动驾驶、人工智能与机器人行业最新最前沿论文和科技动态。

这篇关于通用操作接口UMI:如何快速简单地给机器人提供更多学习数据?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/773292

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Python内存管理机制之垃圾回收与引用计数操作全过程

《Python内存管理机制之垃圾回收与引用计数操作全过程》SQLAlchemy是Python中最流行的ORM(对象关系映射)框架之一,它提供了高效且灵活的数据库操作方式,本文将介绍如何使用SQLAlc... 目录安装核心概念连接数据库定义数据模型创建数据库表基本CRUD操作创建数据读取数据更新数据删除数据查

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别