Skip to content

选择并确认 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_* ]        ──► 平台路径(已完成完整功能、安全和自动清理闭环)

提醒

平台执行仍属于高风险操作:只有在明确接受“上传成功后自动删除当次本地任务目录”的前提下方可执行,且严禁直接复制上传器的原始日志。