快速开始:
十分钟只读闭环 本章节主要介绍按固定顺序完成网络、版本、ROS 2、Topic 数量、电量及关节状态六项基础判据的校验,并支持可选生成整机只读健康快照。
提醒
完成六项基础校验(网络、版本、ROS 2、Topic 数量、电量及关节状态)即表示通过十分钟只读闭环测试。本闭环流程满足零运动控制、零数据写盘及零配置修改的安全原则,不包含头部小幅运动、MCAP 录制、服务停止或系统调优等操作。
提醒
- 适用版本:RealBot01_RX75;软件版本:
V1.1.1-dl/V1.2.9;硬件版本:1.2。 - 风险等级:只读。
- 前置条件:开发电脑已连接路由器 LAN 接口;机器人已正常完成开机;可通过 SSH 交互登录。
- 安全停止机制:本章节所有指令均不下发任何运动控制或系统状态变更。指令等待过程中可随时按
Ctrl+C强行终止,无需后续复位操作。
说明
本页面引用的 examples/ 脚本请通过正式交付渠道提供的交付包获取,并使用与软件版本匹配的交付包版本;文档中的路径仅用于说明脚本结构。
网络连通
- Shell 归属: 本地开发电脑。
- 风险等级: 只读。
export ROBOT_IP=192.168.127.10
ping -c 2 "$ROBOT_IP"- 成功判据: 收到回复且丢包率为 0%。
- 排障处理: 停止闭环,检查 LAN 口、网线、本机网段和现场 IP。
版本查询
- Shell 归属: 本地开发电脑。
- 风险等级: 只读。
curl --connect-timeout 3 --max-time 10 --fail-with-body \
-X POST "http://${ROBOT_IP}:9091/robot/version" \
-H 'Content-Type: application/json' \
-d '{}'成功判据: 响应返回
"code":200及product_version字段,并准确记录返回的软件版本、硬件版本及设备型号。排障处理: 请参阅验证 REST 版本接口进行排查;未取得版本前不沿用本手册的已验证标记。
在本地开发电脑中运行如下脚本,可一次性完成网络连通与版本查询校验:
examples/01_quick_start/quick_readonly.sh提醒
- 脚本执行前需显式设置
ROBOT_IP。 - 本机需安装并满足
bash、ping、curl及python3依赖。 python3仅用于从标准输入严格解析 REST JSON,过程数据不进行任何落盘操作。
- 脚本执行前需显式设置
加载 ROS2 环境
- Shell 归属: 机器人端(需先在本地开发电脑执行
ssh "${ROBOT_USER}@${ROBOT_IP}",ROBOT_USER为交付渠道提供的机器人登录用户名)。 - 风险等级: 只读。
source /opt/ros/humble/setup.bash
source /home/realman/workspace/rm_robot_ws/install/setup.bash- 成功判据: 两条
source命令退出码均返回 0,且当前 Shell 环境可正常识别并调用ros2。 - 排障处理: 请先确认是否已成功进入机器人端 Shell,随后核对上述两条路径及执行先后顺序。
Topic 数量
- Shell 归属: 机器人端。
- 风险等级: 只读。
ros2 topic list | wc -l
ros2 topic list | grep -E '^/robot_driver/battery_state$|^/robot_slave/states$'- 成功判据: Topic 统计总数大于 0,且上述两个关键 Topic 各出现一次。
说明
历史记录和当前运行态的总数可不同,故不以单一的统计总数作为通用判定阈值。
- 排障处理:
- 若统计总数为 0:重新执行加载 ROS2 环境步骤;
- 若缺失关键 Topic:请保存当前完整的 Topic 列表输出及版本信息以协助定位排查,严禁自行重启服务。
读取电量
- Shell 归属: 机器人端。
- 风险等级: 只读。
timeout 10s ros2 topic echo --once /robot_driver/battery_state- 成功判据: 10 秒内正常接收到一条
rm_robot_interfaces/msg/RobotPower消息,且命令退出码返回 0。 - 排障处理: 若命令退出码为 124,表示接收超时。超时时请先执行
ros2 topic info /robot_driver/battery_state检查发布者状态与数据类型,保存结果后停止闭环。
读取关节状态
- Shell 归属: 机器人端。
- 风险等级: 只读。
timeout 10s ros2 topic echo --once --full-length /robot_slave/states- 成功判据: 10 秒内正常接收到一条
std_msgs/msg/String消息,解析出的 JSON 数据中包含当前实机发布的双臂、头部或腰部关节状态数据。说明
当前基线版本中记录的
position单位为0.001°;若使用其他软件版本,须重新核对。 - 排障处理:
- 若退出码为 124:执行
ros2 topic info /robot_slave/states检查发布者状态。 - 若接收到的数据包内容显示不完整:请确认已保留
--full-length参数。
说明
严禁为了获取数据而发布任何运动命令。
- 若退出码为 124:执行
生成机器人端只读健康快照
- Shell 归属: 客户开发电脑,当前目录为交付包根目录;脚本通过 SSH 标准输入在机器人端执行。
- 风险等级: 只读。
- 脚本不发布 Topic、不调用 Service、不开始录制、不修改参数、不重启业务服务。
- 首次运行 ROS2 CLI 时,系统可能会自动启动临时 daemon 或产生框架日志,但这不会改变机器人业务配置或执行器状态。
ssh "${ROBOT_USER}@${ROBOT_IP}" 'bash -s' \
< examples/01_quick_start/robot_health_snapshot.sh状态检查: 脚本会逐项检查并实时输出
PASS、WARN或FAIL:PASS表示该项满足脚本的只读判据;WARN表示能力或关键 Topic 数据存在缺失、超时或调试工具不可用,但无明确证据表明整机服务失效;FAIL表示 ROS 2 运行环境、核心主服务、ROS 节点图或录制盘独立块设备挂载等基础依赖条件不满足。
说明
最终结论采用最严重等级,不以节点、Topic 或 Service 的历史固定总数作为硬性门槛。
报告生成:
- 脚本默认只输出到终端;如需生成技术支持诊断报告,须显式指定机器人端的报告输出目录:
bashssh "${ROBOT_USER}@${ROBOT_IP}" 'bash -s -- --report-dir "$HOME/realbot-health-reports"' \ < examples/01_quick_start/robot_health_snapshot.sh- 仅在显式使用
--report-dir时,脚本才会排他创建权限为0600的:
textrobot-health-{UTC}-{unique}.txt其中
unique是自动生成的唯一后缀;同秒内重复触发不会覆盖历史报告,且不写入录制 SSD。
提醒
脚本本身不读取凭据文件,也不请求输入密码、token、Authorization 头或私钥;但 journal 和 Topic 内容仍可能间接包含未知格式的敏感信息。常见模式脱敏不是完整保证,提交前必须人工检查并删除序列号、客户网络信息、业务数据和凭据。
脚本默认仅通过
findmnt、块设备检查及df验证录制盘,不递归扫描数据。只有确认没有正在录制、上传或执行关键实时任务时,才可增加--include-directory-usage;该选项执行最长 10 秒的du -sh,可能增加磁盘 I/O。成功判据: 脚本退出码为
0且最终状态为PASS。- 若输出
WARN:须先评估该风险项是否对本次开发任务产生直接影响; - 若输出
FAIL:必须立即停止后续写盘步骤。 - 特别说明:对于依赖雷达数据的任务,必须单独确认
/scan正频率和有效ranges。
- 若输出
排障处理: 请完整保存终端全部输出日志,严禁盲目自动重跑脚本或强制重启
realman.service服务。应优先针对失败项目定位环境变量加载、SSD 挂载状态、关键 Topic 数据和系统日志,必要时联系技术支持获取帮助。

