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

