前言
7.3日,我司七月在线(集AI大模型职教、应用开发、机器人解决方案为一体的科技公司)的「大模型机器人(具身智能)线下营」群里的一学员发了《Open-TeleVision: Teleoperation with Immersive Active Visual Feedback》这篇论文的链接[其Submitted on 1 Jul 2024 (v1), last revised 8 Jul 2024 (this version, v2)]
我当时快速看了一遍,还是挺有价值的一个工作(与moblie aloha、humanplus最大的区别是,moblie aloha是通过主动臂遥控,humanplus则是用过影子系统遥控,而television则是远程遥控,之后机器人再自主操作),一直想做下解读来着
无奈过去一周一直在弄mamba2的解读,所以没来得及弄,但后来考虑到
- 7.11,在和一长沙的朋友聊到我司给工厂的机器人解决方案时,他无意中也发了「Open-TeleVision」这个工作的链接给我,说他也在关注这个团队,并表示:“VR+具身智能,应用场景太大了”
- 之前本计划解读完mamba2之后,便解读open-television、我司7方面review微调gemma2,再之后是TTT、nature审稿微调、序列并行
但没想7.12这天,flashattention3又来了..,实属应接不暇
故打算加快发布一篇篇新文章的节奏,即暂停对mamba2的修订(过几天后继续),而先开始解读这个Open-TeleVision了
故,本文来了,且在后来,除了Open-TeleVision,又增加了两个相关的工作:AnyTeleop、Bunny-VisionPro,比如这三个系统的作者团队便多有重叠
AnyTeleop | Yuzhe Qin | Wei Yang | Binghao Huang | Karl Van Wyk | Hao Su | Xiaolong Wang | Yu-Wei Chao | Dieter Fox |
Open-TeleVision | Xu xin Cheng | Jialong Li | Shiqi Yang | Ge Yang | Xiaolong Wang | |||
Bunny-VisionPro | Runyu Ding | Yuzhe Qin | Jiyue Zhu | Chengzhe Jia | Shiqi Yang | Ruihan Yang | Xiaojuan Qi | Xiaolong Wang |
第一部分 AnyTeleop:基于视觉的灵巧机器人手臂-手远程操作系统
24年5月,来自UC San Diego和NVIDIA的研究者们(Yuzhe Qin, Wei Yang, Binghao Huang, Karl Van Wyk、Hao Su, Xiaolong Wang, Yu-Wei Chao, Dieter Fox)提出了AnyTeleop——一种通用的基于视觉的灵巧机器人手臂-手远程操作系统,其
- 一方面适用于各种场景,以解决广泛的操作任务
- 二方面可以用于不同的机器人手臂和不同的机器人手,且还支持在不同的现实环境中进行远程操作,例如
下图上部的Isaac Gym(Isaac gym: High performance gpu-based physics simulation for robot learning)
下图中部的SAPIEN模拟器
下图下部的现实世界
1.1 背景、相关工作、系统概述
1.1.1 背景与以前的相关工作
远程操作[39],作为获取人类示范以教导机器人的直接手段,一直是实现这一目标的强大范式[22, 11, 67, 17, 34, 6, 19, 5, 38, 53, 63]。 与基于夹爪的操作器相比],远程操作灵巧的手臂系统带来了前所未有的挑战,通常需要专门的设备,这些设备成本高且设置复杂,例如
- 虚拟现实VR设备[4, 17, 15]
- 可穿戴手套[29, 30]
- 手持控制器[47, 48, 20]
- 触觉传感器[12, 23, 52, 55]
- 动作捕捉追踪器[68]
幸运的是,最近在基于视觉的远程操作方面的发展[2, 24, 16, 26, 43——From one hand to multiple hands: Imitation learning for dexterous manipulation from single-camera teleoperation, 27, 21, 22, 3]提供了一种低成本且更具普适性的灵巧机器人系统远程操作替代方案
总之,早期的基于视觉的远程操作研究集中在提高手部跟踪性能 [57, 60, 1] 和将人手姿态映射到机器人手姿态 [24, 2, 5, 35] 上。最近的研究已经将远程操作的范围从单个机器人手扩展到完整的手臂-手系统 [16, 25, 67]
尽管取得了进展,当前基于视觉的远程操作系统在扩大机器人教学数据收集方面仍然存在不足
首先,先前的系统通常是针对特定的机器人模型或部署环境设计和工程化的。 例如
- 一些系统依赖于在部署工作室中收集的数据集上训练的基于视觉的手部跟踪模型[24, 16]
- 一些依赖于人机重定向模型[65, 13]
- 或为特定机器人训练的避碰模型[54]
随着机器人模型池的扩大和操作环境多样性的增加,这些系统的扩展性将很差
其次,每个系统都是创建并与一个特定的“现实”相结合,要么仅在现实世界中,要么与特定选择的模拟器一起。 例如,HAPTIX [23] 运动捕捉系统仅为 MuJoCo 环境中的远程操作而开发 [58]
为了促进大规模数据收集和弥合仿真与现实之间的差距,需要远程操作系统在虚拟环境(具有任意选择的模拟器)和现实世界中运行
最后,现有的远程操作系统通常针对单一操作员和单一机器人设置进行了定制。 为了教会机器人如何与其他机器人代理以及人类代理合作,远程操作系统应设计为支持多个飞行员-机器人伙伴关系,其中机器人可以在共享环境中相互物理交互
1.1.2 系统概述
在本文中,旨在通过填补上述空白,为基于视觉的灵巧远程操作的数据收集奠定基础。 为此,提出AnyTeleop,一个统一和通用的远程操作系统,可以用于:
- 多样化的机器人手臂和灵巧手模型
可配置机器人手的重定向和运动生成模块,总之是任意手臂-手系统,可设计用于任意灵巧的手臂-手系统,不限于任何特定的机
器人类型 - 多样化的现实环境,即不同的模拟器选择或真实世界;
- 通过为远程视觉反馈开发的基于浏览器的网络可视化工具,从不同的地理位置进行远程操作
相当于可以做到任意远程操作 - 多样化的摄像头配置,例如带或不带深度的RGB摄像头,单个或多个摄像头
相当于可以做到任意相机配置 - 多样化的操作员-机器人合作关系,例如两个操作员分别驾驶两个机器人协作解决操作任务
为了实现这一目标
- 首先开发了一个通用且高性能的运动重定向库,以将人类运动实时转换为机器人运动,而无需学习模型,且AnyTeleop的碰撞避免模块也是无学习的,并由基于CUDA的几何查询提供支持。 它们只需给定运动学模型,即URDF文件,就能适应新机器人
- 其次,我们开发了一个兼容标准浏览器的基于网络的查看器,以实现模拟器无关的可视化,并通过互联网实现远程操作。
- 第三,我们定义了一个通用的软件接口用于基于视觉的远程操作,该接口标准化并解耦了远程操作系统内部的每个模块。 它能够在不同的模拟器或真实硬件上实现平滑部署(AnyTeleop 和所有库都封装为一个 docker 镜像,可以下载并部署在任何 Linux 机器上,从而使用户免于处理麻烦的依赖关系)
虽然系统非常通用,可以支持多种设置,但在实验中AnyTeleop仍能取得优异的性能。 对于现实世界的远程操作,AnyTeleop可以在8个任务中的10个任务上以更高的成功率超过之前为特定机器人硬件设计的系统[54]
1.2 远程操作服务器:手部姿态检测、检测融合、手部姿态重定向、运动生成
远程操作系统的架构如下图所示
远程操作服务器接收来自驱动程序的摄像头流,检测手部姿态,然后将其转换为关节控制命令。 客户端通过网络通信接收这些命令,并使用它们来控制模拟或真实的机器人
具体而言,利用来自一个或多个摄像头的RGB或RGB-D数据,为机器人手臂和灵巧手生成平滑且无碰撞的控制命令。 它由四个模块组成:
- 手部姿态检测模块,从摄像头流中预测手腕和手指的姿态
- 检测融合模块,整合来自多个摄像头的结果
- 手部姿态重定向模块,将人类手部姿态映射到灵巧机器人手
- 运动生成模块,为机器人手臂产生高频控制信号
1.2.1 手部姿态检测:包含手指关键点检测和腕部姿态检测
手部姿态检测模块提供了一个独特的功能,可以利用各种摄像头配置的输入,包括RGB或RGB-D摄像头,以及单个或多个摄像头(设计原则是利用更多的信息,例如深度和附加摄像头,在可用时提高性能。 但它也可以在最少输入的情况下执行任务,即单个RGB摄像头)
如下图所示,该图展示了手部检测结果,白色边框突出显示了预测区域,红点标记了识别出的手指关键点
- 手部骨架由连接关键点的灰色线条表示。 此外,小灰点描绘了来自SMPL-X手部模型的3D顶点的2D投影
- 该图展示了五种不同的情况,从左到右分别是:(i) 手部张开手指以启动远程操作,(ii) 手指向下准备进行自上而下的抓取,(iii) 使用拇指和食指进行精确抓取,(iv) 使用五指进行强力抓取,以及 (v)手部相对于相机平面垂直放置的失败场景
检测模块有两个输出:
- 腕部框架中的局部手指关键点位置(手指关键点检测只需要RGB数据)
AnyTeleop的手指关键点检测利用了MediaPipe [64],一种轻量级的基于RGB的手部检测工具,可以在CPU上实时运行
MediaPipe检测器可以准确定位腕部框架中21个手指关节坐标的3D关键点和图像上的2D关键点 - 摄像头框架中的全局6D腕部姿态(腕部姿态检测可以选择使用深度信息以获得更好的结果)
可以从RGB-D中检测腕部姿态。使用检测到的关键点的像素位置从深度图像中检索相应的深度值。 然后,利用已知的相机内参,计算关键点在相机坐标系中的3D位置。 RGB图像和深度图像的对齐由相机驱动程序处理
通过在局部手腕坐标系和全局相机坐标系中的3D关键点位置,我们可以使用PnP(Perspective-n-Point)算法估计手腕姿态也可以仅使用RGB进行手腕姿态检测。手的方向可以从检测到的关键点的局部位置进行解析计算。 然而,在没有明确的3D信息的情况下,确定相机坐标系中的手腕位置可能具有挑战性
为了增强MediaPipe的全局手腕姿态估计,最终采用了FrankMocap [50]中使用的方法,通过引入额外的神经网络预测手部弱透视变换比例的网络。 弱透视变换通过假设观察对象距离相机比其尺寸远来近似原始透视相机模型
结合内在参数,这个比例因子可以用来近似手部的3D位置。 这种方式计算的手腕位置误差比深度相机大,但对于许多后续的远程操作任务来说已经足够了
1.2.2 检测融合
检测融合模块集成了多个摄像头的检测结果
在进行手部姿态检测时,自遮挡可能是一个问题,特别是当手垂直于摄像机平面时。 使用多个摄像头可以通过提供额外的视角来缓解这个问题。
然而,在融合多个检测结果时有两个主要挑战:
- 第一个挑战:每个摄像头只能在其自身的框架内估计手部姿态
为了解决这第一个挑战,使用人手作为自然标记进行自动校准过程。使用手部检测结果的前 N帧从多个摄像头计算每个摄像头之间的相对旋转,用 SO(3)表示
且发现,尽管在仅使用RGB的设置中检测到的手部姿态的绝对位置不太准确,但连续帧之间的相对运动更加稳健。 通过每个摄像头之间的方向,可以将不同摄像头检测到的相对运动转换到一个单一的框架中 - 第二个挑战:没有直接的度量标准来量化每个检测结果的置信度
为了解决这个第二个挑战,我们使用从检测模块预测的SMPL-X [40]手形参数,这一灵感来自于Qin 等人 [43,即Dexpoint: Generalizable point cloud reinforcement learning for sim-to-real dexterous manipulation,作者是:Yuzhe Qin, Hao Su, and Xiaolong Wang,也是本第一部分介绍AnyTeleop的一作、五作、六作]
在远程操作过程中,对于给定的操作员,真实的形状参数应保持不变,但预测值在自遮挡期间可能包含错误。
他们观察到,较大的形状参数预测误差通常对应于较大的姿态误差。 为了近似置信度评分,故将前 N 帧中估计的形状参数的平均值作为参考,并计算预测形状参数与参考值之间的误差
在实现方面要求操作员在前 N 帧中张开手指,以确保形状参数的参考值准确。 融合模块然后选择由置信度评分最高的摄像头捕获的相对运动,并将其转发到下一个模块,最终选择 N = 50
1.2.3 手部姿态重定向
手部姿态重定向模块将从感知算法获得的人手姿态数据映射到远程操作机器人手的关节位置。 这个过程通常被表述为一个优化问题 [42, 16],其中最小化人手和机器人手的关键点向量之间的差异
优化可以定义如下
其中,表示机器人手在时间步
的关节位置,此外
是从检测到的手指关键点计算的 i-th 人手关键点向量
是以机器人手关节位置
为输入并计算 i-th 机器人手关键点向量的正向运动学函数
和
是关节位置的下限和上限
是考虑手部尺寸差异的缩放因子
为了提高时间平滑性,包含了一个权重为的额外惩罚项。 当重定向到不同的形态时,例如本文开头第一个图中的Dclaw,需要手动指定机器人和人类手指之间的关键点向量映射。 值得注意的是,该模块仅考虑机器人手
1.2.4 运动生成
给定检测到的手腕和手的姿态,接下来的目标是生成平滑且无碰撞的机器人手臂运动,以到达目标笛卡尔末端执行器姿态。 实时运动生成方法是实现平滑远程操作体验所必需的
在[16,即Dexpilot: Vision-based teleoperation of dexterous robotic hand-arm system]的先前工作中,机器人运动由黎曼运动策略驱动(RMPs) [49, 7] 可以实时计算加速度场
然而,朝向特定末端执行器姿态的加速度并不能保证自然的轨迹。 在这项工作中,他们采用了CuRobo [56],一个由GPU加速的高度并行化无碰撞机器人运动生成库,以实时生成自然和反应迅速的机器人运动
在AnyTeleop中,运动生成模块以低频率(25 Hz)从手部检测和重定向模块接收末端执行器的笛卡尔姿态,并以更高的频率(120 Hz)在关节限制内生成无碰撞的关节空间轨迹。生成的轨迹可以由阻抗控制器在模拟或真实机器人上安全执行
1.3 模仿学习与协作操作
1.3.1 模仿学习
本系统类似之前的mobile aloha,也是从人类示范中进行模仿学习
具体而言,首先收集几个灵巧操作任务的示范数据,然后使用这些数据来训练模仿学习算法
为了更好的评估、比较,他们选择了最近的一项基于视觉的远程操作工作[43,From one hand to multiple hands: Imitation learning for dexterous manipulation from single-camera teleoperation],该工作可以用于模拟机器人,作为我们的基线
值得注意的是,通过每个系统收集的演示数据来比较两个远程操作系统。 因此,通过在不同的演示数据上训练相同的学习算法来与基线进行比较,这些数据是通过基线系统和我们的远程操作系统收集的
且遵循[43]选择Demo Augmented Policy Gradient (DAPG) [46]作为模仿算法,另还将其与[44,即Dexpoint: Generalizable point cloud reinforcement learning for sim-to-real dexterous manipulation]中的一种纯强化学习RL算法进行比较,该算法不使用演示,且提供与之前工作[43]相同的密集奖励用于RL训练
在操作任务上,直接使用基准工作[43]中提出的操作任务进行比较,包括三个任务:
- 重新定位Relocate,机器人在桌子上拾取一个物体并将其移动到目标位置
- 翻转杯子Flip Mug,机器人需要将杯子旋转90度以将其翻转回来
- 开门Open Door,机器人需要先旋转杠杆解锁门,然后拉开门
这些任务在下图的左图中可视化
所有三个任务中的操作对象都是随机初始化的,重新定位中的目标位置也是随机的。 每个操作任务都有两个变体:浮动手(Floating-Hand)变体和手臂-手(Arm-Hand)变体
浮动手是没有机器人手臂的灵巧手,可以在空间中自由移动,而手臂-手意味着手安装在具有固定基座的机器人手臂上,这是一个更现实的设置
在演示细节上,对于基线远程操作系统 [43],直接使用原作者收集的演示,每个任务有 50 条演示轨迹
- 基线系统仅使用单个 RGB-D 摄像头
为了公平起见,我们也使用单摄像头设置为每个任务收集 50 条轨迹 - 基线系统只能处理浮动手,但他们提出了一种演示转换管道,将浮动手的演示转换为手臂-手的演示
对于我们的AnyTeleop,我们使用手臂-手设置收集演示,并将演示转换为浮动手,以便浮动手变体和手臂-手变体都可以使用该演示
在评估结果上,对于每种方法在每个任务上,使用三个不同的随机种子训练策略。 对于每个策略,我们在100次试验中对其进行评估。 关于成功指标的更多详细信息可以在[43]中找到
如上图所示,AnyTeleop收集的演示训练的模仿学习算法在大多数任务上可以超越基线和RL,只有一个例外。 与通过基线系统收集的演示相比,我们的系统有两个有助于模仿学习更好表现的优点:
- 收集的轨迹更平滑,这意味着状态-动作对更一致,更容易被网络消化
- 与基线不同,我们的系统明确支持手臂-手系统的远程操作,并保证无自碰撞。 相反,基线系统利用重定向生成机器人手臂的关节轨迹,这可能导致机器人手臂的多次自碰撞
因此,我们可以观察到我们的系统在手臂-手操作任务中的显著性能提升。 对于翻转杯子的任务,使用手臂收集示范的难度远大于使用浮动的方式,从而影响演示的质量
1.3.2 协作操作
协作操作是人机系统发展的关键技术 [59]。 收集协作操作任务的演示数据一直是一项具有挑战性的任务,因为它需要多个操作员无缝合作
通过模块化和可扩展系统设计以及基于网络的可视化,本系统即使在操作员不在同一物理位置的情况下,也能方便地收集协作任务的数据
在本节中,展示了该远程操作系统如何扩展到协作环境中,多个操作员协调合作以执行操作任务。选择人机交接作为示例,如下图所示
在这种设置中,操作员#1控制机器人手,操作员#2控制人手
更进一步,下图展示了多操作员协作的系统架构
包括两个组件
- 远程操作单元:它由一台连接至少一个摄像头和一个人类操作员的计算机组成。在每个远程操作单元中,人类操作员将在网页浏览器上观看实时可视化,并相应地移动手进行操作任务
- 中央服务器:它运行物理模拟和网页可视化服务器。 来自多个远程操作单元的检测结果被发送到服务器,并根据上文所述的流程转换为机器人控制命令
// 待更
第二部分 Open-TeleVision:通过VR人机合一控制人形机器人训练
2.1 Open-TeleVision的原理与创新点
2.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]
- 定制硬件 [aloha之Learning fine-grained bimanual manipulation with low-cost hardware , AirExo: Low-Cost Exoskeletons for Learning Whole-Arm Manipulation in the Wild]
其中,ALOHA框架[10]提供了对细粒度操作任务的精确控制,具有精确的关节映射, 详见:ACT的原理解析:斯坦福炒虾机器人Moblie Aloha的动作分块算法ACT
后来,television的团队发现基于VR的远程操作系统通过手部重定向也可以实现对细粒度操作任务的精确控制,而不是采用关节复制
大多数远程操作系统中有两个主要组件:执行和感知
- 对于执行,使用关节映射来操纵机器人提供了高控制带宽和精度 [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才有)
好在,VR头显制造商通常集成内置的手部跟踪算法,这些算法融合了来自多种传感器的数据,包括多个摄像头、深度传感器和IMU
通过VR设备收集的手部跟踪数据通常被认为比自开发的视觉跟踪系统更稳定和准确,而后者仅使用了所提到传感器的一部分(RGB+RGBD[4],Depth + IMU[6]等) - 对于感知,最直接的方法是用操作员自己的眼睛以第三人称视角 [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] 也会遇到类似的挑战
提前说一嘴,总之,在TeleVision之前,没有系统同时提供远程控制和深度感知:操作员被迫在直接观看(需要物理存在)和RGB流(放弃深度信息)之间做出选择
2.1.2 TeleVision的创新点与改进之处:可远程控制、可深度感知
为了解决上述一系列问题,来自加州大学圣地亚哥分校、麻省理工学院的研究者们(Xuxin Cheng, Jialong Li, Shiqi Yang, Ge Yang, Xiaolong Wang,又是个华人团队)于24年7月初提出了本TeleVision,其通过利用立体流媒体,其首次在单一设置中做到了既可远程控制、亦可深度感知
如下图所示,便是TeleVision的远程操作数据收集和学习设置
- 上图左侧:是远程操作系统
首先,VR设备(虽然系统对VR设备型号不敏感,但还是选择的Apple VisionPro作为VR设备平台)将人体的手部、头部和手腕的姿态流式传输到服务器
其次,服务器再将人类姿态重新定向到机器人(用了两个机器人做实验,一个来自宇树科技的具有多手指的Unitree H1,一个则是傅里叶智能的具有抓手的Fourier GR1)
最后,将关节位置目标发送到机器人
换言之,通过捕捉人类操作员的手部姿势,然后进行重新定位以控制多指机器人手或平行爪抓手,最后依靠逆运动学将操作员的手根位置转换为机器人手臂末端执行器的位置 - 上图右侧:使用基于transformer的动作分块算法即ACT,为每个任务训练模仿策略,比如
Transformer编码器捕捉图像和本体感觉token的关系
Transformer解码器输出特定块大小的动作序列
而TeleVision对允许细粒度操作的主要贡献来自感知,它结合了具有主动视觉反馈的VR系统
即在机器人头部使用单个主动立体RGB相机,配备2或3个自由度的驱动,模仿人类头部运动以观察大工作空间。 在远程操作过程中,摄像头会随着操作员的头部移动而移动,进行流媒体传输,即如下图所示
这是因为实时、自我中心的3D观察传输到VR设备,使得人类操作员看到的是机器人看到的。 这种第一人称主动感知为远程操作和策略学习带来了好处
- 对于远程操作,它为用户提供了一种更直观的机制,通过移动机器人的头部来探索更广阔的视野,并关注重要区域以进行详细交互
- 对于模仿学习,TeleVision的策略将模仿如何在操作的同时主动移动机器人的头部
与其采用进一步的静态捕获视图作为输入,主动摄像头提供了一种自然的注意机制,专注于下一步操作相关区域并减少需要处理的像素,从而实现平滑、实时和精确的闭环控制
2.2 TeleVision System:实现实时远程遥控
2.2.1 VR将人体姿态传到服务器,服务器处理重定向,传达目标姿态给机器人
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流
2.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个向量,从拇指指尖延伸到主要指尖(食指和中指),以增强细致任务中的运动精度
- 对于夹持器,优化是使用一个单一向量实现的,该向量定义在人类拇指和食指指尖之间。 这个向量与夹爪上下端之间的相对位置,使得通过简单地捏住操作员的食指和拇指,可以直观地控制夹爪的开合动作
2.3 TeleVision的技术架构:选择ACT做模仿学习
2.3.1 ACT作为模仿学习算法,但做了两项修改
TeleVision和Moblie Aloha一样,选择 ACT[10]作为的模仿学习算法
但进行了两项关键修改
- 首先,用更强大的视觉骨干 DinoV2替换了ResNet,这是一个通过自监督学习预训练的视觉transformer(ViT)[详见Dinov2: Learning robust visual features without supervision, Vision transformers need registers]
- 其次,使用两幅立体图像而不是四幅单独排列的 RGB 摄像机图像作为transformer编码器的输入
DinoV2 骨干为每张图像生成 16 × 22个token。 状态token是从机器人的当前关节位置投影出来的,且使用绝对关节位置作为动作空间对于 H1,动作维度是 28(每个手臂 7 个,每只手 6 个,主动颈部 2 个);
对于GR-1,动作维度是19(每只手臂7个,每个夹爪1个,主动颈部3个)
至于本体感觉token是从相应的关节位置读数投影出来的
2.3.2 ACT相关的超参数设置
用于训练ACT [10] 模型的超参数详见下图(虽然这些超参数在所有基线和所有任务中大多数是一致的,但也有一些例外,包括块大小和时间加权)
提前说一嘴,在所有任务中TeleVision使用60的块大小,除了罐插入任务中,TeleVision使用100的块大小。 在TeleVision的设置中使用60的块大小有效地为机器人提供了大约一秒的记忆,与推理和动作频率60Hz相对应
尽管如此,我们注意到在罐插入任务中,使用更大的块大小(对应于包含更多的历史动作)对模型执行正确的动作序列是有利的
此外,在原始ACT论文[即Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware,详见此文的2.1.1节动作分块:将同一时间步内的预测动作进行聚合]中采用指数加权方案
为不同时间步的动作分配权重
其中,
是最早动作的权重,遵循ACT的设置。
是上图中提到的时间加权超参数。随着
的减少,更多的强调放在最近的动作上,使模型响应性更好但稳定性较差
经过实验发现,对于大多数任务,使用时间权重 m为0.01可以在响应性和稳定性之间达到令人满意的平衡。 然而,对于卸载和罐子分类任务,我们调整了这个参数以满足它们的特定需求
- 对于卸载任务, m设置为0.05,确保在手中传递时更大的稳定性
- 对于罐子分类任务, m设置为0.005,提供更快的动作
值得一提的是,后来国内机器人公司宇树科技后来也弄了个类似的avp_teleoperate,详见:https://github.com/unitreerobotics/avp_teleoperate
第三部分 TeleVision的4个任务及其效果表现
3.1 4个任务的具体操作:分类、插入、折叠、卸载
3.1.1 罐子分类:5个雪碧与5个可乐的分类
如下图a所示,此任务涉及将随机放置在桌子上的可乐罐(红色)和雪碧罐(绿色)分类
罐子一个接一个地放在桌子上,但位置和类型(可乐或雪碧)是随机的
- 目标是拾起桌子上的每个罐子并将其扔进指定的箱子:左边是红色的可乐,右边是绿色的雪碧
- 解决此任务需要机器人根据每个罐子的位置信息和方向进行自适应泛化,以实现准确抓取。 这也要求策略能够根据当前持有的罐子的颜色调整其计划的动作
每一集包括连续分类10个罐子(5个雪碧和5个可乐随机)
3.1.2 罐子插入:将苏打罐放入槽中
如下图c所示,此任务涉及从桌子上拾取软饮料罐,并将它们按预定顺序小心地插入容器内的槽中
虽然和上一个任务罐子分类都涉及饮料罐的操作,但此任务要求更精确和细致的动作,因为成功的插入需要高精度
此外,此任务采用了不同的抓取策略。 在之前的罐子分类任务中,机器人只需要将罐子扔到指定区域,因此形成了一种涉及手掌和所有五个手指的抓取策略,这是一种宽容但不精确的抓取策略
在这个任务中,为了将罐子插入仅比罐子稍大的槽中(苏打罐的直径大约为5.6厘米,槽的直径大约为7.6厘米),TeleVision采用了一种更类似于捏的策略,仅使用拇指和食指,从而在罐子的放置上进行更细微的调整
这两种不同的抓取策略表明,系统能够完成具有复杂手势要求的任务(该任务的每一集都包括将所有六个罐子放入正确的槽中)
3.1.3 折叠
如下图d所示,此任务涉及将毛巾折叠两次
任务的区别在于它展示了系统操作柔软和顺从材料(如毛巾)的能力。 该任务的动作序列如下展开:
- 捏住毛巾的两个角
- 提起并折叠
- 轻轻将毛巾移到桌子的边缘以准备进行第二次折叠
- 再次捏住、提起并折叠
该任务的每一集都包括一次完整的毛巾折叠
3.1.4 卸载
如下图e所示,此任务是一个复合操作,涉及管子的提取和手内传递
在此任务中,一个芯片管被随机放置在分类盒内的四个槽中的一个中。目标是识别包含管子的槽,用右手提取管子,传递给左手并将管子放置在预定位置
为了成功执行这个任务,机器人需要视觉推理来辨别管子的位置信息,并且需要准确的动作协调来提取和传递管子。 这个任务的每一集包括从4个随机槽中拾取4个管子,传递到另一只手,最后放在桌子上
3.2 4个任务的具体效果——模仿学习
作者团队对TeleVision系统的关键设计选择进行了一系列消融实验,并通过真实世界的实验展示了它们的有效性
- 两个基线分别是w. ResNet18「它使用了原始的ACT视觉骨干ResNet18 [31]」,以及w/o Stereo Input
后者只从左图像中获取视觉token,而不是同时从左图像、右图像中一块获取「The two baselines are w. ResNet18, which uses the original ACT visual backbone ResNet18 [31], and w/o Stereo Input, which only takes the visual tokens from the left image instead of both,相当于w/o Stereo Input只是单个RGB图像」 - 所有模型都使用Adam W优化器 [32, 33] 进行训练,学习率为 5e − 5,批处理大小为 45,并在单个 RTX 4090 GPU 上进行 25k次迭代
且除罐子分类(包括 H1 罐子分类和GR-1 罐子分类)外,所有任务都使用20轮人类演示进行训练
相比之下,罐子分类仅使用10轮演示,且每轮演示又包括10个(GR-1罐分类为6个)单独的罐分类操作。 因此,10轮演示下来总计包含100个单独的分类操作,提供了充足的训练数据
3.2.1 在罐头分类和罐头插入任务上的结果表现
3.2.1.1 当不用DinoV2时,H1执行罐子分类的结果:先pick后place
作者团队在 H1 和 GR-1 机器人上进行分类罐头任务。 所有其他任务仅由H1机器人执行。从下表中显示的实验结果来看,可以看到到原始的ResNet骨干网络未能充分执行所有4项任务
对于can sorting而言,主要就两个步骤:先抓后放。首先,先看H1执行罐子分类(即can sorting)的效果(为方便大家接下来的理解,我July多说一句,下面,你会看到一系列分析、改进,之所以有这些分析、改进,其实都在于那个数字没到90%,^_^)
- 相比于DinoV2,w. ResNet18在拾取和分类方面明显较差(成功率分别仅为74%、58%),可能是由于其骨干网络的限制,为何这么说呢?
因为,在原始ACT实现中,使用了4个摄像头(两个固定,两个腕部安装)以缓解使用RGB图像时缺乏显式空间信息的问题
然而,作者在做实验时,虽然针对ResNet用了立体RGB摄像头,但在数量上毕竟只是两个,这可能使得ResNet骨干网络的空间信息检索更加困难(毕竟原始ACT使用ResNet时建议4个摄像头,这里只配了2个摄像头) - w/o Stereo Input表现的更差:无深度信息,从而pick不好导致place也不好
毕竟其没有来自立体输入的隐式深度信息(如上文说过的,which only takes the visual tokens from the left image instead of both), 使得w/o Stereo Input无法正确拾取pick罐头(46%成功率),正因为它不能很好的把罐头抓起来,所以便导致了紧随其后的较低的分类准确率(52%成功率),导致作者团队必须人工频繁帮助其抓取罐子,这一动作干扰了第二步的视觉推断(相当于如果w/o Stereo Input第一步的pick不好,则第二步的place效果 即便有人工辅助也不会好到哪去)
3.2.1.2 当用上DinoV2之后,H1和GR-1在罐子分类第二步place上的表现
那当作者团队用上DinoV2算法后,H1和GR-1在pick之后的place这第二步上的表现如何呢(为何重点看place呢,因为DinoV2有深度信息,不至于像w/o Stereo Input pick不好,所以就重点看place的效果)
不出预料,H1的表现还好(H1的place成功率是88%),这能理解,毕竟H1在面对place这个任务时,用的算法越先进 最终place的效果越好(算法上,从w/o Stereo Input、ResNet18到DinoV2,效果上,从52%、58%到88%)
H1 Can Sorting之第二步place | |
DinoV2 | 88% |
ResNet18 | 58% |
w/o Stereo Input | 52% |
但为何GR-1的表现却如此之差呢(GR-1的place成功率才区区60%)?这就奇怪了,在算法变更强的前提下,DinoV2的效果竟没有随之而提高(DinoV2的成功率反倒还不如w/o Stereo Input的63%了)
GR-1 Can Sorting之第二步place | |
DinoV2 | 60% |
ResNet18 | 50% |
w/o Stereo Input | 63% |
H1远高于GR-1的主要原因在于,毕竟H1是灵巧手,而GR-1是夹爪,使得
- 当H1的机器人手抓住罐子时,摄像头能够看到罐子的颜色并根据所见做出动作
- 相比之下,当GR-1的夹持器抓住罐子时,由于显著的遮挡,摄像头几乎无法辨认颜色,复杂了视觉推断
正因为GR-1在抓住罐子准备分类到对应的收纳盒中时,罐子被夹持器遮挡严重,阻碍了GR-1的视线,从而使得无论用什么算法,都不好使,哪怕是最强的DinoV2
此外,无论是H1,还是GR-1,即便是用了最强的算法DinoV2,它们在place上的成功率均未超过90%(前者88%,后者60%)
后者60%因为有遮挡,现在理解了,但H1为何也未能超过90%呢
有一个原因在于ACT进行长时间推理的能力依赖于其块大小,而在作者团队的设置中,使用60的块大小和60 Hz的推理频率有效地为机器人提供了一秒钟的记忆:当机器人应该在没有直接视觉确认的情况下放下罐子时,它可能已经忘记了在拾取时看到的罐子的颜色
The other limitation is that ACT’s ability to make long-horizon inference is dependent on its chunk size. In our setup, using a chunk size of 60 with an inference frequency of 60 Hz effectively provides the robot with one second of memory: when the robot is supposed to drop the can without direct visual confirmation, it has likely forgotten the color of the
can which was visible at the time of pickup
而GR-1这“在place步骤上的仅仅60%的准确率”岂能忍?故接下来,得想办法彻底改进之
怎么改呢?算法上是没啥改进空间了,那非算法上呢..
3.2.1.3 GR-1执行罐子分类第二步place步骤时给罐子贴上带颜色的胶布
功夫不负有心人,后来,如TeleVision论文附录B中所示,他们还另外做了一个实验,即为避免由于GR1的夹持器导致的视觉遮挡,故他们在GR1执行第二步place步骤时给罐子贴上了带着颜色的胶布
最终使得GR1无论用什么算法,都在放置place这个步骤上的的成功率得到显著提高(w/o Stereo Input从0.63提升到0.93,w. ResNet18从0.50提升到0.97,DinoV2的成功率直接从60%到100%),具体如下图右侧所示(从右到左看:←)
且他们又顺带看了下GR-1 罐子分类在抓取pick这个步骤上的表现(试问为何会有这个实验或分析呀,原因在于本2.2.1节开头说过的,现在place已经解决了到90%甚至超过90%的成功率了,但pick目前在各个算法之下的73% 83% 87%都还没到90%的成功率呢),发现
- w. ResNet18和DinoV2在抓取任务中的成功率也都有所提高(当然 提高不会太明显,毕竟只是加个颜色胶布而已,没法很大的促进抓取pick操作的效果)
- 但 w/oStereo Input并没有表现出类似的改进,这种差异进一步验证了上面提到过的观点,即想成功的抓取pick罐头需要立体图像的空间信息
3.2.2 折叠与卸载任务的结果表现
对于折叠衣服这个任务而言,我们来看机器人在不掉落毛巾的情况下连续执行两次折叠的能力,结果如下图左侧所示
DinoV2和w. ResNet18模型在执行折叠任务时均达到了100%的成功率,这种高成功率是折叠衣服这个任务具有高度的动作重复度
另一方面,w/o Stereo Input由于没有立体输入,所以偶尔在folding的第三阶段-move时失败(2/5次失败,即60%成功率),在这一阶段,机器人应该轻轻地将毛巾移到桌子的边缘,以便进行第二次折叠
可由于没有立体输入倾向于将手按得太重在桌子上,阻碍了毛巾的成功移动。 这种动作可能是由于使用单个RGB图像缺乏深度信息,因为这一步需要机器人根据与桌子的距离调整手部施加的力量
对于卸载这个任务而言,分别评估三个连续阶段的成功率:提取管子extract、手中传递pass和放置place
如上图右侧所示
- DinoV2模型在所有的extract-pass-place三个阶段都达到了100%的成功率
- 而使用ResNet18和没有立体输入的w/o Stereo Input在某些槽中提取管子extract时失败,分别为3/20次失败(85%成功率)和6/20次失败(70%成功率)
ResNet18在提取管子时有3/20次失败还好,但为何w/o Stereo Input在提取管子时会达到6/20次失败呢,其实w/o Stereo Input之所以会出现6/20次失败(70%成功率),还是在于其没有立体输入,部分原因是它无法正确估计管子和手之间的相对方向 - 至于手中传递pass和放置place相对简单,因为这两个阶段在数据收集过程中不涉及太多随机化。然而,使用ResNet18和没有立体输入的w/o Stereo Input仍然偶尔会失败(两者均为1/20失败),而DinoV2模型在这两个阶段没有出错
第四部分 TeleVision硬件相关的配置
4.1 TeleVision的相机
下图比较了广角相机和我们的主动相机设置的视图
单个静态广角相机仍然难以捕捉所有的兴趣点(PoI)。 必须安装多个相机 [10, 12] 或为每个任务调整相机位置
静态广角相机还捕捉到无关的信息,这如下图所示,为训练和部署带来了额外的计算成本(对训练和部署步骤各抽取100个批次,并平均其计算时间。 基线名称中的数字表示批次大小。裁剪主动从 640x480下采样到308x224,导致每个摄像头有352个图像标记。广角镜头以相同的比例下采样至588x336,导致每个摄像头有1008个图像标记。 由于RTX 4090 GPU的内存限制,对广角镜头使用了10的批量大小)
TeleVision在相同批量大小下训练速度快 2倍,并且可以在4090 GPU上容纳 4倍的数据。在推理过程中,TeleVision也快 2倍,留出足够的时间进行IK和重定向计算,以达到 60Hz的部署控制频率
当使用广角图像作为输入时,推理速度较低,大约为 42帧每秒
此外,对于静态摄像头,操作员需要注视图像边缘的兴趣点,这会带来额外的不适和非直观性,因为人类使用中央(中央凹)视觉来聚焦 [34, 35]
4.2 远程操作
接下来,再展示下TeleVision能够完成的更多远程操作任务
- 木板钻孔任务表明,由于系统兼容灵巧的手部操作,可以使用为人类设计的重型(1千克)工具,并且可以施加足够的力量将木板钻透。 这样的任务对于夹持器来说几乎是不可能的
- 耳塞包装任务表明我们的系统足够灵巧和响应迅速,能够执行敏捷的双手协调操作
- 移液管任务表明TeleVision也能够执行精确的动作。这也是一个极其困难或不可能由机械手夹持器完成的任务,因为移液管的使用是专为类人手设计的
尽管H1类人机器人上的电机是带有行星减速器的准直接驱动电机,这些电机已知具有齿轮间隙且精度和刚度远低于直接驱动电机,但在有人工操作员参与的情况下,TeleVision仍能实现高精度操作
此外,系统还实现了下图所示的远程遥操作,即位于美国波士顿的操作员可以操作位
于美国圣地亚哥(大约3000英里外)的机器人
4.3 灵巧手
对于H1机器人的设置,与斯坦福的humanplus一致,也是使用的Inspire Robots的拟人手 [20]
其每只手有五根手指和12个自由度,其中6个是驱动自由度:拇指有两个驱动自由度,其余每根手指各有一个驱动自由度
- 每个非拇指手指在掌指关节(MCP)处有一个单独的驱动旋转关节,作为整个手指的驱动自由度。这四根手指的近端指间关节(PIP)通过连杆机构由MCP关节驱动,增加了四个欠驱动自由度
- 拇指在腕掌关节(CMC)处配备了两个驱动自由度
- 拇指的MCP和指间(IP)关节也由连杆机构驱动,增加了两个欠驱动的自由度
4.4 远程操作界面
下图是TeleVision的基于网络的跨平台界面,不仅可以从VR设备访问,还可以从笔记本电脑、平板电脑和手机访问
左:Apple Vision Pro。中:Meta Quest。右:Macbook、iPad和iPhone
在VR设备上,用户可以进入沉浸式会话,开始通过手部和手腕姿态流进行远程操作。 在其他设备上,手和手腕的流媒体传输不可用,但用户仍然可以看到传输的图像,并通过在设备屏幕上拖动来控制机器人的主动颈部
第五部分 香港大学和UC San Diego:Bunny-VisionPro
24年7.3日,还是来自香港大学和加州大学圣地亚哥分校的研究者们通过此篇论文《Bunny-VisionPro: Real-Time Bimanual Dexterous Teleoperation for Imitation Learning》提出了Bunny-VisionPro——利用VR头戴设备的实时双手灵巧远程操作系统 (其项目地址为:https://dingry.github.io/projects/bunny_visionpro.html)
值得一提的是,提出这个Bunny-VisionPro的团队Runyu Ding, Yuzhe Qin, Jiyue Zhu, Chengzhe Jia, Shiqi Yang, Ruihan Yang, Xiaojuan Qi, Xiaolong Wang和上文提出open-television的团队有重叠(标粗的代表也是上文open-television作者团队Xuxin Cheng, Jialong Li, Shiqi Yang, Ge Yang, Xiaolong Wang中的)
说句题外话,个人猜测他们大概率是彼此知道对方工作的,包括他们论文第一版提交到arxiv的日期只差短短两天(一个7.1,一个7.3)
总之,系统利用Vision Pro的跟踪功能捕捉操作员的手部动作,并将这些动作转换为精确的机器人指令,且Bunny-VisionPro具有三个创新模块:
- 手臂运动控制模块
该模块可以在不需要高端GPU的情况下实时处理机器人奇异性和碰撞避免(which can handle robot singularity and collision avoidance in real time without the need for high-end GPUs)
该模块确保了机器人手臂的安全和平稳操作,即使在复杂的双手操作场景中也是如此 - 灵巧手重定向模块
该模块准确地将人类手指动作映射到机器人手上。 该模块的独特之处在于其能够实时对具有环形关节(如四杆连杆)的机器人进行重定向
当然,类似的则有dexcap的灵巧手 - 触觉反馈模块
使用低成本的偏心旋转质量(ERM)执行器(每个$1.2)提供触觉感受。 这种新颖的设计与VR头戴设备相结合,在机器人与环境互动时提供更沉浸和真实的体验,创造出操作员即是机器人的感觉
相当于向操作员传递触觉感受,从而提高控制精度并增强沉浸体验
5.1 详解远程操作系统Bunny-VisionPro
5.1.1 整体架构概述
Bunny-VisionPro 是一个模块化的远程操作系统,使用 VR 头显的手部和腕部跟踪功能来控制高自由度的双手机器人
如下图所示。 该系统由三个解耦组件组成:
- 手部运动重定向
将操作员的手指姿势映射到机器人的灵巧手上,实现直观的灵巧操作 - 手臂运动控制
使用操作员的手腕姿态作为输入来计算机器人手臂的关节角度,同时考虑碰撞避免和奇异性处理 - 人类触觉反馈
将传感器安装在机器人手上的触觉读数转换为驱动信号用于可穿戴的偏心旋转设备
操作员手上的质量(ERM)执行器。 这为操作员提供了实时触觉反馈,增强了他们的存在
感,并允许更精确的操作,且
- 在远程操作过程中协调双手机器人还需要保持两只机器人手之间的距离,以匹配两位操作员手之间的距离,确保自然、协调的动作。 然而,机器人手之间的初始距离可能与人手的距离不匹配
- 为了解决这个问题,我们设计了几种初始化模式,当机器人开始移动时,可以即时对齐机器人的手和操作员的手。 不同的任务可能受益于不同的初始化模式。 这一步创建了一个一致的起点,使整个远程操作过程中的双手任务执行直观且高效
- 在通信方面,通过[Teleopeation system using apple vision pro]将Vision Pro的手势结果流式传输到计算机。 模块化架构允许更好的扩展性,并使每个模块在单独的计算过程中运行,防止系统中的延迟积累,确保实时控制
补充一下关于双手远程操作的初始化
远程操作系统促进了人类动作到机器人动作的映射。 例如,将右手向前移动0.1米应导致机器人右末端执行器的等效移动。 为了确保将人类动作精确地转换为三维空间中的机器人动作
- 必须在初始化步骤中定义并同步人类操作员和机器人的坐标系
此阶段涉及为两个系统建立一个三维框架,分别称为初始人类框架和初始机器人框架- 然后,相对于初始人类框架测量人类操作员的动作,机器人在其自己的初始机器人框架内复制这些动作
双手远程操作需要仔细考虑操作员双手的相对位置,这对于需要复杂双手协调的任务至关重要。鉴于由于特定硬件配置,机器人的双手间距可能与人类不同,设计能够动态对齐机器人双手与操作员双手的可适应初始化模式至关重要。为了应对多样的操作需求,他们开发了几种对齐模式:
- 分别对齐: 每只手臂被视为一个独立的单元,适用于需要独立手臂动作的任务
- 对齐中心: 此模式计算两个机器人末端执行器之间的中点,并将其与人类操作员双手之间的中心点对齐
- 对齐左侧和对齐右侧: 这些模式专注于将机器人的运动与人类操作员的左手或右手对齐,这对于优先考虑一侧活动的任务非常有利
5.1.2 机器人手部动作重定向
手部动作重定向模块将人类手指姿势转换为相应的机器人关节位置。 这是通过最小化人手和机器人手指尖关键点向量 [Dexmv: Imitation learning for dexterous manipulation from human videos] 之间的差异来实现的,公式化为一个在线优化问题(定义为公式1):
目标函数 由两部分组成:
- 第一部分最小化缩放的人手关键点向量
和通过正向运动学函数
计算的机器人手关键点向量之间的距离,其中
表示第
个指尖关键点向量,
是向量的总数,
表示欧几里得范数
是调整人手和机器人手之间尺寸差异的缩放因子
是机器人手的关节位置,受限于下限和上限,
和
- 第二项通过惩罚连续帧之间的大关节位置变化
来强制时间平滑性,权重为
,优化变量是
,目标使用序列二次规划 (SQP) [47, 48] 解决,这是一种迭代解决问题二次近似的基于梯度的方法
该工作独特地解决了灵巧手中常见的环形关节的实时处理问题,其中关节数量超过了实际的自由度。对于具有个关节的机器人,
个被动关节的位置取决于其他
个主动关节,表示为(定义为公式2):
其中被动关节 的位置
不是独立的,而是受函数
约束。
是关节位置的总数,且没有在优化问题中添加等式约束(如之前的公式1所示),因为这会由于高度非线性的正向运动学函数
导致不稳定性和计算时间增加
相反,可以将问题重新表述为一个降维问题,其中优化变量具有 k维度(活动关节)而不是 n(总关节)
具体来说,在优化的前向传递中,被动关节的位置按照公式2计算。在反向传递中,被动关节的梯度反向传播到活动关节,并添加到它们的原始梯度中。 因此,活动关节的梯度为(定义为公式3):
这种方法消除了需要使用SQP来处理约束的仿射近似,从而使问题更易处理
下表中的实验结果显示,使用这种方法解决Ability Robot Hand中的四杆联动结构(一种环路关节)时,速度提高了10.2倍
5.1.3 机器人手臂运动控制
手臂运动控制涉及根据Vision Pro检测到的手腕姿态计算机器人手臂的关节轨迹。传统方法通常依赖于逆运动学(IK)的闭式解,并通过探索零空间来处理诸如奇异性等约束[49]
然而,对于典型的7自由度手臂,1自由度的零空间可能无法提供足够的灵活性。 现代方法将问题表述为一个优化任务[50],类似于重定向。 它放宽了IK的刚性约束,以适应额外的因素
受这些工作的启发,我们开发了一个统一且高效的优化目标,在下述公式中集成了IK、碰撞避免和奇异性管理,以实现实时运动控
其中的第一项涉及IK目标
这里,和
分别代表机器人末端执行器和人类手腕的位置,而
和
是它们对应的四元数,
表示内积,至于权重
和
允许在位置和旋转之间平衡误差
此外,奇异性和碰撞避免的目标如下(即the objectives for singularity and collision avoidance,定义为公式6)
- 在奇异性避免目标中
,
表示空间雅可比矩阵,
是最小奇异值,
是惩罚奇异性的条件触发器,
作为温度因子
理论上,和操作性指数
可以衡量奇异性 [Manipulability of robotic mechanisms],当任一值较低时,机器人接近奇异性
且选择操作性指数作为目标,因为它适合基于梯度的优化,同时使用作为条件
因此,仅在机器人接近奇异性时才会生效
- 对于碰撞检测,GJK算法[A fast procedure for computing the distance between complex objects in three-dimensional space.]经常被使用,但即使在凸网格下也可能耗时
为了高效计算自碰撞成本,我们将每个机器人链接建模为一组
个球体
函数计算球体
和
之间的欧几里得距离
而作为指示函数来评估碰撞检查的必要性,
提供数值稳定性
且同一链接内的球体或父链接与其直接子链接之间的球体碰撞将被忽略,这种简化不仅加速了计算,还使距离函数可微分
下图展示了这些建模的球体,通过忽略同一链接内的球体之间或父链接与其直接子链接之间的碰撞来加快碰撞检测过程。 这
种方法使得能够有效地计算在碰撞避免场景中优化运动控制所需的梯度
5.1.4 人类触觉反馈设备
其实,整合视觉和触觉反馈可以使得人类的一系列操作更有效。 然而,现实中的许多基于视觉的远程操作系统[比如Anyteleop, Dexpilot, Holo-dex, Grasplook, Robotic telekinesis]往往都忽略了触觉反馈
为了解决这一限制,他们开发了一种使用偏心旋转质量(ERM)执行器的低成本触觉反馈系统,如下图所示
该系统首先处理来自机器人手的触觉信号(步骤I),然后驱动振动电机模拟触觉感受(步骤II)。尽管成本低廉,该系统使操作员能够更直观地感知和响应环境,提供更沉浸的体验,从而提高操作性能
- 对于步骤I:触觉信号处理。Ability手使用力敏电阻(FSR)测量手指压力。 然而,FSR传感器存在精度不足和零漂移问题[53, 54],这些问题因可变形包裹材料而加剧
为了解决这个问题,通过在各种关节位置记录基线FSR读数并在操作过程中从实时读数中减去插值基线值来进行零漂移校准。 这种高效的校准可以在每次启动远程操作时自动执行
此外,应用低通滤波器来减少噪声并平滑触觉数据。如下图所示,这些信号处理技术显著提高了触觉反馈的质量和可靠性 - 对于步骤II:振动电机驱动。在这一步中,使用ELEGOO UNO板将处理后的触觉信号转换为ERM执行器振动
由于ERM电机需要恒定的输入电压,采用脉宽调制(PWM)通过控制调制脉宽来模拟连续的触觉强度
为了进一步增强触觉信号的稳定性和系统的鲁棒性,在每个ERM执行器和其对应的PWM引脚之间添加了一个双极结型晶体管(BJT)。这确保了每个ERM电机的触觉反馈是单独调整的,仅在脉宽期间激活,并且能够抵抗电路噪声
5.2 模仿学习
为了从模仿学习的角度评估AnyTeleop+和该系统收集的演示质量,他们训练了几种流行的方法:ACT [5]、扩散策略 [34] 和 3D扩散策略——DP3 [40],并测试了它们在未见过的场景中的泛化性能
- 对于扩散策略,采用多视角图像(multi-view images)作为视觉输入,并建立了一个包含2个观察步骤和6个动作步骤的8步视野(establish a horizon of 8, consisting of 2 observation steps and 6 action steps)。 该模型训练了300个epoch,批量大小为64
- 对于3D扩散策略,利用多视角点云(multi-view point cloud)作为输入,并保持与扩散策略相同的视野设置。该模型训练了500个epoch,批量大小为64
- 对于ACT,使用多视图图像(multi-view images),块大小(chunk size)设置为20,训练延续3000个epoch
此外,我们还研究了触觉数据在模仿学习中的有效性。 尽管已被证明有效,但触觉反馈系统并未用于演示收集,因为它是在数据收集完成后设计的
5.2.1 性能评估的具体结果
如下表所示,Bunny-VisionPro在三个任务中使用三种不同策略的平均成功率比AnyTeleop+高出22%。 这展示了该系统收集的演示数据的卓越质量
且该系统在双手任务中效果尤为显著,即清洁平底锅和揭盖和倒液。 这种改进的一个可能原因是Bunny-VisionPro能够精细地处理双手机器人的对齐,从而收集到更自然的机器人动作演示
- 至于泛化能力上,评估了在AnyTeleop+和他们的演示数据上学习的策略的泛化能力。 它评估了在随机物体姿态下的空间泛化(SR-SG)和操纵不同形状、大小和颜色的未见过物体的能力(SR-U)
最终,Bunny-VisionPro在SR-SG上超出14%,在SR-U上超出26%,这表明高质量、轨迹一致的演示显著提高了模仿学习中的泛化能力 - 此外,当面对长时间任务(即复杂的多阶段任务)时,该策略在仅有30次演示的情况下,子任务成功率达到73%,整个任务成功率达到38%。 这表明该系统在长时间数据收集方面的可靠性,以服务于高级操作任务学习
5.2.2 触觉数据作为策略输入
在触觉数据处理上,FSR传感器会在机器人抓取物体时捕捉压力
这些信号也可以通过对时间上的力进行微分来计算冲量。 对于触觉学习,触觉信号表示为向量,使用MLP编码,或可视化为点集以进行视觉嵌入学习,类似于DexPoint [55]
如下表所示(触觉作为DP3策略输入的消融实验。报告了两个双手任务的成功率),利用触觉数据不一定能增强结果,可能是因为仅靠视觉就足以完成这些任务。 触觉反馈仅在手与物体接触时激活,因此无法帮助识别或定位物体
此外,使用力数据的性能略逊于冲量数据,可能是由于触觉读数随时间的零点漂移所致。 这种漂移可能是由传感器嵌入中使用的粘性材料变形引起的,在任务期间会持续改变力读数,导致性能不稳定。 相比之下,冲量对这种变化更具鲁棒性
5.3 更全面的系统评估
5.3.1 任务套装
Telekinesis基准测试 [Robotic telekinesis: Learning a robotic hand imitator by watching humans on youtube],包括十个单臂手操作任务,如下表所示
为了进一步评估系统在双手灵巧操作方面的能力,设计了三个短期任务——抓玩具、清洁锅和揭盖倒水
以及三个长期任务——擦玻璃、扫地和准备咖啡
以上六个任务,除了抓玩具之外,这些任务都需要两只手之间的精细协调
5.3.2 真实机器人远程操作实验
双手灵巧系统由两个UFactory xArm-7机器人手臂组成,每个手臂配备一个6自由度的Ability手,形成一个24自由度的系统。 每只手包含30个分布在五个指尖的触觉传感器
为了演示收集,两台RealSense L515相机分别放置在机器人工作区的前方和顶部,以捕捉足够的视觉观察
最终,在Telekinesis基准上评估该系统,并与Telekinesis[3]和AnyTeleop[4]进行比较,使用原始论文中报告的结果进行对比。 对于Bunny-VisionPro的自定义任务,为了确保公平比较,将AnyTeleop与基于Vision-Pro的手部跟踪集成,创建了AnyTeleop+,并使用与与Bunny-VisionPro相同的真实机器人设置
如下表所示
Bunny-VisionPro在10个任务中有9个任务匹配或超过了基线方法,证明了其系统在手部操作远程操作中的精度和鲁棒性。 然而,在剪刀拾取任务中,由于Ability手的自由度有限,使得将手指插入剪刀手柄变得具有挑战性,因此Bunny-VisionPro的系统表现略逊一筹
在自设计的操作任务中,如下表所示
Bunny-VisionPro优于 AnyTeleop+ [4],成功率高出 11%,任务完成时间缩短 45%。 这一表现证实了其在复制人类动作方面的精确性以及其响应速度和效率,此外
- Bunny-VisionPro 展示了增强的稳定性和鲁棒性,将每集长度减少了 19%,并且变异性更低。 相比之下,AnyTeleop+在处理复杂轨迹和大范围末端执行器姿态变化时表现不佳,常导致关节运动剧烈且不可预测,可能导致不安全的机器人控制,任务期间手臂关节位置变化增加了43%
- Bunny-VisionPro的优势在于双手长时间任务中尤为明显,它在实时、细粒度的双手协调方面表现出色,从而提供了更好的远程操作体验
5.3.3 触觉反馈的用户研究
邀请了五位未经训练的操作员进行触觉反馈的用户研究,涉及两个任务:玩具传递、球移动
每位操作员每个任务进行五次试验,测量任务成功率和平均完成时间。如下图所示,触觉反馈在10次比较中有9次保持或提高了成功率
这种提升归因于机器人和物体之间增强的交互意识,这防止了由于过度压力导致的机器人手臂异常电流生成,从而促进了更安全的操作
此外,触觉反馈允许更快地完成\球移动\任务,该任务由于球的低变形性需要精确控制。 操作员报告说,当视线部分受阻时,触觉反馈加快了物体定位,并增强了他们对远程操作的信心
后记
继斯坦福这4个开源机器人:moblie aloha、umi、dexcap、humanplus之后「这4个开源机器人都在本博客内仔细解读过,详见该系列:大模型机器人系列(具身智能/人形机器人)」,迎来了加州大学这个television
- 一方面,television的每个附录 都解读了,且一些重要的表述会引用原英文论文中的描述
- 二方面,我在解读过程中特别注意尽可能让每个读者阅读下来,在思维逻辑上比读原论文还更清晰,也会经常出现说唱人口中所谓的那个punchline(点睛之笔)
比如2.2.1节开头所写的
“为方便大家接下来的理解,我July多说一句,下面,你会看到一系列分析、改进,之所以有这些分析、改进,其实都在于那个数字没到90%”
这也算是为何我写的如此受欢迎的原因之一吧
解读完之后,感慨:1 总算有个斯坦福之外的了,2 实际落地还是得做不少改进、改造工作