Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

Encoder

  • 又稱: Rotary Encoder, Position Encoder, Magnetic Encoder, Optical Encoder, Absolute Encoder, Incremental Encoder, Quadrature Encoder
  • 類別: Sensing › Proprioceptive
  • 標籤: sensors, feedback

把位置或運動轉換成數位訊號、用於回饋控制的感測器。

定義

編碼器是將位置或運動轉換為電訊號的感測器。類型包括光學式、磁性式與電容式。絕對式編碼器提供確切位置;增量式編碼器追蹤相對移動。是精確馬達控制不可或缺的元件。

為何重要

編碼器是機器人得知自身身體位置的方式。沒有編碼器,控制器可以命令馬達,卻無法確認結果,因此所有下游能力,包括閉迴路位置控制、正向運動學、里程計,以及從馬達電流估計力,都建立在它之上。絕對式與增量式編碼器的區別,是機器人設計中影響最深遠的選擇之一:絕對式編碼器一開機就知道自己的角度,而增量式編碼器只計算變化量,每一次都必須以極限開關或機械限位進行歸原點。

主要應用

  • 關節位置回饋:在伺服馬達與工業致動器中形成閉迴路
  • 輪式里程計:計算每圈的計數,估計移動底盤走了多遠
  • 速度估計:對位置隨時間微分,形成速度控制迴路
  • 歸原點與校正:在啟動時為增量式系統建立已知的零點
  • 背隙與磨耗診斷:比較指令位置與量測位置,偵測機構鬆動
  • 手輪與寸動旋鈕:把操作員的輸入轉換成離散、可計數的步階

實際應用

打開 Feetech STS3215 或 Dynamixel 伺服機的外殼,你會看到輸出軸上有一個小磁鐵,位於磁性編碼器晶片上方,能在整圈範圍內提供絕對位置,這就是那些手臂無論在什麼姿態下開機,都能立即回報關節角度的原因。輪式機器人則採用相反的配置:每個驅動馬達上的正交編碼器計算脈衝數,軟體再把這些計數積分成行進距離。正是這個積分讓輪式里程計產生漂移,也是它幾乎總要與 IMU 融合、或以 SLAM 修正的原因。

常見誤解

  • 所有編碼器都知道自己的絕對角度:增量式編碼器只計算變化量,斷電後就會失去所有位置資訊
  • 每圈計數越多,控制就一定越好:超出機構與控制速率所能利用的解析度,只會增加雜訊與成本,而不會提高精度
  • 編碼器位置等於末端執行器位置:編碼器與工具之間的一切,包括減速箱背隙與連桿變形,都在迴路之外
  • 光學與磁性編碼器可以互換:光學式提供更高的解析度,但怕灰塵與油汙,磁性式則能承受髒汙環境與振動

誰需要了解

  • 任何在除錯機器人回報錯誤關節角度、或在重複移動中產生漂移的人
  • 指定致動器規格的工程師,編碼器類型決定了歸原點的行為與啟動程序
  • 為移動底盤撰寫里程計或航位推算的開發者
  • 學習為什麼正向運動學與實體機器人對不上的學生
  • 任何在評估機器人能否在意外斷電後安全恢復工作的人

相關技術

  • 光學編碼器碼盤
  • 磁性編碼器(AS5047、AS5600)
  • 解角器
  • 霍爾感測器
  • 正交解碼
  • BiSS-C 與 SSI 串列協定
  • 線性編碼器/光學尺
  • 索引脈衝歸原點

相關術語

  • Servo Motor
  • IMU
  • Slip Ring

相關專案

  • Gazebo: Industry-standard open-source robotics simulator with multi-physics and ROS integration

影片

  • How Rotary Encoder Works and How To Use It with Arduino: How To Mechatronics

維基百科

  • 旋轉編碼器

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。