MIT-SPARK/Kimera-VIO

Visual Inertial Odometry with SLAM capabilities and 3D Mesh generation.

Kimera‑VIO – オープンソースのビジュアルインエラシャルオドメトリ

何であるか – Kimera‑VIO は、ステレオ(またはモノ)カメラ画像とIMU測定値を融合して、リアルタイムでロボットの6‑DoFポーズを推定するC++ライブラリです。これは因子グラフ最適化(GTSAM)に基づき、フロントエンドの特徴追跡、IMUの事前統合、バックエンド最適化、オプションのループクロージャ検出、3‑Dメッシュ生成を含む完全なパイプラインを提供します。

なぜ重要か – 正確な状態推定は、自律ロボット、ドローン、AR/VRヘッドセット、および移動中に自らの位置を把握する必要があるあらゆるシステムの基盤となる要素です。Kimera‑VIO はGPSに依存せずにメトリックスケールのオドメトリを提供でき、単一のラップトップ(Ubuntu 20.04)またはROSワークスペース内で実行可能です。


主な機能

機能 詳細
ステレオ + IMU(またはモノ + IMU) メトリックスケールを実現するために2台のカメラを使用;単一カメラにフォールバック可能。
因子グラフバックエンド GTSAMでポーズを最適化し、高速かつ高精度なVIOを実現する「オンマンフォールド事前統合理論」をサポート。
構造的正則性(オプション) 平面/線形制約を活用して精度を向上(ICRA 2019論文)。
ループクロージャおよびポーズグラフ最適化 デフォルトでは無効;-lcdフラグを有効化することでループを閉じ、グローバルポーズグラフ最適化を実行。
3‑Dメッシュ出力 ロボットが移動する間に環境の高密度メッシュを生成。
ROSラッパー 別のリポジトリ(Kimera‑VIO‑ROS)でROSノードとしてパイプラインを実行可能。
豊富なログ記録およびデバッグツール コンソール統計、ビジュアライザ、ユニットテストにより、開発者がパフォーマンスをプロファイリングできる。

セットアップ手順(概要)

  1. 依存関係のインストール – GTSAM ≥ 4.1、OpenCV ≥ 3.4、OpenGV、glog/gflags、DBoW2、Kimera‑RPGO、ANMS。ワンクリックセットアップ用のDockerイメージも提供されています。
  2. ビルドdocs/kimera_vio_install.md を参照(CMake + make)。ROSを使用する場合、Kimera‑VIO‑ROS をcatkinワークスペースにクローンし、一緒にビルドしてください。
  3. データセットで実行 – リポジトリにはEuRoC MAVベンチマーク用のスクリプトが同梱されています。例:
    ./scripts/stereoVIOEuroc.bash -p ~/Euroc/V1_01_easy   # 基本実行
    ./scripts/stereoVIOEuroc.bash -p ~/Euroc/V1_01_easy -lcd   # ループクロージャ付き
    
    構造的正則性を有効にするには -r を使用します。
  4. 結果の確認 – ビジュアライザでリアルタイムのポーズ、ポイントクラウド、メッシュを表示;ログは output_logs/ に保存されます。

一般的な利用例

  • 研究 – EuRoCやカスタムデータセットでVIOアルゴリズムをベンチマーク;ループクロージャや正則性制約の実験。
  • ロボット開発 – ドローンや地上ロボットに統合し、ROSラッパー経由でオンボード状態推定を実現。
  • マッピング – 移動中に屋内環境のメトリックスケール3‑Dメッシュを生成。

ライセンス

Kimera‑VIO は許容性の高いBSDライセンスの下でリリースされており、商業的・学術的利用が可能です。


クイックリファレンスリンク

  • 論文Kimera: an Open‑Source Library for Real‑Time Metric‑Semantic Localization and Mapping (ICRA 2020) – https://arxiv.org/abs/1910.02490
  • ドキュメント – インストール、パラメータ、デバッグ、開発ガイドは docs/ フォルダ内にあります。
  • ビルドステータス – READMEのトップにある継続的インテグレーションバッジをご確認ください。
  • Dockerイメージ – インストールノートを参照して、事前ビルド済みコンテナをご利用ください。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト