ローンチ記念公開記念につき現在すべて無料でご利用いただけます。クレジットカード登録は不要です
MCAPを点群に変換

MCAPを点群に、ブラウザ上で

MCAPは可搬性が高くインデックス化されており、従来の様々なバッグ形式より扱いやすいため、現代のロボティクスのワークフローで標準的な記録フォーマットになりつつあります。しかし、ツールのギャップは依然として存在します。記録を検査することはできても、それをマッピング済みの点群に変換できるとは限りません。

エンジニアがMCAPに移行した理由

記録フォーマットは改善されても、マッピングの課題は変わりません。

検査は簡単になりました。

MCAPは、従来の多くの記録方式に比べて検査、検証、ツール間の受け渡しが容易です。だからこそロボティクスのスタックで採用が広がっています。

マッピングは変わりませんでした。

ファイルを手に入れても、難しい問いには答える必要があります。1つのトピックからの生フレームが必要なのか、それとも走行全体からのマッピング済み出力が必要なのか。

MCAPを検査する3つの上流ツール

検査には優れていますが、完全なマップパイプラインではありません。

MCAP CLI

まずはファイルの概要を確認し、必要なトピックを確かめましょう。

mcap info demo.mcap
mcap cat demo.mcap --topics /velodyne_points

Foxglove

Foxgloveはファイルを開いてデータストリームを視覚的に検査するのに優れています。

foxglove-studio /path/to/your/file.mcap

再生とデバッグには最適です。SLAMからマップを生成するサービスではありません。

Python

MCAP内のROS1メッセージを検査またはフィルタリングしたい場合、上流のPython補助ツールですぐに実現できます。

from mcap_ros1.reader import read_ros1_messages

for msg in read_ros1_messages("demo.mcap"):
    print(f"{msg.topic}: {msg.ros_msg}")
検査はマッピングではありません
マッピング済み出力が必要になったら、MCAPをLidarFlowに渡してください。
マッピングの流れ

検査、検証、再構成、確認。

$mcap info demo.mcap
$topics: 12 messages: 184k
$duration: 00:04:21
$/velodyne_points · PointCloud2
mcap info

まずはトピック、メッセージタイプ、時間の長さが想定どおりかを確認します。

Validate · Topics
トピックの提案

LidarFlowがMCAPをスキャンし、その走行に対応するLiDAR、GNSS、IMU、TFのトピックを提案します。

Georef · WGS84
SLAMとジオリファレンス

GLIMがSLAM処理を実行します。GNSSが利用可能な場合はFlexCloudが結果を実世界の座標系に合わせます。

SLAM · Trajectory
lowhigh
マッピング済み点群

ブラウザ上でマッピング済み出力をプレビューし、PCD、PLY、メタデータをダウンロードします。

上流の方法の限界

記録を検査できても、マップが手に入るとは限りません。

CLI、Foxglove、Pythonライブラリは「このファイルの中身を教えてほしい」という仕事には最適です。しかし「走行から1つのマッピング済み点群を渡してほしい」という仕事には、それだけでは答えになりません。

LidarFlowが担う役割

記録からマッピング済み成果物までの最後の工程を埋めます。

MCAPをアップロードすれば、プロダクトがトピックを検証し、LiDAR SLAMを実行し、GNSSがあればジオリファレンスを行い、ブラウザからマッピング済みの成果物をダウンロードできます。

関連ガイド

バッグ版のガイドも必要ですか?