技术分享:UMI机器人操作通用框架在Franka机器人上的配置方法
在 Franka 机器人上部署 UMI 策略
UMI全称为universal manipulation interface, 是斯坦福大大学团队提出通用操纵接口(UMI)通用框架,可以直接从人类演示中学习有能力且可泛化的操纵策略。UMI 夹具是一个手持式演示接口,可捕获足够的信息来学习一些具有挑战性的操作任务,包括洗脏盘子、双手折叠毛衣以及动态物体投掷和分类。该项工作解决了机器人训练中“先有鸡还是先有蛋”的难题。该部署框架,可以直接采用Franka七轴力控机器人实现操作。
系统概述
-
-
FrankaInterface (服务器):scripts_real/launch_franka_interface_server.py (L7)
-
FrankaInterface (客户端): umi/real_world/franka_interpolation_controller.py (L36)
-
FrankaInterpolationController:umi/real_world/franka_interpolation_controller.py(L71)
步骤
将质量设置为 1.8 kg
将法兰到载荷矢量质心设置为 (0.064, -0.06, 0.03) m。
-
按照Franka机器人部署文档在具有实时内核的计算机上安装Polymetis (即我们示例中的 NUC)。
Franka机器人部署Polymetis
参考:https://facebookresearch.github.io/fairo/polymetis/prereq.html
-
在 NUC 上启动 FrankaInterface 服务器。
python scripts_real/launch_franka_interface_server.py
-
(可选)现在您应该能够使用另一台桌面上的空间鼠标来控制 Franka 手臂,您将在该桌面上运行机器人策略。
python scripts_real/control_franka.py
-
将eval_robots_config.yaml /robots/robot_type 更改为。这将更改umi_env
'franka'
(L233)中的机器人控制器。 -
获取 IP 地址并更新eval_robots_config.yaml /robots/robot_ip。
-
在 Franka 机器人界面上
-
然后您就能开始对 Franka Arm 进行评估了。
python eval_real.py --robot_config=example/eval_robots_config.yaml -i cup_wild_vit_l.ckpt -o data/eval_cup_wild_example
设备支持
-
Franka机
-
Franka Hand
PNP机器人可以帮助同步配置FRANKA机器人和手持器,为模仿学习提供同步方案。手持式抓手和精心的界面设计,可为具有挑战性的双臂和动态操纵演示提供便携式、低成本和信息丰富的数据收集。为促进可部署的策略学习,UMI 设计的策略界面,具有推理时间延迟匹配和相对轨迹动作表示功能。学习到的策略与硬件无关,可在多个机器人平台上部署。有了这些功能,UMI 框架就能释放新的机器人操纵能力,只需改变每个任务的训练数据,就能实现零样本通用动态、双臂、精确和长序列行为。
在真实世界实验证明UMI 的多功能性和有效性,配备FRANKA等机器人,验证后PNP机器人建议优先配置平行指夹持器,在这些实验中,通过 UMI 零样本学习到的策略在不同的人类演示训练中可泛化到新的环境和物体。