伯克利开源低成本的示教神器GELLO-3.4.遥操I2RT-YAM机械臂
1. 系统概述
GELLO(Generalized End-to-End Learning for Locomation and manipulation Operations)是伯克利开源的低成本遥操作工具,可用于控制多种机械臂进行数据收集和遥控操作。本手册针对YAM机械臂的GELLO适配进行详细说明。
GELLO支持多种主流机械臂平台,包括UR、Panda、FR3、xArm7等。YAM机械臂作为6自由度协作机械臂,通过GELLO可实现直观的演示教学和遥控操作。

1.1 适用范围说明
本文档主要针对MuJoCo仿真环境下的YAM机械臂遥操作进行说明。 MuJoCo是一款高性能物理仿真引擎,可在无真实硬件的情况下进行算法验证和演示教学。
同时,本文档中的配置方法同样适用于真实YAM机械臂。使用真实机械臂时,只需将启动命令中的sim_yam改为yam,并确保机械臂与控制计算机正确连接即可。
提示:建议首次使用先在MuJoCo仿真环境中进行练习,熟悉操作后再连接真实机械臂。
1.2 相关资源链接
本文档需配合以下资源使用:
·GELLO软件安装教程:包含完整的软件安装、环境配置、依赖包安装步骤
·GELLO-YAM配置指南:YAM机械臂的关节配置和偏移量校准说明
·GELLO项目官网:论文、演示视频和其他资源
https://wuphilipp.github.io/gello_site/
·软件库GitHub:源代码和更新
https://github.com/wuphilipp/gello_software
·硬件库GitHub:STL文件和硬件说明
https://github.com/wuphilipp/gello_mechanical
2.1 硬件要求
·YAM 6自由度协作机械臂(或mujoco仿真环境) × 1
·GELLO-YAMn臂× 1
·控制用PC(Ubuntu 20.04/22.04)× 1
·USB数据线(用于连接GELLO)
·网络连接(用于下载依赖包)
2.2 软件依赖
·Python 3.8+
·ROS Noetic / ROS2(根据机械臂驱动要求)
·Git
·pip3
3. 环境配置
首先克隆GELLO软件仓库并设置Python虚拟环境:
# 进入项目目录
cd ~/projects/gello_software/
# 激活虚拟环境
source .venv/bin/activate
提示:确保每次操作前都激活虚拟环境,否则会出现依赖缺失错误。
4. 设备连接与识别
连接GELLO后,需要确认系统识别到串口设备:
# 查看串口设备列表
ls /dev/serial/by-id
正常输出示例:

警告:记录完整的设备串口号,后续步骤需要使用。如果没有任何输出,请检查USB连接和驱动。
5. 关节配置说明
不同机械臂的关节信号方向可能不同,需要根据实际机型配置关节符号参数。以下是常见机型的配置参考:
机器人类型 | 关节信号参考 | 自由度 | 备注 |
UR | 1 1 -1 1 1 1 | 6 | 通用机器人 |
Panda | 1 -1 1 1 1 -1 1 | 7 | Franka Panda |
FR3 | 1 1 1 1 1 -1 1 | 7 | Franka FR3 |
xArm7 | 1 1 1 1 1 1 1 | 7 | UFACTORY xArm7 |
YAM | 1 -1 -1 -1 1 1 | 6 | YAM协作臂 |
警告:YAM机械臂的关节符号为:1 -1 -1 -1 1 1。符号表示该关节运动方向与控制输入的关系,错误的符号会导致关节反向运动。
6. 偏移量校准
首次使用或更换机械臂后,需要进行偏移量校准。校准步骤如下:
6.1 将机械臂复位到零位
手动或使用程序将所有关节调整到0度位置。
6.2 运行校准脚本
使用以下命令运行校准程序:
python3 scripts/gello_get_offset.py \ --start-joints 0 0 0 0 0 0 \ --joint-signs 1 -1 -1 -1 1 1 \ --port /dev/serial/by-id/复制你的设备串口号
参数说明:
·--start-joints:机械臂当前各关节角度(单位:度)
·--joint-signs:关节运动方向符号(根据第5节表格设置)
·--port:串口设备路径(根据第4节获取的实际路径)
提示:校准完成后,系统会输出偏移量参数,请记录下来供后续使用。
python3 scripts/gello_get_offset.py --start-joints 0 0 0 0 0 0 --joint-signs 1 -1 -1 -1 1 1 --port /dev/serial/by-id/usb-FTDI_USB__-__Serial_Converter_FTBTMMRU-if00-port0
7. 代码配置修改
根据校准结果修改GELLO代理配置文件。打开以下文件进行编辑:
gello_software/gello/agents/gello_agent.py
需要修改的内容包括:
·关节符号配置(与第5节一致)
·串口设备路径(与第4节一致)
·偏移量参数(来自第6节校准结果)
提示:修改完成后保存文件。建议先备份原始文件以防万一。
例如:
修改代码gello_software/gello/agents/gello_agent.py
8. 启动遥操作
完成以上配置后,可以启动遥操作系统。需要同时运行两个终端:
8.1 终端1:启动机器人节点
cd ~/projects/gello_software/
source .venv/bin/activate
python3 experiments/launch_nodes.py --robot sim_yam
可选的--robot参数:
·sim_yam:YAM仿真模式(测试使用)
·yam:连接真实YAM机械臂
·sim_ur:UR仿真模式
·panda:Franka Panda
·其他支持的机械臂类型

8.2 终端2:启动GELLO代理
cd ~/projects/gello_software/
source .venv/bin/activate
python3 experiments/run_env.py --agent=gello
遥操作如图

此时GELLO控制器应与机械臂建立连接,可以通过控制器进行遥操作。
警告:确保两个终端都已激活虚拟环境,否则会出现模块导入错误。
9. 常见问题排查
Q1: 无法识别串口设备
A: 检查USB连接是否牢固,尝试更换USB端口。如仍无法识别,可能需要安装FTDI驱动。
Q2: 关节运动方向相反
A: 检查--joint-signs参数设置是否正确,参考第5节的配置表格。
Q3: 校准后位置偏差大
A: 确认机械臂校准时确实处于零位,重新执行校准流程。
Q4: 启动时报模块缺失错误
A: 确认已激活虚拟环境,并检查requirements.txt中的依赖是否全部安装。
Q5: 遥操作响应延迟
A: 检查USB连接稳定性,关闭不必要的后台程序,确保控制计算机性能足够。
Q6: 机械臂无响应
A: 检查机械臂电源和急停开关状态,确认ROS节点正常运行。
10. 安全注意事项
10.1 操作前检查
·确保机械臂安装稳固,工作范围内无障碍物
·检查急停开关功能正常
·确认所有人员处于安全区域
10.2 操作过程中
·操作人员应始终监控机械臂运动状态
·发现异常立即按下急停
·禁止在机械臂运动时进入工作区域
10.3 维护保养
·定期检查USB线缆和连接器
·保持控制器清洁,避免液体溅入
·长时间不用时断开电源
10.4 故障处理
·遇到无法解决的问题,先断开电源
·记录错误信息,联系技术支持
·不要自行拆卸Gello或机械臂
警告:安全第一!遥控操作时请务必保持警觉,随时准备应对突发情况。
<< 上一篇