部署到真实硬件

从仿真部署到实体机器人硬件。

安全第一

操作真实机器人需要:

  1. 急停开关伸手可及

  2. 有经过培训的操作人员在场

  3. 机器人周围工作空间清空

  4. 了解机器人的运动范围

支持的机器人

公开路径(open-deploy-ws)

下列机器人可通过 精简 open-deploy-ws 分支 部署到真机。遵循各分支 README(./init_repo.sh / ./quick_start.sh)。Acone / AC One 是 双臂;Lift 2S 是全身平台。

机器人

作用

分支

操作指南

方舟无限 Lift 2S

全身(手臂 + 升降 + 底盘)

arx-lift2s

方舟无限 Lift 2S

Acone / AC One

双臂(同一 ARX 描述树;不是 Lift 2S)

arx-lift2s(quick_start 联调)

方舟无限 Lift 2S

高擎 Panthera HT

双臂操作臂

panthera-ht

高擎 Panthera HT

这些机器人面向外部用户提供完整支持,无需访问私有仓库。

内部路径(fa-deploy-ws)

FiveAges 团队成员还可以部署到更多机器人,包括 W2、W2R、S2、S2R 以及双臂 CCS 配置。参见 fa-deploy-ws 配置。

测试连接

前提条件

  • 已在 mock 模式下成功测试

  • 已在仿真中成功测试(推荐)

  • 机器人硬件已上电并连接

  • 网络配置正确

  • 已安装对应硬件驱动

检查清单

部署前

  • 模拟演示运行无错误

  • Gazebo/Isaac 仿真工作正常

  • 机器人已断电

  • 急停开关可随时使用

  • 工作空间无障碍物

  • 已验证网络连接

硬件设置

  • 机器人线缆连接正确

  • 电源供应充足

  • CAN/Ethernet 接口已启用

  • 驱动层插件已加载

配置

  • 已选择正确的机器人型号

  • 已确认关节限位

  • 速度限制设置偏保守

  • Domain ID 配置正确

部署步骤

验证 mock 运行

ros2 launch ocs2_arm_controller demo.launch.py robot:=<your_robot>
# Test all planned motions

配置驱动层

在配置中设置硬件相关参数。

对于基于 CAN 的机器人:

# Verify CAN interface
ip link show can0

# Set CAN bitrate if needed
sudo ip link set can0 type can bitrate 1000000
sudo ip link set can0 up

对于基于 Ethernet 的机器人:

# Verify network interface
ip addr show eth0

首次运动

使用分支 README / ./quick_start.sh。没有文档化的 <robot>_bringup hardware_test.launch.py 或 /enable_motors 服务。

  • Lift2S:分体 或 全身 — ARX Lift 2S,分体控制 vs 全身控制

  • 关节 FSM(HOME / HOLD / MOVEJ):使用 Basic Joint Controller — /fsm_command 是 std_msgs/Int32(混合栈上 3 = OCS2,MOVEJ = 4);MoveJ 目标是 /{controller}/target_joint_position(Float64MultiArray),不是 /target_joint_positions 的 JointState

逐步测试

从 HOLD 开始,再 HOME,再按正在运行的控制器允许的范围进入 MOVEJ / OCS2(状态机与话题)。/fsm_command 是 std_msgs/Int32(不是 stand / walk 这类字符串)。

公开机器人部署(open-deploy-ws)

使用对应 分支 及其 README 脚本。demo.launch.py robot:=arx_acone 是 Acone(双臂),不是 Lift 2S。高擎的 launch 名是 panthera_ht。

  • 方舟无限 Lift 2S — git clone -b arx-lift2s … 然后 ./init_repo.sh 和 ./quick_start.sh。全身含底盘。

  • Acone / AC One — 双臂;在同一 quick_start 菜单中选 ACone 做联调。

  • 高擎 Panthera HT — git clone -b panthera-ht … 然后 ./init_repo.sh / ./release.sh --install 和 ./quick_start.sh。同构遥操作:./teleop_start.sh。

内部部署(fa-deploy-ws)

fa-deploy-ws 的 README 不公开。有权限后,运行该 README 中写明的 init / quick-start 脚本。参数和机器人 ID 只写在那里。公开侧模式见 fa-deploy-ws 配置。

常见硬件问题

CAN 通信超时

  1. 确认 CAN 接口已启用:ip link show can0

  2. 确认 CAN 波特率与机器人匹配

  3. 检查是否有松动的连接

  4. 监控 CAN 流量:candump can0

Ethernet 通信失败

  1. 确认 IP 地址

  2. 检查防火墙规则

  3. 测试 ping 连通性

  4. 确认端口号

电机无法使能

  1. 确认急停已松开

  2. 确认电源供应

  3. 检查硬件故障

  4. 查看驱动错误信息

非预期运动

立即按下急停,然后:

  1. 检查关节限位

  2. 检查坐标系对齐

  3. 确认指令缩放

  4. 先在 mock 模式下测试

验证

  • 机器人使能无错误

  • 小幅度运动执行正确

  • 关节状态反馈准确

  • 急停能够停止运动

  • 可以安全地禁用机器人

下一步

成功部署之后: