什麼是里程計?


在像 Robo-Rat 競賽這樣的搜尋和檢索挑戰中,機器人瞭解自己的位置至關重要。知道你在哪裡可能看起來並不困難,但正如你將看到的,它實際上可能非常困難。人們可以使用他們敏銳的視覺、長期記憶和對周圍環境的意識來定位自己。然而,機器人天生並不具備這些複雜的能力,特別是您將在本課程中開發的那些機器人。里程計是機器人用來定位其周圍環境的一種技術。

什麼是里程計?

里程計是指使用運動感測器測量機器人相對於給定位置的位置變化。例如,如果一個機器人直線向前移動,並且知道其車輪的直徑,它可以透過計算車輪旋轉次數來確定它已經移動了多遠。機器人的驅動輪通常配備有軸編碼器,每個旋轉產生預定的脈衝數。這些脈衝由 CPU 計數,CPU 可以計算出行駛的距離。

示例

  • 想象一個機器人在車輪或腿部關節上裝有旋轉編碼器。在向前移動一段時間後,它會停下來詢問它已經移動了多遠。如果它知道車輪的直徑並且可以測量車輪旋轉了多遠,它就可以計算出距離。

  • 里程計也常用於火車運營。當火車位於兩個固定感測器之間時,通常使用里程計來確定火車的相對位置,而穿過軌道上的固定感測器通常會為火車提供其絕對位置。

用途

  • 里程計可以與位置估計器一起使用,以提供更好的估計。

  • 由於機器人足夠穩定以能夠識別地標,因此它們被用於在受限區域進行測繪。

  • 當沒有其他來源可用時,有幾種情況除了里程計之外沒有其他導航資料可用。

侷限性

儘管里程計是移動機器人常用的一種位置感測器,但它也存在一些缺點。由於它是一種累積測量,因此任何感測誤差都會隨著時間的推移而加劇。為了避免錯誤的顯著累積,機器人可能需要偶爾使用其他感測器來識別其精確位置。

移動機器人應用中的一個關鍵問題是車輛的精確定位。為了實現自主導航,機器人必須持續瞭解其位置。因此,研究人員和工程師建立了許多方法和系統用於移動機器人定位,包括輪式里程計、雷射/超聲波里程計、GPS、GNSS、慣性導航系統 (INS) 和視覺里程計 (VO)。

里程計誤差可能是由以下原因造成的:

  • 車輪直徑測量錯誤
  • 具有不同車輪直徑的多輪驅動系統
  • 使用驅動軸編碼器時脈衝計數出現問題
  • 里程計處理速度慢(僅考慮累積計數,不考慮動態計數差異)。

里程計的工作原理


上圖顯示了差動驅動機器人的兩條可能的運動路徑(每個輪子由單獨的電機驅動)。編碼器值位於輪子旁邊。在左圖中,機器人沿直線移動,確保編碼器值始終相同。然而,右邊的機器人遵循蛇形路徑。當綠色輪編碼器讀數為 80 而紅色輪編碼器讀數為 40 時,機器人正在向右轉彎。

然而,即使機器人在遵循 S 形曲線時行駛了更長的距離,機器人最終位置的編碼器讀數也相同,因為它們大於左側的讀數。這是因為機器人隨後向左轉彎。如果您的控制程式僅考慮最終位置的編碼器,它會認為機器人沿直線移動。這就是為什麼緩慢的編碼器處理會導致錯誤的原因。除非您的機器人機械地保證沿直線移動,否則您應該儘快處理里程計資訊。

如何減少里程計誤差

  • 窄輪距車輛更容易出現方向錯誤。
  • 同步驅動架構提供了更精確的里程計。
  • 用於里程計的車輪應薄且不可壓縮。
  • 承載相當大一部分重量的轉向輪容易滑動。

結論

總而言之,里程計是跟蹤機器人絕對位置的過程。運動演算法可以使用此資訊來驅動到位置或轉向絕對角度。

更新時間: 2022年10月28日

2K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.