CtrlC人类手指动作,CtrlV to 机器人……
在智能制造与服务机器人领域,如何让机器人学会人类的精细操作(如捏起茶叶、转动旋钮)一直是未解难题。传统方法依赖昂贵的遥操作或有限的传感器数据,效率低下且难以规模化。
小编这次分享的由斯坦福大学、哥伦比亚大学、摩根大通AI研究院、卡耐基梅隆大学、英伟达五家联合发布的DexUMI框架,以人类的手为"天然接口",通过一套「穿戴外骨骼 + 视觉合成」的组合方式,让机器人轻松学会人类的灵巧技能,甚至能在复杂任务中实现86%的平均成功率!
这套采集系统包含2个部分:硬件部分和软件适配部分。接下来将依次进行介绍。
图1是一个数据采集的示例,操作者通过穿戴外骨骼手套进行任务操作,通过外骨骼手套上的手机、摄像头、触觉传感器、关节编码器从而收集任务示教数据。
▲图1 | 数据采集示例
该研究设计了Inspire和XHand两种外骨骼URDF模型,这两种外骨骼模型的设计如图2所示。
▲图2 | 外骨骼设计。优化后的外骨骼设计与目标机器人手具有相同的关节到指尖位置映射,同时保持可穿戴性。外骨骼利用编码器精确捕捉关节动作,并使用150”视场角摄像头记录丰富的视觉观察信息。
-
在顶部是一个放iPhone手机的支架,通过ARKit捕获手腕动作姿态;
-
每个手指的关节处都集成了编码器,并都和DexUMI电路板连接,用于获取电机数值,从而实现关节动作的解算;
-
在手掌下方放置一个摄像头,用来捕获抓取过程中视觉信息;
-
在每个手指末端添加一个触觉传感器,用来捕获触觉反馈信息。
其中Inspire手的四连杆结构不能直接由URDF模型初始化完成,还需要使用双层优化方法来确定Inspire手的结构参数,双层优化的目标是最大化外骨骼和机器人手的指尖姿态相似度,即:
可以通过在JLCPCB上导入DexUMI的Gerber文件,从而完成DexUMI主板的PCB的订购,DexUMI主板界面如下。
▲图3 | 使用 USB-TTL 模块将开发板连接到PC
-
左边的16路3PIN端子用于连接外骨骼的手指关节的编码器,线序表示如下:
▲图4 | 接线顺序示例
-
PCB的中央安装了一块STM32F042 MCU微控制器
在PCB的背面,配备了两路ADS1256模数转换(ADC)模块。根据原理图,这两路ADS1256模块通过16个模拟输入通道(A0至A15)与16个3PIN端子(CN2至CN17)相连,这些3PIN端子用于接入外部(传感器:手指关节编码器、手指末端触觉传感器等)模拟信号。
STM32F042 MCU通过SPI接口与这两个ADS1256模块进行数据通信。通信过程中,STM32F042作为SPI主设备,向ADS1256发送控制命令并接收转换后的数字数据。完成数据采集和转换后,STM32F042 MCU通过其UART接口——具体是PB6(UART RX)和PB7(UART TX)引脚——将处理后的数据发送至外部设备,如PC,以实现数据采集。
▲图5 | 主板原理图
▲图6 | 弥合视觉差距
DexUMI开发了一套数据采集系统,其目的是弥合人类示教与机器人部署之间的视觉差距。
其流程如下:
(1) 操作员佩戴外骨骼手套进行操作;
(2) DexUMI使用SAM2对外骨骼手掌下方的视频进行手指分割(b);
(3) 剔除手指部分的像素,采用ProPainter对该部分进行填充(c);
(4) 记录下外骨骼手套关节姿态;
(5) 在机器人手上复现(4)的关节动作,单独录制仅包含机器人手的视频(d);
(6) DexUMI使用SAM2对机器人手下方的视频进行手指分割(e);
(7) 利用mask提取分割后的前景(g);
(8) 将提取的前景(g)和(c)进行融合,从而得到机器人手示教数据。
(1) 通过以下操作将外骨骼关节编码器读数映射到机器手上的电机值,使得外骨骼的指尖可以完美地与机器人手的指尖在外骨骼腕部相机的图像中对齐,方便完成软件部分用机械手指替换外骨骼手指,得到示教数据。
# 将inspire外骨骼和机械手进行手动对齐,并记录用于外骨骼关节数值,用于后续回归它们在腕部摄像头中的空间关系
python DexUMI/real_script/teleoperation/calibrate_inspire_mapping.py --joint_index 关节编号
# 将inspire外骨骼和机械手进行手动对齐,并记录用于外骨骼关节数值,用于后续回归它们在腕部摄像头中的空间关系
python DexUMI/real_script/teleoperation/ccalibrate_xhand_mapping.py --joint_index 关节编号
# 操作说明
# S键:让机械手转到采样得到的电机数值位置
# 手动转动外骨骼,将外骨骼手指和机械手指在腕部摄像头图像中对齐
# R键:记录外骨骼关节数值
# Q键:退出
# 检验inspire对齐结果
python DexUMI/real_script/teleoperation/overlay.py --hand-type inspire
# 检验xhand对齐结果
python DexUMI/real_script/teleoperation/overlay.py --hand-type xhand
# inspire: 使用收集的数据调整外骨骼编码器和机器手电机映射的回归模型
python DexUMI/dexumi/hand_sdk/inspire/hand_api_cls.py
# xhand: 使用收集的数据调整外骨骼编码器和机器手电机映射的回归模型
python DexUMI/dexumi/hand_sdk/xhand/hand_api_cls.py
-
佩戴外骨骼手套,开始采集数据,并录制下来
cd DexUMI/real_script/data_collection/
# 如果没有触觉传感器,去掉-ef
python record_exoskeleton.py -et -ef --fps 45 --reference-dir 标记的参照点数据文件位置 --hand_type xhand/inspire --data-dir 采集数据保存位置
-
将采集的数据生成示教数据
cd DexUMI/real_script/data_generation_pipeline
# 在机械手上重复外骨骼采集时所有动作
./process.sh
# 执行软件部分中数据合成的流程
python render_all_dataset.py
# 生成最终用于训练的示教数据
python 6_generate_dataset.py -d 视频图像保存位置 -t 数据保存的位置 --force-process total --force-adjust
(3) 在部署模型前,需要标定iPhone手机和机械臂末端执行器之间的外参(以UR机械臂为例)
cd DexUMI/real_script/calibration
# 移动UR5,记录轨迹
python record_ur5_trajectory.py -rp iphone_calibration
# 计算外参矩阵
python compute_ur5_iphone_offset.py -rp iphone_calibration
(4)在机械臂上评估模型
cd DexUMI/real_script/eval_policy
region.
python DexUMI/real_script/open_server.py --dexhand --ur5
# 评估xhand
python DexUMI/real_script/eval_policy/eval_xhand.py --model_path path/to/model --ckpt N# 评估inspire handpython DexUMI/real_script/eval_policy/eval_inspire.py --model_path path/to/model --ckpt N
在Inspire Hand和XHand上对DexUMI系统进行了评估。
▲表1 | 评估结果。按阶段报告累积成功率。实验比较了不同的手指动作表示组合(绝对值vs 相对值)、触觉反馈(是vs否)和视觉呈现方法(InpaintvsMask/Raw)
参数说明:
Method-Action-Rel:使用相对手指轨迹
Method-Action-Abs:使用绝对手指轨迹
Method-Tactile-Yes: 训练含触觉传感器输入的策略
Method-Tactile-No: 训练不含触觉传感器输入的策略
Method-Visual-Inpaint: 使用合成的数据
Method-Visual-Mask: 用绿色掩码遮盖训练时外骨骼/部署时机械手占据的像素
Method-Visual-Raw: 直接输入含外骨骼的原始图像
▲图 | 策略部署:评估DexUMI在具有挑战性的现实任务中的能力
(1) Cube立方体抓取任务[Inspire Hand]:从桌面拾取2.5cm立方体放入杯中。
用于评估系统基础操作能力与精度
(2) Egg Carton鸡蛋托盘开合任务[Inspire Hand]:用多指打开蛋托:食指/中指/无名指/小指按压蛋托顶盖,同时拇指抬起前扣。
用于评估系统的多指协调性
(3) Tea Picking茶叶采摘任务[Inspire Hand & XHand]:从桌面夹取镊子,将茶叶从茶壶转移至茶杯。
用于评估多指操控稳定性
(4) Kitchen厨房任务[XHand]:包含四步序列:关闭炉灶旋钮→将煎锅从炉台移至台面→从容器取盐→撒盐至锅中食物。
用于评估系统在精确操作、触觉感知及超指尖技能的多步长任务中的表现
(1) DexUMI在两种机械手的四项任务中均达高成功率,证明可处理精确操作、多步长任务及多指协调接触的任务,并有效泛化至不同操作场景;
(2) 相对轨迹在所有任务中持续优于绝对轨迹;
(3) 触觉传感器受高压后易漂移失效,部分情况反而降低性能,仅相对轨迹策略能从触觉中获益;
(4) 在力分布清晰的任务中,触觉反馈能提升性能;
(5) DexUMI虽慢于直接人手操作,但数据采集效率比传统遥操作提升了3.2倍,显著缩短灵巧操作数据收集周期。
DexUMI一个是通过可穿戴外骨骼,将人类手部动作转化为机器人精准操作,同时提供自然触觉反馈的框架。
DexUMI在Inspire Hand和XHand这两种机器人手上进行了四项任务(立方体抓取、鸡蛋托盘开合、茶叶采摘、厨房操作),其结果表明:相对手指轨迹比绝对轨迹更具抗干扰性,触觉反馈在力信号清晰的任务中有效,DexUMI数据采集效率是传统遥操作的3.2倍。
在未来,DexUMI的挑战包括:硬件需要针对不同机器人手自动优化外骨骼设计、提升触觉传感器可靠性;软件需要摆脱依赖真实机器人图像生成、改进背景修复质量;现有机械手指尖定位精度不足、尺寸与人类手存在差异。后续可探索 “先设计舒适外骨骼,再反推机器人手” 的协同设计范式。
《与优秀的人同行》专栏,【第六场专访】来啦👏👏
本次我们邀请的嘉宾是「新加坡国立大学助理教授」——石凡老师!
👉【新加坡国立大学电气与计算机工程学院HcRL实验室助理教授兼负责人】
👉【拥有中、日、瑞士、新加坡四国学习/工作背景】
👉【gzh“机器人学家”创办人】
📌这次,我们希望和大家一起了解这位拥有跨文化背景学者的成长学习之旅,探讨机器人行业的未来发展……
——————————
🌈欢迎加入我们,6月19日“与优秀的人(石凡老师)同行”。↓↓↓
独家专访|机器人领域青年学者:新加坡国立大学助理教授石凡2025年,机器人到底走到了哪一步?https://mp.weixin.qq.com/s/GAjCAGLzpWqn1OFS9Gq50Q