ロボットセンサー融合:時間、フレーム、共分散、状態推定

ロボットセンサー融合は、異なるレート、フレーム、ノイズ、故障モードの測定値を組み合わせて、位置、速度、向き、バイアス、またはその他の状態の推定を行います。目標はすべての入力を平均させることではありません。プロセスモデルと不確実性を用いて、補完的な証拠がドリフトを修正し、誤った測定や重複が支配的になるのを防ぐことです。

時間アライメント、座標変換、共分散は、拡張カルマンフィルターと無香料カルマンフィルターの選択よりもしばしば重要です。古いタイムスタンプや誤った外部センサーが正確なセンサーだと、推定値を低下させる可能性があります。センサーが増えれば、それらの関係や相関が正直にモデル化されて初めて役立ちます。

ロボットのセンサーガイドキャリブレーションワークフローと一緒に読んでください。推定量の出力は、独立したグラウンドトゥルースではなく、不確実性のあるモデル依存の推定値として扱いましょう。

核融合は予測補正と測定補正を組み合わせています

状態推定器は前の状態を動作モデルやプロセスモデルに伝播させ、プロセスノイズに応じて不確実性を増加させます。測定値が届くと、そのセンサーが何を観測すべきかを予測し、革新を比較し、不確実性に重み付けされた補正を適用します。

この構造は非同期で到着するセンサーを支えています。高速IMUは向きや速度を伝播させることができ、遅い車輪、ライダー、カメラ、衛星観測はドリフトを抑制します。絶対測定が断続的であっても出力率は高いことがありますが、観測されていない運動では不確実性が増大します。

TurtleBot3 Burgerモバイルロボット、ライダーホイールエンコーダー、IMUおよびオンボード電子機器
移動式ロボットは、車輪の走行距離、慣性観測、距離観測を組み合わせており、速度、フレーム、故障モードが異なります。出典: Kuscu0(Wikimedia Commons)。ライセンス: CC BY-SA 4.0

タイムスタンプは到着時間ではなく測定時間を指します

センサーメッセージは、異なる時間にキャプチャ、処理、キューイング、転送、受信が可能です。ホストの到着時間をキャプチャ時間として利用することで、遅延中の動きが空間的誤差に変わります。可能な限りハードウェア時間を保持し、デバイスクロックと推定クロック間のマッピングを測定します。

固定オフセット、ジッター、ドリフトを特徴付けます。既知の遅延や、順序外の測定値を、それ専用の推定器で処理します。ログの取得、公開、受領の時間は別々に行われます。静止時に測定された正確な校正でも、流れがずれている場合、移動中のロボットでは失敗する可能性があります。

データフィールド意味間違っていたら失敗検証
捕獲時間実際の測定時刻動き依存バイアストリガーモーションテスト
フレームID座標基底回転推定またはシフト推定既知方向入力
共変性予想される不確実性過重または過少イノベーション統計
配列または源測定単位重複証拠メッセージトレーシング
健康状態妥当性とモード静かな悪いアップデートフォールト注入

座標系にはキャリブレーションされた変換が必要です

ROS REP-105、map、odom、base_linkなどの一般的なモバイルロボットフレームロールを定義しています。マップフレームはグローバル補正後にジャンプできますが、オドムは局所的に連続的であることが期待されます。これらのセマンティクスを混ぜ合わせるとコントローラーの不連続性が生じます。

各センサーの外部部品は、測定量を正確な回転、平行移動、手性で推定量の慣例にマッピングしなければなりません。IMUの向き、角速度、加速度には、参照系と重力の規則が文書化されている必要があります。センサーの移動、衝突、構造整備後に再調整。

共分散は推定量にどれだけ信頼すべきかを教えます

測定共分散は、モデル化した場合の軸横断関係を含む不確実性を表します。プロセスノイズは、仮定された運動と実際のシステムとの不一致を表します。人工的に小さい値がセンサーを支配的にします。値が大きすぎると有用な補正が妨げられます。

静止、移動、環境条件下での騒音とバイアスを推定します。そして、見た目だけが滑らかな道筋を狙うのではなく、革新点を検証しましょう。滑らかだが偏った推定は、少しノイズの多い正直な推定よりもコントロールにとって不利になることがあります。タイヤ、積載量、照明、路面が変わったらパラメータを更新します。

症状原因としては証拠調整
推定値は正確に1つのセンサーに従います共分散が小さすぎるイノベーションと利益ノイズの再推定
補正はほとんど状態を変えません共分散が大きすぎる残差は残る検証単位と共分散
スロードリフトバイアスまたは未観察状態長期参考モデルバイアスか観測の追加
更新後の振動遅延またはフレームエラー速度相関残差時間を固定し、変換する
虚偽の自信相関重複入力共分散はあまりにも速く縮小します相関を除去するかモデル化するか

EKFとUKFは異なる非線形近似を行います

ROS robot_localizationドキュメント は複数のセンサーソースに対するEKFおよびUKFの状態推定ノードを提供しています。EKFはヤコビアンでモデルを線形化し、UKFは選択されたシグマ点を非線形関数を通じて伝播させます。

UKFが普遍的により正確というわけではなく、EKFが普遍的に十分であるわけでもありません。モデルの品質、ノイズ、タイミング、観測可能性、実装が多くの展開を支配しています。同じ記録されたデータ、同じ状態、フレーム、共分散で比較し、整合性、遅延、計算量を評価します。

5段階ロボットセンサー融合および状態推定パイプライン
推定量の選択にはタイムスタンプ誤差、フレーム誤差、共分散誤差が支配的になることがあります。出典:Physical AI Lab。

相関した測定値は二度数えてはいけません

ホイールオドメトリーはすでに左右エンコーダを組み合わせている場合があります。視覚オドメトリーはIMUを再利用することもあります。同じ局所推定値からグローバルポーズを計算することができます。導出された出力とその出典の測定値を独立的に扱うと、新しい情報がなければ共分散は縮小します。

痕跡測定系譜。最も適切な生レベルまたは導出レベルを一度融合するか、適切な推定量と相互相関をモデル化します。推定者自身の出力を新しい測定値としてフィードバックするのは避けましょう。各ソースがどの状態コンポーネントを貢献するかを文書化してください。

イノベーションゲーティングには外れ値が含まれます

イノベーションとは、入力された測定値と予測値の差です。期待されるイノベーション共分散で正規化し、検証済みの閾値を超えた値は却下またはダウンウェイトします。これにはマルチパス、特徴ミスマッチ、ホイールスリップ、または瞬間的なセンサー故障が含まれます。

ゲートは持続的なバイアスや誤ったフレームを修正することはできません。センサーや環境ごとに拒否率を監視してください。過剰なリジェクションはモデルの破綻を示すこともあります。拒否がないということは、閾値が効果的でないことを意味する場合もあります。長期障害や大規模なグローバル再局所化後の復旧を定義してください。

バイアスと観測可能性が長期ドリフトを決定します

IMUバイアスは速度誤差や位置誤差に組み込まれます。車輪の半径やスケール誤差は距離バイアスを蓄積します。これらの量が推定できるかどうかは、運動や外部からの観測に依存します。状態は数学的に含まれても、利用可能な軌跡中は観測できないことがあります。

関連する軸を励起し、独立した基準と比較して比較するキャリブレーション動作を設計します。共分散とパラメータ相関を監視する。推定値を安定させるために、誤ったバイアスを信頼できる値に固定しないでください。

フュージョンと SLAM は重複していますが、異なるスコープを持っています

SLAM 環境観測を用いて地図とロボットの軌道を推定し、一般的な状態推定器は地図を作成せずにオドメトリー、IMU、グローバルポーズなどの測定値を融合させることができます。 OpenCVキャリブレーションツール は、両システムが依存する可能性のあるカメラジオメトリに対応します。

SLAMポーズは局所フィルターの測定源の一つとなり得ますが、ループクロージャージャンプは正しいフレームセマンティクスで処理しなければなりません。管制官は局所的に連続したオドム推定を好むことが多い一方、グローバルプランニングでは地図アラインメントを使用します。フィードバックループや重複証拠を避けるために境界を定義しましょう。

参照データと注入された故障で検証

固定、直進、曲がり、停止・スタート、不均一な路面、繰り返しループのテストを用いてください。可能な限り、位置、向き、速度、バイアス、共分散、イノベーションを独立したリファレンスと比較してください。スタートアップ、ウォームアップ、長期ドリフトを一つの短いルートではなく評価しましょう。

センサーの遅延、ドロップアウト、バイアス、アウトライヤー、重複メッセージ、変換エラー、ホイールスリップを注入します。不確実性の成長、拒否、回復、制御行動を確認しましょう。生データと設定を保存し、失敗を再生できるようにしましょう。フィルターは、予想される故障に対して境界が満たされ誠実であるときであり、単に経路が滑らかに見えるときだけでなく、その準備が整っています。

  • 捕獲時間を維持し、輸送遅延を測定する。
  • すべてのセンサーフレームと重力の慣習を校正してください。
  • データから不確実性を調整し、イノベーションを検証しましょう。
  • 相関を追跡し、二重計算を避けましょう。
  • 制御を接続した状態で、ドロップアウト、バイアス、アウトライヤー、リカバリーをテストします。

よくある質問

センサーを増やすことで常に精度は向上しますか?

いいえ。追加のセンサーは、時間、フレーム、共分散、バイアス、相関がモデル化され、それらの測定値が独立した情報を追加した場合にのみ役立ちます。

UKFはいつもEKFより優れているのでしょうか?

いいえ。より良い選択はモデルの非線形性、計算、実装に依存します。タイミング、キャリブレーション、不確実性誤差の方が重要になることが多いです。

共分散はどのように選択すべきでしょうか?

関連する条件で測定されたノイズとバイアスから始め、プロセスとモデルのミスマッチを含め、イノベーションの一貫性と独立した参照誤差を確認します。

カメラとIMUのタイミング誤差はどれほど深刻ですか?

特に高速回転や振動時に、動きに比例した姿勢や速度バイアスが生じることがあります。エンドツーエンドのタイムスタンプのオフセットとジッターを測定します。

フィルターは一つのセンサーが消えたら止まるべきでしょうか?

いつもではありません。残った入力で予測は可能ですが、不確実性は増大し、観測可能性が失われた場合は制限付き遅速、停止、または劣化ポリシーが必要です。

状態推定境界注記

推定量の出力と共分散はモデルやセンサーの仮定に依存し、独立したグラウンドトゥルースではありません。外部参照と接続されたコントローラで、時間、フレーム、相関、バイアス、遅延、故障を検証します。