Skip to content

踩坑Robotics Stack Exchange2023-10-27

ROS2 SQLite bag 如何转换为 MCAP ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:Convert ROS2 SQLite bag to MCAP format(Robotics Stack Exchange #104976)

状态:已解决

问题 ​

提问者有 SQLite 格式 ROS2 bag,想转为 MCAP,但找不到示例或工具;缺少消息定义时会报 failed to find schema 或提示未知类型。

环境 ​

ROS 2

解决办法 ​

  1. 构建并使用 mcap CLI:安装 golang-go,克隆 foxglove/mcap,在 mcap/go 下执行 make -C cli/mcap build。
  2. 在转换前 source 含有所需消息定义的 ROS2 工作空间,例如 /opt/ros/humble/setup.bash 或自定义工作空间。
  3. 进入 .db3 所在目录,执行 mcap convert foo.db3 foo.mcap,再用 mcap info foo.mcap 检查。
  4. 也可用 ros2 bag convert:在 YAML 中设置 output_bags、uri、storage_id: mcap、all: true,然后执行 ros2 bag convert -i 输入.db3 -o convert.yaml。

原问题作者:Ken Y-N;采纳答案作者:Lucas Walter。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。

来源

本页事实对应的公开页面,以原文为准。

  1. Robotics Stack Exchange #104976:Convert ROS2 SQLite bag to MCAP format访问 2026-10-22