MRPT
移動ロボティクス、SLAM、センサー駆動ナビゲーションのための包括的 C++ ツールキット
ライセンス
BSD-3-Clause
概要
Mobile Robot Programming Toolkit (MRPT) は、移動ロボティクス向けの包括的な C++ ライブラリ集で、SLAM、コンピュータビジョン、運動推定、障害物回避、センサーインタフェースを提供します。12 年以上の開発実績を持ち、パーティクルフィルタ、グラフベース SLAM、カルマンフィルタ、ナビゲーションアルゴリズムの最適化実装に加え、LIDAR・カメラ・GPS のセンサードライバを備えます。データセット可視化、地図構築、リアルタイム運用のための GUI ツールも含まれます。
MRPT は、移動ロボティクスとコンピュータビジョンの研究者・開発者を対象とした包括的なオープンソース C++ ライブラリスイートです。SLAM アルゴリズムの即用可能な実装、2D/3D 空間変換、SE(2)/SE(3) リー群演算、姿勢や地図に関する確率密度関数、カルマンフィルタやパーティクルフィルタを含むベイジアン推論ツールを提供します。
コアライブラリに加え、カメラキャリブレーション、生センサーログ検査、リアルタイム地図可視化など、よくあるロボティクスタスク向けのスタンドアロン GUI アプリケーションを同梱しています。多様なセンサーや地図表現を標準でサポートしており、研究プロトタイプから運用システムまで実用的です。
12 年以上にわたる活発な開発のもと、MRPT は Ubuntu/Debian パッケージ、ナイトリービルドの PPA、Windows インストーラ、ROS/ROS 2 パッケージとして配布されています。モジュラー SLAM フレームワーク MOLA の基盤であり、移動ロボティクスの学術論文で数百回以上引用されています。
重要な理由
MRPT は最も歴史あるオープンソースの移動ロボティクスライブラリの一つで、センサードライバから SLAM アルゴリズムまでフルスタックを統一的にカバーする C++ フレームワークを提供します。12 年以上の継続的開発と MOLA モジュラー SLAM フレームワークへの統合により、学術と応用の両分野で基盤となっています。
解決する課題
移動ロボティクスの研究・開発では、低レベルなセンサー処理から空間変換、確率的推論、完全な SLAM パイプラインまでを一貫して扱える、十分にテストされたライブラリが必要です。MRPT は BSD ライセンスの単一 C++ フレームワークと ROS 統合のもとでこれらすべてを提供し、複数のライブラリを継ぎ接ぎする手間を排除します。
主なポイント
- パーティクルフィルタおよび EKF ベースを含む、複数の完全な SLAM 実装を提供
- SE(2)/SE(3) リー群表現、カルマンフィルタ、パーティクルフィルタによりベイジアン状態推定をサポート
- カメラキャリブレーション、データセット検査、可視化のための GUI アプリを同梱
- ROS 1・ROS 2 パッケージおよび Ubuntu/Debian システムパッケージとして利用可能
- 大規模マッピング向けの MOLA モジュラー SLAM フレームワークを支える
対象
- 本番品質の SLAM 実装を必要とする移動ロボティクス研究者
- センサーフュージョンと自己位置推定ライブラリを必要とする自動運転開発者
- 確率ロボティクスやコンピュータビジョンを学ぶ大学院生
- 良く統合された C++ ロボティクスプリミティブを求める ROS 開発者
制限事項
- 相互依存する多数のモジュールを持つ大きなモノリシック構成のため、ビルド時間が長くなりがち
- 主に移動ロボティクス向けで、マニピュレーションや脚式運動向けには設計されていない
- 長年にわたる開発のため、最新ベストプラクティスを見つけにくいことがある
- Python バインディングはあるが、C++ が依然として主要かつ最も完全なインタフェース