前言
7.3日,我司大模型机器人(具身智能)线下营群里的一学员发了《Open-TeleVision: Teleoperation with Immersive Active Visual Feedback》这篇论文的链接,我当时快速看了一遍,还是有价值的一个工作(其有受mobile aloha工作的启发),一直想做下解读来着,无奈过去一周一直在弄mamba2的解读,所以没来得及弄
但后来考虑到
- 7.11,在和一长沙的朋友聊到我司给工厂的机器人解决方案时,他无意中也发了「Open-TeleVision」这个工作的链接给我,说他也在关注这个团队,并表示“VR+具身智能,应用场景太大了”
- 之前本计划解读完mamba2之后,便解读open-television、我司7方面review微调gemma2,再之后是TTT、nature审稿微调
但没想7.12这天,flashattention3又来了..,实属应接不暇
故打算暂停对mamba2的修订(过几天后继续),而先开始解读这个Open-TeleVision了
故,本文来了
第一部分 Open-TeleVision的原理、创新点与技术架构
1.1 Open-TeleVision的原理与创新点
1.1.1 之前的各种远程操作方法
基于模仿学习的机器人在本博客的前几篇机器人文章中已经介绍过很多了,其中有个关键点便是数据的收集
而数据收集的其中一种重要的方式便是远程操作,它不仅提供了准确和精确的操
作演示,还提供了自然和流畅的轨迹,使学习到的策略能够推广到新的环境配置和任务中
而各种远程操作方法包括且不限于
- 使用VR设备 [Learning visuotactile skills with two multifingered hands, Open teach: A versatile teleoperation system for robotic manipulation]
- RGB相机[Anyteleop:A general vision-based dexterous robot arm-hand teleoperation system, Robotic telekinesis: Learning a robotic hand imitator by watching humans on youtube , A mobile robot hand-arm teleoperation system by vision and imu]
- 可穿戴手套 [A systematic review of commercial smart gloves: Current status and applications, High-fidelity grasping in virtual reality using a glove-based system, A glove-based system for studying hand-object manipulation via joint pose and force sensing]
- 定制硬件 [mobile aloha之Learning fine-grained bimanual manipulation with low-cost hardware , AirExo: Low-Cost Exoskeletons for Learning Whole-Arm Manipulation in the Wild]
大多数远程操作系统中有两个主要组件:执行和感知
- 对于执行,使用关节复制来操纵机器人提供了高控制带宽和精度 [Aloha, Yell at your robot: Improving on-the-fly from language corrections, Gello: A general, low-cost, and intuitive
teleoperation framework for robot manipulators]
然而,这要求操作员和机器人必须在同一地点,无法进行远程控制,即每个机器人硬件需要与一个特定的远程操作硬件配对
重要的是,这些系统尚不能操作多指灵巧手(Moblie aloha和UMI确实都没有灵巧手,dexcap才有) - 对于感知,最直接的方法是用操作员自己的眼睛以第三人称视角 [Robotic telekinesis,Anyteleop, Learning visuotactile skills with two multifingered hands] 或第一人称视角 [Mobile aloha, Dexcap] 观察机器人任务空间
然,这不可避免地会在远程操作过程中遮挡操作员的视线(例如,被机器人手臂或躯干遮挡),操作员无法确保收集的演示已捕捉到策略学习所需的视觉观察
重要的是,对于细粒度的操作任务,远程操作员很难在操作过程中近距离直观地观察物体
此外,第三人称静态摄像头视图或在VR头戴设备中使用透视功能 [Learning visuotactile skills with two multifingered hands, Open teach, Using apple vision pro to train and control robots] 也会遇到类似的挑战
1.1.2 TeleVision的创新点与改进之处
为了解决上述一系列问题,来自加州大学圣地亚哥分校、麻省理工学院的研究者们(Xuxin Cheng, Jialong Li, Shiqi Yang, Ge Yang, Xiaolong Wang)提出了本TeleVision
如下图所示,便是TeleVision的远程操作数据收集和学习设置
- 上图左侧:是远程操作系统
首先,VR设备(虽然系统对VR设备型号不敏感,但还是选择的Apple VisionPro作为VR设备平台)将人体的手部、头部和手腕的姿态流式传输到服务器
其次,服务器再将人类姿态重新定向到机器人(用了两个机器人做实验,一个来自宇树科技的具有多手指的Unitree H1,一个则是傅里叶智能的具有抓手的Fourier GR1)
最后,将关节位置目标发送到机器人
换言之,通过捕捉人类操作员的手部姿势,然后进行重新定位以控制多指机器人手或平行爪抓手,最后依靠逆运动学将操作员的手根位置转换为机器人手臂末端执行器的位置 - 上图右侧:使用基于transformer的动作分块算法即ACT,为每个任务训练模仿策略,比如Transformer编码器捕捉图像和本体感觉token的关系,Transformer解码器输出特定块大小的动作序列
而TeleVision对允许细粒度操作的主要贡献来自感知,它结合了具有主动视觉反馈的VR系统
即在机器人头部使用单个主动立体RGB相机,配备2或3个自由度的驱动,模仿人类头部运动以观察大工作空间。 在远程操作过程中,摄像头会随着操作员的头部移动而移动,进行流
媒体传输,即如下图所示
这是因为实时、自我中心的3D观察传输到VR设备,使得人类操作员看到的是机器人看到的。 这种第一人称主动感知为远程操作和策略学习带来了好处
- 对于远程操作,它为用户提供了一种更直观的机制,通过移动机器人的头部来探索更广阔的视野,并关注重要区域以进行详细交互
- 对于模仿学习,TeleVision的策略将模仿如何在操作的同时主动移动机器人的头部
与其采用进一步的静态捕获视图作为输入,主动摄像头提供了一种自然的注意机制,专注于下一步操作相关区域并减少需要处理的像素,从而实现平滑、实时和精确的闭环控制
1.2 TeleVision System
1.2.1 TeleVision基于Vuer [19]开发了一个网络服务器
humanplus通过影子系统实现了人类操作员对机器人的实时控制,那TeleVision又是如何做到实时远程遥控的呢
事实上,TeleVision基于Vuer [19]开发了一个网络服务器
- VR设备将操作员的手、头和手腕姿态以 SE(3)格式流式传输到服务器
- 服务器处理人到机器人的运动重定向
下图便显示了机器人如何跟随人类操作员的头部、手臂和手的动作
反过来,机器人以每只眼480x640的分辨率流式传输立体视频(整个循环以60 Hz的频率进行)
且过程中只考虑它们的主动感知颈部、两个7自由度的手臂和末端执行器,而其他自由度未被使用。其中,H1的每只手有6个自由度 [20],而GR-1有一个1自由度的下颚夹持器
此外,为了主动感知,设计了一个具有两个旋转自由度(偏航和俯仰)的云台,安装在H1躯干顶部,该云台由3D打印部件组装而成,并由DYNAMIXEL XL330-M288-T电机驱动 [21]
对于GR-1,使用了厂家提供的3自由度颈部(偏航、滚动和俯仰),且两个机器人都使用ZED Mini [22] 立体相机提供立体RGB流
1.2.2 对机器人手臂、手部的控制
对于手臂控制而言,人类手腕姿态首先转换为机器人的坐标系。 具体来说,机器人末端执行器与机器人头部之间的相对位置应与人类手腕和头部之间的相对位置相匹配,且机器人的手腕方向与人类手腕的绝对方向对齐,这些方向是在初始化Apple VisionPro手部追踪后端时估计的
这种对末端执行器位置和方向的差异化处理确保了当机器人的头部随人类头部移动时,机器人末端执行器的稳定性
过程中,TeleVision采用基于Pinocchio[23, 24, 25]的闭环逆运动学(CLIK)算法来计算机器人手臂的关节角度
输入的末端执行器姿态使用SE(3)群滤波器进行平滑处理,该滤波器由Pinocchio的 SE(3)插值实现,从而增强了IK算法的稳定性
为了进一步降低IK失败的风险,当手臂的可操作性接近其极限时,加入了关节角度偏移。 这种校正过程对末端执行器的跟踪性能影响最小,因为偏移量被投影到机器人手臂雅可比矩阵的零空间,从而在解决约束的同时保持跟踪精度
对于手部控制而言,通过dex-retargeting,一个高度通用且计算速度快的运动重定向库,人手关键点被转换为机器人关节角度命令 [Anyteleop]
TeleVision的方法在灵巧手和夹持器形态上都使用了向量优化器。 向量优化器将重定向问题表述为一个优化问题 [Anyteleop, Dexpilot],而优化是基于用户选择的向量定义的:
在上述公式中
- 表示时间 时的机器人关节角度
- 是人手上的第个关键点向量
- 函数使用来自关节角度的正向运动学计算机器人手上的第个关键点向量
- 参数 α是一个缩放因子,用于考虑人手和机器人手之间的尺寸差异(将其设置为1.1用于Inspire手)
- 参数 β权衡了确保连续步骤之间时间一致性的惩罚项。 优化是使用顺序最小二乘二次规划(SLSQP)算法[27]在NLopt库[28]中实时进行的,正向运动学及其导数的计算在Pinocchio[24]中进行
此外
- 对于灵巧手,使用7个向量来同步人手和机器人手,其中
5个向量表示手腕和每个指尖关键点之间的相对位置
另外2个向量,从拇指指尖延伸到主要指尖(食指和中指),以增强细致任务中的运动精度 - 对于夹持器,优化是使用一个单一向量实现的,该向量定义在人类拇指和食指指尖之间。 这个向量与夹爪上下端之间的相对位置,使得通过简单地捏住操作员的食指和拇指,可以直观地控制夹爪的开合动作
1.3 TeleVision的技术架构
1.3.1 ACT作为模仿学习算法,但做了两项修改
TeleVision和Moblie Aloha一样,选择 ACT[10]作为的模仿学习算法
但进行了两项关键修改
- 首先,用更强大的视觉骨干 DinoV2 [29, 30] 替换了 ResNet,这是一个通过自监督学习预训练的视觉transformer(ViT)
- 其次,使用两幅立体图像而不是四幅单独排列的 RGB 摄像机图像作为transformer编码器的输入
DinoV2 骨干为每张图像生成 16 × 22个token。 状态token是从机器人的当前关节位置投影出来的,且使用绝对关节位置作为动作空间
对于 H1,动作维度是 28(每个手臂 7 个,每只手 6 个,主动颈部 2 个);
对于GR-1,动作维度是19(每只手臂7个,每个夹爪1个,主动颈部3个)
至于本体感觉token是从相应的关节位置读数投影出来的
// 待更
第二部分 TeleVision的4个任务及其效果表现
2.1 TeleVision的4个任务:分类、插入、折叠、卸载
2.1.1 罐子分类:5个雪碧与5个可乐的分类
如下图a所示,此任务涉及将随机放置在桌子上的可乐罐(红色)和雪碧罐(绿色)分类
罐子一个接一个地放在桌子上,但位置和类型(可乐或雪碧)是随机的
- 目标是拾起桌子上的每个罐子并将其扔进指定的箱子:左边是红色的可乐,右边是绿色的雪碧
- 解决此任务需要机器人根据每个罐子的位置信息和方向进行自适应泛化,以实现准确抓取。 这也要求策略能够根据当前持有的罐子的颜色调整其计划的动作
每一集包括连续分类10个罐子(5个雪碧和5个可乐随机)
2.1.2 罐子插入:将苏打罐放入槽中
如下图c所示,此任务涉及从桌子上拾取软饮料罐,并将它们按预定顺序小心地插入容器内的槽中
虽然和上一个任务罐子分类都涉及饮料罐的操作,但此任务要求更精确和细致的动作,因为成功的插入需要高精度
此外,此任务采用了不同的抓取策略。 在之前的罐子分类任务中,机器人只需要将罐子扔到指定区域,因此形成了一种涉及手掌和所有五个手指的抓取策略,这是一种宽容但不精确的抓取策略
在这个任务中,为了将罐子插入仅比罐子稍大的槽中(苏打罐的直径大约为5.6厘米,槽的直径大约为7.6厘米),TeleVision采用了一种更类似于捏的策略,仅使用拇指和食指,从而在罐子的放置上进行更细微的调整
这两种不同的抓取策略表明,系统能够完成具有复杂手势要求的任务(该任务的每一集都包括将所有六个罐子放入正确的槽中)
2.1.3 折叠
如下图d所示,此任务涉及将毛巾折叠两次
任务的区别在于它展示了系统操作柔软和顺从材料(如毛巾)的能力。 该任务的动作序列如下展开:
- 捏住毛巾的两个角
- 提起并折叠
- 轻轻将毛巾移到桌子的边缘以准备进行第二次折叠
- 再次捏住、提起并折叠
该任务的每一集都包括一次完整的毛巾折叠
2.1.4 卸载
如下图e所示,此任务是一个复合操作,涉及管子的提取和手内传递
在此任务中,一个芯片管被随机放置在分类盒内的四个槽中的一个中。目标是识别包含管子的槽,用右手提取管子,传递给左手并将管子放置在预定位置
为了成功执行这个任务,机器人需要视觉推理来辨别管子的位置信息,并且需要准确的动作协调来提取和传递管子。 这个任务的每一集包括从4个随机槽中拾取4个管子,传递到另一只手,最后放在桌子上
// 待更