ホイールオドメトリーは測定されたホイール回転数をロボットの動きの推定値に変換します。床に対する動きを測定するものではありません。タイヤのスリップ、擦れる動き、変形、不均一な地形、そして誤ったホイールジオメトリは、エンコーダーの完璧な回転と実際の平行移動やヨーの不一致を引き起こすことがあります。
スリップ検知器を作る前に、車輪半径と有効トラックを校正してください。次に、同期した車輪の動きをIMUヨー率、スキャンマッチング、視覚的オドメトリー、運動電流などの独立した証拠と比較します。意見の相違が信頼できる場合は、静かに他の情報源に押し付けるのではなく、信頼を減らしましょう。
このガイドは ロボットエンコーダーガイド および ロボットセンサーフュージョンガイドと一緒に使ってください。共分散はテストされた不確実性を表しておらず、フィルターを滑らかに見せるためだけに選ばれたチューニング数値ではありません。
ホイールの走行距離はモデルベースの推定値として扱う
エンコーダーの数は、解像度やギア比によってホイール角度に変わります。車輪の角度は有効転がり半径を通る移動弧に変わります。差動運動学やスキッドステア運動学は、左右の動きを体の平行移動やヨーに変換します。どのリンクでも誤りがあれば、オドメトリーに入ります。
このモデルは、車輪の接触と車体の動きの間に関係があると仮定しています。縦方向の滑りはローリング距離に違反し、横方向の滑りやタイヤスクラビングは非ホロノミック制約に違反します。どちらもエンコーダーカウントには直接表示されません。
フュージョンを評価する前に、モーションモデル、フィードバックソース、符号、タイムスタンプ、ユニットの名前を決めてください。

左右のローリング半径をキャリブレーションします
標準タイヤ半径は、荷重、圧力、摩耗、トレッド、フロアに対する有効半径と異なります。左右半径が不均等になると、直線走行では方向のドリフトが生じます。代表的なペイロード上で前後距離を繰り返し測定して各側をフィットさせます。
公開されたROS 2diff_drive_controllerドキュメントでは、ホイール半径と側特定半径の倍率が明示されています。デフォルトをコピーするのではなく、測定されたパラメータとホールドアウト検証を使いましょう。
| パラメータ | 主な症状 | キャリブレーション運動 | 交絡因子 |
|---|---|---|---|
| 共通半径 | 距離スケール誤差 | 長い直線走行 | スリップとタイヤ負荷 |
| 半径の不一致 | 直線方向ドリフト | 前進と逆行 | 床の傾斜 |
| 実効トラック | 旋回角誤差 | 大きな両方向ターン | スクラブ |
| エンコーダースケール | 距離と速度向上 | 基準回転 | ギア比 |
| タイムオフセット | 加速度残差 | 計時機動 | フィルタ遅延 |
旋回時の有効なトラックを特定する
理想的な差動駆動では、車輪分離が速度差をヨー率にマッピングします。実際のスキッドステア車両はタイヤを横方向に擦りつけるため、効果的なコースは物理的な間隔や速度、路面、積載量によって異なることがあります。
フィットは両方向に、そしていくつかの速度で回転します。ある定数でエンベロープを説明できない場合は、検証済みの状態依存モデルを用いるか、共分散や速度制限の残差を反映します。
正しいフレームでポーズとツイストを公開する
公式のROS オドメトリーメッセージの定義 では、ポーズはheader.frame_idで、ツイストはchild_frame_idで表されるとされています。これらの言葉を混ぜ合わせることで、たとえ数字がもっともらしく見えても核融合は腐敗します。
REP 105で説明されている意図された地図、オドム、ベース関係に従ってください。ホイールのオドメトリーは通常、連続した局所オドムフレームを支えます。グローバル補正は別の変換に分類されます。
文脈から縦方向および横方向のずれを検出する
急加速やブレーキで駆動輪がスピンしたりスリップしたりすることがあります。高摩擦床での急旋回は横方向の擦り傷を生じ、しきい値、ランプ、ゴミ、低摩擦のパッチでは一時的な不連続性が生じることがあります。スキッドステアの動きは通常の制御中でも予想される滑りを含みます。
指令加速度、車輪速度、IMU速度、モーター電流、環境によってイベントを分類します。単一のエンコーダ残差閾値では、キャリブレーション誤差、タイムスタンプ誤差、物理的スリップを区別できません。

独立した測定で残差を構築
ホイール導出ヨー率と校正されたIMUヨー率、そして車輪の移動と、スキャン速度、視覚速度、外部速度を比較してください。比較は同じフレームと物理的間隔を指す必要があります。異なるフィルタリング遅延によって加速時に偽スリップが生じることがあります。
慣性不確かさには IMUのキャリブレーションガイド を使いましょう。第二のソースは、その自身の健康状態や故障モードを追跡している場合にのみ有用です。
| 残留 | スリップ証拠 | 別の原因 | クロスチェック |
|---|---|---|---|
| ホイールヨーからIMUヨーを差し引いた | 旋回スクラブまたはホイールスリップ | ジャイロバイアスまたはタイムオフセット | スキャン回転 |
| 車輪速度からスキャン速度を差し引いた値 | ドライブスリップ | スキャンマッチ失敗 | モーター電流とIMU |
| 左右の非対称性 | 片輪トラクションロス | 半径の不一致 | 地表と流れ |
| ポーズイノベーションの急増 | オドメトリー故障 | グローバルセンサーの外れ値 | マルチソースゲーティング |
| 持続的な小さなバイアス | キャリブレーションドリフト | 床面傾斜またはペイロード | 双方向ルート |
推定値を変更する前に共分散を上げてください
証拠が滑りを示す場合、車輪の測定は信頼性が低下します。関連するポーズを上げたり、ツイスト共分散を上げて、融合推定量の重みを減らせます。方向も重要です。縦方向、横方向、ヨー方向の不確実性が同じように増加する必要はないのです。
履歴を編集したり、ホイールドライバーのグローバルソースにオドムポーズをスナップしないでください。それが不連続性を生み、フレーム契約を破り、コントローラーを不安定にすることがあります。
重複するエンコーダ情報を二重に融合しない
同じエンコーダ数から計算されたポーズ増分とツイストは相関されます。両方を独立した測定値としてフィードすると、フィルターが過信してしまうことがあります。どの変数が一意な証拠を持ち、推定量が支持する相関を考慮します。
robot_localizationプロジェクトは非線形状態推定ノードを提供しますが、正しい構成には依然としてセンサーの意味論、共分散、フレームの規律が必要です。
ヒステリシスと持続的な証拠で信頼を回復する
残差が閾値を下回ると即座に低共分散を回復する検出器は、断続的な牽引時にチャタリングを行うことがあります。信頼が戻るまでに、滞留時間、複数の独立した正規残差、またはステートマシンへの遷移が必要です。
リスクが慎重な場合は、発見よりも回復を遅らせてください。すべての出来事の理由、開始、最大重症度、回復状況を記録してください。
タイムスタンプとフィルタリング遅延を考慮する
エンコーダカウンタ、ドライブフィードバック、IMU、スキャンマッチングは異なるクロックやフィルターウィンドウを使うことがあります。現在の車輪速度と遅延走査速度を比較すると、スリップに似た加速度型残差が得られます。
ロボットのタイミングワークフローで取得タイムスタンプと輸送遅延を検証します。しきい値や共分散モデルを当てはめる前に信号を整列させてください。
操縦、階、ペイロードを横断して検証
直線的な動き、大きくてタイトなコーナー、加速、ブレーキ、しきい場、ランプ、濡れた場所やほこりの多い場所、そしてペイロードの極端な部分をテストします。実用的な場合は独立した軌道や速度を基底の真実で使う。系統的なスケール誤差とイベント駆動のスリップを分離する。
軌道誤差、残差分布、検出器の精度とリコール、共分散の整合性、回復時間、下流ナビゲーションの評価を行います。滑らかな融合経路でも統計的に過信になることがあります。
生データと明確な故障時の処理方針に基づいて運用する
エンコーダの数、ホイールの状態、コマンド、モーター電流、IMU、比較ソース、残差、共分散モード、タイムスタンプを記録します。最終ポーズだけに頼らず、イベントを再生できるだけの生の証拠を保存しましょう。
簡潔なチェックリストとともにリリースしましょう。
- まず車輪半径と有効トラックを調整してください。
- フレーム、クロック、フィルターディレイをアライメントします。
- 複数の独立した残差からのずれを検出します。
- 方向性共分散をスナップせずに適応させることができます。
- 実際の表面での検出、回復、融合の一貫性を検証します。
よくある質問
車輪のオドメトリー共分散はゼロになり得ますか?
実際の車輪の正確な見積もりはありません。データに裏付けられた不確実性を公表し、ゼロ値は消費者にとって予期せぬ解釈も受けることがあります。
IMUはすべてのホイールスリップイベントを検出できますか?
いいえ。独立した角度や加速度の証拠を加えますが、一定動作時にはバイアスやノイズ、感度が弱いことがあります。
効果的なトラックは常に物理的な車輪間隔ですか?
多くのスキッドステアシステムではそうではありません。タイヤスクラブは、運動学的価値を路面、速度、荷重に依存させることができます。
スリップ中にグローバル SLAM ポーズはオドムを上書きすべきでしょうか?
通常はそうではありません。オドムを連続させ、意図されたマップからオドムへの関係を通じてグローバル補正を適用します。
定規でホイールの半径を測るだけで十分でしょうか?
それは初期値です。代表的な荷重および表面条件下で、走行距離からの有効転がり半径を校正します。
運動推定と融合境界
適応共分散はトラクションコントロール、機械修理、適切な安全機能の代替ではありません。推定量とロボット応答を同時に検証します。