Open Source Robotics

高品質なオープンソースロボティクスプロジェクト、ツール、ソフトウェアの厳選コレクション。

IMU Preintegration

  • 別名: preintegrated IMU factor, on-manifold preintegration
  • カテゴリ: State estimation & navigation › Localisation
  • タグ: imu, state-estimation, factor-graphs, sensor-fusion, slam

2 つのキーフレーム間の多数の IMU サンプルを、それらの絶対状態に依存しない 1 つの相対運動計測にまとめ、推定値が変わっても最適化器が積分し直さずに済むようにすること。

定義

IMU は、カメラや LiDAR がフレームを出力するよりもはるかに高い頻度で、加速度計とジャイロスコープのサンプルを出力する。最適化ベースの推定器で IMU サンプルごとに状態を 1 つ追加すると問題が大きくなりすぎるが、サンプルを単純に積分して姿勢にするのにも別の問題がある。結果が開始時の姿勢、速度、バイアスに依存し、それら自体が推定の対象だという点である。最適化器がそれらを変更するたびに、IMU データの区間全体を積分し直さなければならなくなる。IMU プリインテグレーション(IMU preintegration)は、2 つの状態の間の計測を最初の状態の機体座標系で積分し、開始時の姿勢と速度に依存しない回転、速度、位置の相対変化を求めることで、これを回避する。

Lupton と Sukkarieh は視覚慣性ナビゲーションのためにプリインテグレーションを導入し(2012)、Forster、Carlone、Dellaert、Scaramuzza がそれを回転多様体上で再定式化した(2015、2017 に拡張)。今日のファクターグラフシステムの多くが使っているのはこの定式化である。重力は別に扱い、プリインテグレーションした項を 2 つの状態と比較するときに加え戻す。バイアスへの依存は一次の補正で扱う。積分中に、プリインテグレーションした量のジャイロスコープバイアスと加速度計バイアスに関するヤコビアンも蓄積しておくことで、バイアス推定がわずかに変わったときに計測を低コストで更新できる。統合した計測の共分散も一緒に伝播され、これがファクターの重みになる。バイアス推定が積分時に使った値から大きく離れた場合は、積分をやり直す。

その結果、ファクターグラフの連続するキーフレーム間に 1 つの IMU ファクターができ、それらの姿勢、速度、バイアスを結び付ける。通常は、ゆっくりとしたバイアスのランダムウォークをモデル化するファクターも併せて置く。これによって、VINS-Mono、ORB-SLAM3 の慣性モード、LIO-SAM、LVI-SAM といったスライディングウィンドウ型や完全平滑化型の推定器の中に IMU データを保持することが現実的になる。精度は依然として、ファクターに与える IMU のノイズとバイアスのパラメータ、他のセンサーとの時刻同期、そして計測がサンプル間で一定であるか単純に変化すると仮定する離散積分の方式に依存する。

重要な理由

プリインテグレーションがなければ、密結合の視覚慣性最適化や LiDAR 慣性最適化は遅すぎてロボットに搭載して動かせない。IMU データがカメラ、LiDAR、その他の計測と並んで 1 つのファクターグラフに収まるのはこのためである。

主な用途

  • 視覚慣性オドメトリと SLAM のバックエンド
  • LiDAR 慣性オドメトリとマッピング
  • GPS、レーダ、ホイールオドメトリと IMU データのファクターグラフによる融合
  • 加速度計とジャイロスコープのバイアスのオンライン推定
  • カメラ-IMU および LiDAR-IMU のキャリブレーション

実際の使われ方

開発者は GTSAM を使い、データシートや記録データのアラン分散解析から得た IMU のノイズ密度とバイアスのランダムウォークの値でプリインテグレーションのオブジェクトを作成する。2 つのキーフレーム間のすべての IMU サンプルをそこに入力し、次のキーフレームが届くと、蓄積した結果が 2 つのキーフレームの姿勢、速度、バイアスの変数を結ぶ IMU ファクターになる。後で最適化器がバイアスを更新するとき、ファクターはサンプルを処理し直すのではなく、保存しておいたヤコビアンを使う。地中レーダなど他のセンサーで自己位置推定を行うシステムも、頻度の低いレーダ計測の間の姿勢を結ぶのに同じファクターを使う。

よくある誤解

  • プリインテグレーションは IMU のドリフトを取り除く — 積分を組み直すだけであり、ノイズとバイアスの誤差は依然として残るため、他のセンサーで拘束しなければならない
  • プリインテグレーションした計測は一度計算すれば固定である — バイアス推定に依存しており、バイアスは一次で補正されるが、大きく変化した場合は積分し直す必要がある
  • プリインテグレーションは高速化の小技にすぎない — 正しく伝播された共分散も与えるのであり、これによって最適化器は IMU データを他のセンサーと比較して重み付けできる

知っておくべき人

  • SLAM と視覚慣性オドメトリの開発者
  • 状態推定エンジニア
  • ドローンと脚ロボットのナビゲーションエンジニア
  • ファクターグラフのライブラリで推定器を構築する研究者

関連技術

  • GTSAM
  • アラン分散(Allan Variance)
  • リー群(Lie Groups)
  • VINS-Mono
  • LIO-SAM
  • 慣性航法システム(Inertial Navigation Systems)

関連用語

  • IMU
  • Factor Graph
  • Visual-Inertial Odometry
  • Tightly Coupled Sensor Fusion
  • Keyframe
  • LiDAR Odometry

関連プロジェクト

  • LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
  • oomwoo: Open-source DIY robot vacuum: 3D-printed, ROS2 + 2D LiDAR, fully local.
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • OpenCat: An open-source Arduino and Raspberry Pi-based quadruped robot pet framework
  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required

このウェブサイトにはJavaScriptが必要です。オープンソースロボティクスプロジェクトを閲覧するにはJavaScriptを有効にしてください。