Skip to content

机器人本机与 Ubuntu ROS2 开发机

机器人本机

  • Shell 归属:机器人端。
  • 风险等级:加载环境和只读订阅为只读;调录制或控制服务按对应章节升级。
bash
source /opt/ros/humble/setup.bash
source /home/realman/workspace/rm_robot_ws/install/setup.bash
python3 -c 'import rclpy; print("rclpy ready")'
  • 业务进程必须将 ROS 2 通信适配器、业务状态机与文件传输模块进行解耦分层。

  • 服务超时与业务失败分开记录。

  • 对于所有涉及状态变更的写请求,必须通过全局唯一的业务 run ID 进行去重;发生超时时,必须先查询状态再决定是否重试。

Ubuntu ROS2 开发机

说明

跨机 ROS 2 通信在目标客户开发机环境下尚缺少完整的结构化复验。因此本节仅列出准入条件,不承诺“仅安装 Humble 即可连接”

  1. 开发机与机器人处于同一受信局域网网段,组播/单播发现和 DDS 数据端口可达;
  2. ROS2 Humble、RMW 和 ROS_DOMAIN_ID 与现场设置兼容;
  3. 开发机已有与基线匹配的 rm_robot_interfaces,严禁直接跨版本盲目拷贝;
  4. 必须先通过只读 Topic 依次验证节点发现、类型、QoS 与接收频率,复验通过后方可执行写操作。
  • 成功判据:本机路线可加载 rclpy 和自定义消息;跨机路线能连续读取预期 Topic,类型和 QoS 相容,且没有依赖 ros2 daemon 的旧缓存条目误判。
  • 失败处理:用机器人本机直读作为对照;本机有数据而开发机无数据时,按 Domain ID、RMW、组播/防火墙、消息包顺序排查。排查期间可回退为机器人本机程序或离线 MCAP。