車輪里程計:滑移檢測與協方差設定

車輪里程計將測量到的車輪旋轉轉換為機器人運動的估計值。它不測量相對於地面的運動。輪胎打滑、側向擦滑、變形、不平整地形和錯誤的車輪幾何形狀可能導致編碼器完美旋轉與實際平移和偏航不符。

在構建滑移探測器之前,先校正車輪半徑和有效輪距。然後將同步車輪運動與獨立證據(如 IMU 偏航率、掃描匹配、視覺里程計或馬達電流)進行比較。當存在分歧時,應降低測量信任度,而不是默默將姿勢強加給其他來源。

將此指南與 機器人編碼器指南機器人感測器融合指南一起使用。協方差必須代表測試過的不確定性,而非僅僅為了使濾波器看起來平滑而選擇的調諧數值。

將車輪里程計視為基於模型的估算

編碼器計數透過解析度和齒輪比變為車輪角度。車輪角度透過有效滾動半徑變為行程弧。差速或滑移轉向運動學將左右運動轉換為車體平移和偏航。任何鏈節誤差均進入里程計。

該模型假設車輪接觸與車體運動之間存在關係。縱向打滑違反滾動距離,而橫向打滑或輪胎摩擦則違反非全全約束。這兩者都未直接出現在編碼器計數中。

在評估融合之前,先命名運動模型、回饋源、符號、時間戳和單位。

拆解的機器人驅動輪顯示帶槽編碼盤感測器和導線
編碼器透過槽盤計數車輪的轉動,但無法直接觀察輪胎打滑或橫向地面運動。來源:Adam Mayer,維基共享資源。許可:CC BY-SA 2.0

校正左右滾動半徑

標稱輪胎半徑與有效半徑在負載、壓力、磨損、胎面和地板下的有效半徑不同。左右半徑不等會導致直線滑道上的航向漂移。透過重複的前進和倒退距離在代表性有效負載上進行調整。

釋出的ROS 2diff_drive_controller 檔案揭示了車輪半徑和側面特定半徑的倍數。使用測量參數和保持驗證,而不是複製預設值。

參數主要症狀校正運動混淆因素
共半徑距離尺度誤差長直線滑道滑移與輪胎載重
半徑不匹配直線漂移前進與反向地面坡度
有效軌道轉彎角誤差大型雙向轉彎刷洗
編碼器刻度距離與速度提升參考旋轉齒輪比
時間偏移加速度殘差計時機動濾波器延遲

辨識轉彎時的有效履歷

為了理想的差速驅動,車輪分離將速度差對映到偏航率。真實的滑移轉向車輛會使輪胎髮生側向擦滑,因此有效輪距可能與物理間距不同,並隨速度、路面和載重變化。

擬合在兩個方向和多個速率下轉動。如果一個常數無法解釋包絡線,則使用經過驗證的狀態依賴模型,或反映協方差和速度限制中的殘差。

在正確的影格中釋出姿勢和扭轉

官方的 ROS 里程錶資訊定義 指出,姿態以 header.frame_id 表示,扭轉以 child_frame_id 表示。混淆這些語意會破壞聚變,即使數字看起來合理。

遵循 REP 105描述的預期地圖、里程和基準關係。輪式里程計通常支援連續的區域性里程框架;全域修正應單獨進行變換。

從上下文中檢測縱向和側向滑移

急加速或制動可能導致驅動輪打滑或打滑。高摩擦地板上的急轉彎可能導致橫向擦洗,而閾值、斜坡、碎片或低摩擦地塊則可能導致短暫的斷裂。滑移轉向動作即使在正常控制下也包含預期打滑。

透過指令加速度、車輪轉速、 IMU 速率、馬達電流和環境對事件進行分類。單個編碼器殘差閾值無法區分校正誤差、時間戳誤差和物理滑移。

以五個步驟整理車輪里程計:滑移檢測與協方差設定的判讀重點
依正文與一手資料整理的繁體中文實務卡。來源:Physical AI Lab。

透過獨立測量構建殘差

比較車輪匯出的偏航率與校正的 IMU 偏航率,以及與掃描、目視或外部速度的車輪平移。比較必須基於相同的參考系和物理間隔。不同的濾波延遲可能導致加速時的假滑移。

使用 IMU 校正指南 來確定慣性不確定性。第二源只有在追蹤自身健康和失效模式時才有用。

殘差滑落證據替代原因交叉檢查
輪偏航減去 IMU 偏航轉向刷洗或輪滑陀螺偏置或時間偏移掃描旋轉
車輪速度減去掃描速度驅動滑移掃描匹配失敗馬達電流與 IMU
左右不對稱單輪牽引力損失半徑不匹配地表與洋流
位姿新息突增里程計故障全域感測器異常值多源門控
持續的小偏差校正漂移地板坡度或有效負載雙向路線

在改變估計值前先提高協方差

當證據表明有滑移時,車輪測量的可靠性降低了。增加相關姿態或扭轉協方差,使融合估計器能夠減輕其權重。方向很重要:縱向、橫向和偏航不確定性不一定相同。

不要編輯歷史記錄或將 Odom 姿態吸附到方向盤驅動器的全域源。這可能導致不連續,違反影格約束並使控制器不穩定。

避免重複編碼器資訊融合兩次

從相同編碼器計數計算出的姿態增量和扭轉是相關的。將兩者單獨輸入測量可能會使濾波器過於自信。確定哪些變數攜帶唯一證據,並在估計量支援時考慮相關性。

robot_localization 專案提供了非線性狀態估計節點,但正確的設定仍需感測器語意、協方差和影格紀律。

透過遲滯和持續證據恢復信任

當一個殘差低於閾值時,能立即恢復低協方差的探測器在間歇性牽引時出現抖動。需要停留時間、多個獨立的正常殘差或狀態機轉移,信心才會恢復。

在風險更有利於謹慎的情況下,恢復速度比檢測更慢。記錄每個事件的原因、起始時間、最大嚴重程度和恢復狀況。

考慮時間戳和過濾延遲

編碼器計數器、驅動回饋、 IMU 和掃描匹配可能使用不同的時鐘和濾波器視窗。將目前車輪速率與延遲掃描速度進行比較,會產生類似滑差的加速度形殘差。

透過 機器人計時工作流程驗證採集時間戳和傳輸延遲。在擬合閾值或協方差模型前對齊訊號。

跨機動、地板和有效負載進行驗證

測試直線運動、大而緊湊的轉彎、加速、制動、閾值、斜坡、溼滑或塵土斑點以及有效負載極端情況。在可行的情況下使用獨立的軌跡或速度真值資料。區分系統性尺度誤差與事件驅動滑移。

評估軌跡誤差、殘差分佈、檢測器精確率與召回率、協方差一致性、恢復時間及下游導航。平滑融合路徑仍可能存在統計學上過度自信。

以原始證據和明確的責任策略為基礎

記錄編碼器計數、輪子狀態、命令、馬達電流、 IMU、比較源、殘差、協方差模式和時間戳。保留足夠的原始證據,以便在不依賴最終姿態的情況下重放事件。

釋出時要有一份簡明的清單。

評估“車輪里程計:滑移檢測與協方差設定”時,還應儲存模型版本、機器人設定、校正檔案、測試日期和全部試驗記錄。

只有把這些持續投入與單位成功任務的價值比較,才能判斷方案是否適合擴大。

上線後仍要持續檢查分佈變化、感測器漂移、機械磨損和人工接管原因。

實際專案還應指定資料、模型、控制器和安全流程的負責人,並預先定義回復條件。責任邊界、審批記錄與變更紀錄越清楚,故障發生後越容易停止擴散、定位原因並安全恢復。

把任務拆成感知、決策、動作執行和結果確認,可以更準確地定位瓶頸。每一階段都應有獨立指標與失敗示例,避免用端對端成功率掩蓋偶發但嚴重的風險。

  • 先校正車輪半徑和有效輪距。
  • 對齊影格、時鐘和濾波器延遲。
  • 檢測多個獨立殘差的滑移。
  • 在不破壞方向位的情況下,調整方向協方差。
  • 驗證真實表面上的檢測、恢復和融合一致性。

常見問題

車輪里程協方差可以是零嗎?

沒有實際的輪盤估計是精確的。釋出有資料支援的不確定性;零值也可能被消費者意外解讀。

IMU 能檢測到每一次車輪打滑事件嗎?

不會。它增加了獨立的角度和加速度證據,但在某些穩定運動時存在偏差、雜訊和靈敏度較弱。

有效輪距總是物理輪距嗎?

對於許多滑移裝載系統來說並非如此。輪胎擦洗可以使運動學值依賴於路面、速度和負載。

全域 SLAM 姿勢是否應該在打滑時覆蓋 Odom?

通常不會。保持 odom 連續,並透過預期的對映到 odom 關係應用全域校正。

用尺子測量輪子半徑夠嗎?

它是一個初始值。在代表性的負載和表面條件下,校正從行駛距離計算的有效滾動半徑。

運動估計與融合邊界

自適應協方差不能替代牽引力控制、機械維修或適當的安全功能。一起驗證估算器和機器人反應。