数据采集与管理:
选择并确认 Topic 本节主要介绍机器人端 Topic 的筛选校验命令、不同数据类型的录制建议、成功判据以及平台版与简化版录制栈的区别。
Topic 选型建议与分类
- Shell 归属:机器人端。
- 风险等级:下列查询为只读;修改配置和重启录制器为高风险,不在本步骤执行。
bash
source /opt/ros/humble/setup.bash
source /home/realman/workspace/rm_robot_ws/install/setup.bash
ros2 topic list
ros2 topic type /mcap/slave_arm_left
timeout 10 ros2 topic hz /mcap/slave_arm_left提醒
- 录制 Topic 的选择必须以当前录制器配置文件和实际落盘的 MCAP 采样结果为准。
- 例如:测试中短录包含五路
/mcap/*本体数据与四路camera_info,未包含图像数据(这与宽视压缩图像 Topic 当时约 25 Hz 正常出流并不矛盾)。/odom、/scan及图像等 Topic 是否最终写入,均完全取决于录制器当前配置。严禁仅凭 Topic 在系统中存在或历史列表直接推断其已被录入。
| 数据类型 | 基线示例 | 选择建议 |
|---|---|---|
| 从臂、主臂和本体 | /mcap/slave_arm_left、/mcap/master_arm_left、/mcap/body | 高频本体数据;必须保留原始消息时间戳与 Schema 定义。 |
| 底盘 | /odom、/scan | 仅在实际任务需要时录入;录制后需在包内确认消息总数大于 0。 |
| 宽视彩色图像 | .../image_raw/compressed | 对体积和算力影响最大;建议同步录制对应的 camera_info 以辅助诊断源端帧率。 |
| 深度图像 | 以实机 ros2 topic list 为准 | 深度 Topic 依赖具体硬件配置,严禁将其他硬件配置的 Topic 命名直接套用到本机。 |
- 成功判据:所有拟录制的 Topic 均能正常查询到消息类型与数据,并已记录期望频率、序列化类型及预算。
- 排障处理:
- 若
ros2 topic hz无数据输出,应优先检查对应硬件部件是否上电以及驱动节点是否运行。 - 对于图像类 Topic,单个实时
topic hz的测量值可能因订阅端开销偏低而偏小,最终应以 MCAP 落盘文件中的实际帧数计数与总时长作为终极判定依据。
- 若
录制栈架构与环境加载
当前现场环境同时存在简化版录制栈与平台版录制栈,两者具备不同的使用场景与加载环境:
- 平台版数据采集接口使用第二个 overlay。
- 若需检查
rm_interface消息或调用平台版节点,须严格按照以下顺序加载;不能省略或颠倒机器人工作空间:
bash
source /opt/ros/humble/setup.bash
source /home/realman/workspace/rm_robot_ws/install/setup.bash
source /home/realman/workspace/rm_data_collect/install/setup.bash
ros2 interface show rm_interface/msg/RmFuncRecordStatus
ros2 topic info /rm_func_mcap_recoder/rm_func_record_status- 简化版与平台版差异及高风险说明text
[ 简化版 /mcap_recorder_service ] ──► 正式录制 Demo 仍只使用已闭环的简化版; [ 平台版 /rm_func_mcap_* ] ──► 平台路径(已完成完整功能、安全和自动清理闭环)
提醒
平台执行仍属于高风险操作:只有在明确接受“上传成功后自动删除当次本地任务目录”的前提下方可执行,且严禁直接复制上传器的原始日志。

