ローンチ記念公開記念につき現在すべて無料でご利用いただけます。クレジットカード登録は不要です
対応フォーマット

ROS2 .db3バッグへの対応状況

結論から書きます。LidarFlowは現時点で.db3を読み込めません。対応しているのはROS1の.bagと.mcapです。.db3をお持ちの場合は、コマンド1つでMCAPに変換すれば、そのまま通常のパイプラインで処理できます。

現在対応しているもの

  • ・ROS1 .bag
  • .mcap(ROS1・ROS2いずれの記録でも可)
  • sensor_msgs/PointCloud2で配信されるLiDARデータ

未対応: ROS2の.db3(rosbag2のSQLiteストレージ形式)。 処理の途中で失敗させないため、アップロード時点で明示的にお断りしています。

.db3が別問題である理由

.db3バッグはメッセージストリームではなくSQLiteデータベースです。 読み取りにはrosbag2のストレージ層を経由する必要があり、内部のメッセージはROS1の定義ではなく ROS2の型定義に対してCDRシリアライズされています。MCAPはスキーマ情報をメッセージと一緒に持つ 自己記述型のコンテナなので、この2つの問題を回避できます。ROS2界隈がMCAPに移行しているのも同じ理由です。

いま.db3をお持ちの場合

公式のrosbag2 CLIでMCAPに変換してください。お使いのディストリビューション向けの MCAPストレージプラグイン(ros-$ROS_DISTRO-rosbag2-storage-mcap) を導入し、変換設定を書いて実行します。

# convert.yaml
output_bags:
  - uri: my_bag_mcap
    storage_id: mcap
    all_topics: true

# 実行
ros2 bag convert -i my_bag -o convert.yaml

参考: ros2/rosbag2 および mcap.dev。変換後は MCAPから点群へ変換 をご覧ください。

.db3のネイティブ対応をご希望ですか?

ロードマップには入っていますが、時期は未定です。メールアドレスをご登録いただければ、対応した際にご連絡します。他の用途には使用しません。

よくある質問

LidarFlowはROS2のbagファイルに対応していますか?

MCAP形式で記録されている場合のみ対応します。既定のSQLiteストレージ(.db3)で記録されたROS2バッグは、現時点ではアップロード検証で受け付けていません。ROS1の.bagと.mcapはどちらも利用できます。

.db3ファイルをMCAPに変換するには?

rosbag2のMCAPストレージプラグインを導入し、storage_idをmcapに設定した変換設定を用意して「ros2 bag convert -i my_bag -o convert.yaml」を実行します。生成された.mcapはそのままアップロードできます。

.db3への対応予定はありますか?

ロードマップには入っています。提供時期はまだお約束できないため、カウントダウンではなく登録フォームを用意しています。

現在対応しているフォーマットは?

ROS1の.bagと.mcapです。LiDARデータはsensor_msgs/PointCloud2(またはROS1のLivox CustomMsg)で記録されている必要があります。IMUとGNSSトピックは任意で、自動検出されます。