元論文
https://www-users.cs.umn.edu/~stergios/papers/ICRA07-MSCKF.pdf
要約
N個のカメラとIMUがある運動物体の位置を推定する。特徴点の座標や昔の測定情報はカルマンフィルターの状態には含めない一方で、各カメラのpose情報は状態として含める。
カルマンフィルターの状態の定義
まずIMU関係の状態を定義する。
ここで系GはVIOのodometry系のことであり系IはIMU系である。とはそれぞれ加速度と角速度に関するバイアス項である。
ここにNこのカメラの位置情報も加えたものがカルマンフィルターの状態である。
測定値の取り扱い
角速度
IMUで測定した角速度をとし、実際のIMUのpureの角速度をとすると、
ここでは地球の自転による回転の効果であるがこれは小さい(1日で回転)なので通常無視できる。ここから我々が知りたい値であるIMU角速度の推定値を表現する。
期待値をとると、であるから
すなわち
加速度
IMUで測定した加速度をとしpureのIMU系における加速度をとすると
の項がマイナスであるのは、力が働いているのと逆方向に加速しているとIMUが考えるからである。車が重力方向に自由落下()しているときにIMUの測定量が0になると考えると納得できる。またによる項は小さいので無視した。ここから我々が知りたい値であるIMU加速度の推定値を表現する。
伝搬ステップ
GPS-VIOの論文と同じようにerror stateからヤコビアンを導出する。GPS-VIOの論文ではがを使ってどう表されるかという関係を導いていたが、この論文では状態の微分を考えている。本質的にはなのでどちらも同じ情報であり、をかけて単位行列を加算すれば同じものになることがわかる。
測定値の取り扱い
姿勢に関する伝搬ステップ
である。途中クォータニオンの微分の結果を使った。したがって今回の場合は
速度に関する伝搬ステップ
となり、
であるから
位置に関する伝搬ステップ
伝播行列まとめ
観測ステップ
番目のセンサーで番目の特徴点を検出した結果をとする。以降はある1つの特徴点のみに着目して記述する。
ここではヤコビ行列の詳細までは記載しない。ここで、カルマンフィルターの状態とは無関係のがあるので通常の拡張カルマンフィルターの定式化となっていない。これを拡張カルマンフィルター の形に持っていくため、に対するleft null spaceの行列を使う(left null spaceについてはこちらを参照)。はカメラの数をとするとであるのでleft null spaceの次元はである。の行列であるを左からかけると、であることに注意すれば
ここでは次元であったがは次元に減退していることに注意。これで通常の拡張カルマンフィルターの形となった。これは、普通観測結果はカメラがM個あるため次元であるが、拘束条件があるため観測次元が実はに落ちていると理解すれば理解しやすい。
最終的にはこの式を全てのに対して縦に並べた行列、ベクトルがカルマンフィルターの式になる。行列のサイズが大きくなるのでQR分解などでサイズを小さくするテクニックが有効。