運用IMU提升機器人定位性能: 精準導航的基礎技術
運用IMU提升機器人定位性能: 精準導航的基礎技術
作者:ADI 系統應用工程師Sarvesh Pimpalkar
摘要
本文探討慣性測量單元(IMU)感測器在機器人定位上扮演的關鍵角色,並詳述其關鍵利益。IMU能提供關鍵的動作數據,故成為協助機器人精準定位的關鍵元件,其內部整合了加速計、陀螺儀、以及磁力計,藉由提供即時的反應,讓機器人能精準判斷其方向、位置、以及動作,進而在持續變化的環境中導航前進。感測器融合技巧結合了IMU數據與其他感測器,包括像攝影機與光達,統整多種資料來源,藉以提升定位的精準度。IMU廣泛用於行動機器人、無人航空載具(UAV)、以及虛擬實境/擴增實境等領域。其促成精準定位的能力讓機器人能自主執行各種複雜任務,並在所處環境中進行高效率的互動。本文便將探討在各種AMR各種嚴峻環境運作時的IMU使用情境,以及IMU扮演關鍵角色促成精準的定位。
介紹
自主移動機器人 (AMR) 對於未來的智慧工廠與倉庫十分重要,同時也扮演著核心角色來塑造自動化、永續、潔淨工廠的未來面貌。AMR能在工業環境中提升效率、減少浪費、以及優化資源使用率。雖然未來的工廠可能針對在其內部運作的AMR量身打造與優化,但若是要在現有的倉庫和工廠中採用這些機器人將會面臨到許多挑戰。AMR的主要障礙涉及到兩項關鍵要素: 高效率的路徑規劃(判斷最佳路徑)以及精準定位(持續更新在環境中所處的位置1。
本文專注探討在收不到GPS訊號的封閉環境中如何進行室內導航。自主移動機器人採用各式各樣的感測器與演算法來進行定位與導航,其中包括攝影機、光達、雷達等視覺感測器,以及輪速編碼器與IMU里程計。每種感測器模態在距離、精度、以及感官資訊方面都有各自獨特的優勢。結合這些感測器可確保獲得全方位的資料,進而在動態環境中進行高效的機器人定位。完全自主運行需要用到各種類型的感測器,透過本文,將為您剖析AMR各種使用情境以及所處的高挑戰性環境,以及IMU如何協助精準定位,這對於導航與自主運行都非常重要。
什麼是 IMU?
IMU是一種微型化裝置,由各種微機電系統(MEMS)元件構成。其通常包含以下組件:
- 三軸加速計 : 加速計會量測相對於地球重力場的加速度。在IMU中,三軸加速計用來量測x、y、 z 軸的數據 (如圖1所示)。
- 三軸陀螺儀 : 陀螺儀量測旋轉速率,提供三個軸向的角速度數據。三軸陀螺儀能量測機器人在三個軸向(ωx, ωy, ωz)上的角速度(如圖2所示)。
- 高性能磁力計 : 提供磁場量測,對於在持續變化的環境中進行精準方位估算十分重要。儘管並非熱門選項,但在一些既有IMU中確實配備了磁力計。
- 其他:溫度感測器則是用來補償溫度導致的數據波動,協助氣壓計量測壓力。
IMU的功能模塊圖
- 典型 IMU不僅內含陀螺儀、加速計、溫度感測器,還配備了類比轉數位元件,主要是用於擷取量測數據以及進行溫度補償(如圖3所示)
- IMU 配備初步濾波演算法,像是搭載FIR(有限脈衝響應濾波)
- 校正與補償機制,能修正任何對位誤差與感測器偏差
- 使用者可選擇調整IMU模組內部軸旋轉角度(dƟ)使其和機器人的座標系對齊,然後再傳送最終數據
為何IMU對AMR有益?
- 在機器人運行的環境中,自主運行與即時導航是關鍵的要素。然而,各種感知感測器通常在受限的更新率下工作,其範圍約在10 Hz至30 Hz之間。相較之下,IMU功能便獲得大幅躍進,能提供高傳真的輸出定位,最高達到200 Hz的更新率。更高的更新能顯著提升系統的可靠度,因為其能在動態環境中能對快速的方位變化迅速做出反應。另外,加快的更新率亦讓AMR能在其他量測器短暫的間隔期間內及時提供姿態預測。因此,在達成即時定位上,IMU扮演著核心的角色,可憑藉快10倍的更新率超越各種感知感測器。
- 航位推算(Dead reckoning): IMU扮演航位推算的骨幹,此種導航技巧是根據先前已知的位置來推測目前的位置。由於能長時間持續提供位置、方向、以及速度等資料,因此IMU能達到精準的推測,進而為AMR提供可靠的導航功能。
- 精巧尺寸與重量: IMU精巧尺寸與輕量化設計,使其適合整合到各種行動機器人組態。舉例來說, Analog Devices 的 ADIS16500其底部尺寸僅為33.25 mm × 30.75 mm,將確保能高效率地置入產品內部而不致於影響機器人的行動能力。
- 在多元環境的強韌性: IMU相對之下更能耐受電磁干擾,因此能在各種環境中工作,其中包括戶外與室內環境,這使其適合種類眾多的應用。
- 透過加快更新率提升可靠度: 感知感測器的更新率通常限制在約10 Hz 至30 Hz,IMU性能明顯高出一截,提供4 kHz 原始資料傳輸率的高傳真位置輸出資料。提高的更新率能提升可靠度,尤其是在各種動態環境下使 AMR能快速做出反應,協助在其他量測的短暫間隔期間預測機器人的姿態。
在沒有視覺感測器的情況下為何IMU對AMR十分重要
如圖4所示,AMR通常配備了各種視覺感測器,像是飛時測距(ToF)、攝影機、光達等。儘管視覺里程計提供了豐富的資料集,但業界對IMU的需求仍然存在。以下為各種優勢探討的背景:
- AMR 能在特徵很少的走廊中進行導航: 同時定位與地圖建構(SLAM)本質上是透過匹配觀察到的感測器資料來運行的,這些儲存在地圖的資料,用來在地圖中找到自己所處位置。當AMR行經一條很長的走廊(如圖5所示),必然很快會跟丟定位。由於缺乏明顯的特徵物,像是全都是筆直的牆面,而且顏色、材質、反射光線都很均勻,SLAM就難以精準定位。在此種情況下,IMU就扮演寶貴的指引系統,提供航向與方位的資訊。
- 在廣闊開放環境中導航 : 距離限制:當在如大型倉庫(50公尺 x 50 公尺)廣大的開放空間中運行時,AMR會有定位困難的問題,因為特徵物體大小會超過感測器的量測距離(光達的最大量測距離約為10至15公尺)。如圖6所示,在廣闊空間中由於找不到參照物,因此AMR的里程計無法校正誤差而中斷量測的連續性。此外,倉庫中通常缺乏具有特徵性的參照物,使得視覺感測器面臨許多困難。在此種情境下,IMU與輪速編碼器是精準本地定位唯一可靠的訊息來源。
- 在斜坡上導航:在斜坡上行進時,依賴光達的傳統SLAM演算法會面臨挑戰,因為二維點資料不會顯示梯度資訊。因此,斜坡會被誤解為牆壁或障礙物,造成更高代表的地圖。因此,採用2D系統的傳統SLAM方法在斜坡上效率不彰。IMU則能協助克服這項挑戰,藉由擷取梯度資訊(如圖7所示)有效地在斜坡上進行導航。
- 導航時的環境因素 : 對環境因素敏感:光達感測器易受各種環境因素影響,包括環境光線、灰塵、煙霧、雨滴等。這些因素會減損感測器資料的品質,進而影響SLAM演算法的性能。類似的情況,其他感測器模態也會受到反射表面與動態移動物體(其他AMR或工作人員)影響,進而混淆SLAM。表1歸納環境如何影響不同的感測器模態。IMU能在各種環境中可靠地工作,使其成為各種行動機器人的多功能選項。
感測器或模態 | 受光線不良的影響 | 受動態移動物的影響 | 受反射光線表面的影響 | 依賴場景中幾何結構複雜的物體 |
標準RGB 攝影機 | 是 | 是 | 否 | 否 |
飛時測距 | 否 | 是 | 是 | 是 |
光達 | 否 | 是 | 是 | 是 |
雷達 | 否 | 是 | 是 | 是 |
輪速里程計 | 否 | 否 | 否 | 否 |
IMU | 否 | 否 | 否 | 否 |
然而,沒有感測器才是最完美的!
雖然IMU具有許多益處,但也涉及許多風險從而衍生各種挑戰2:
- 雜訊 : IMU量測會受雜訊影響,雜訊會減損機器人導航與控制的精準度。為對雜訊進行補償,IMU通常採用先進的濾波技巧,如卡爾曼濾波或有限脈衝響應濾波。
- 誤差: IMU感測器會產生長時間累積誤差,進而導致方向與動作預測的偏差。為解決此項問題,通常會用誤差估計演算法來持續更新IMU感測器的讀數。
- 非線性: IMU感測器會呈現出非線性行為,導致資料處理與解讀作業變得複雜。為了補償非線性便需要對感測器進行校準,透過建立模型來描述感測器的行為,進而計算出適合的校正值。
- 隨機遊走 : IMU易受外部熱機械事件影響,這些事件會導致ARW—角隨機遊走(在陀螺儀)與VRW(速度隨機遊走)(在加速計)的誤差。
我們要如何消弭這些風險?答案便是感測器融合!
- 感測器融合如何帶來幫助?
- 提高可靠度.
- 提升數據的品質
- 更精準預估各項未量測的狀態
- 提高覆蓋範圍進而確保安全
- 感測器融合演算法的重要性:
- 如擴展式卡爾曼濾波等狀態預估技巧,能校正自主移動機器人運作時的雜訊、角度隨機遊走(ARW)、以及偏置不穩定誤差。
- 藉由量測地球重力造成的加速度來消除IMU內部陀螺儀的俯仰與橫滾誤差。
- 演算法能和與校正偏置漂移,並修正ARW錯誤
- 擴展式卡爾曼濾波(EKF):
- 即使在無法掌握模型系統的精準性質下,仍能推測過去、現在、以及未來的狀態。圖8顯示擴展式卡爾曼濾波的簡化示意圖
- 長時間持續量測,包括高斯白噪音或其他不精準性,並藉由統合各感測器的量測數據,推測未來的量測數據。
- 預測姿態與估計誤差
- 預測與更新預測值的不確定性
- 感測器融合:
- 在運行著機器人作業系統(ROS)的典型系統中,視覺感測器連同IMU以及輪速里程計(如圖9所示),透過一款名為robot_localization的熱門開源式ROS套件進行融合3,此款套件的核心採用的是擴展式卡爾曼濾波(EKF)演算法。此套件能融合數量不受限的感測器,並能接收來自IMU、輪速、以及里程計等感測器所輸入的數據。robot_localization輸出的位置姿態數據,除了機器人的三維位置與方向之外,包含線/角速度與加速度也會全數饋送到SLAM演算法。位置姿勢輸出資料則以下列格式表示:
Pose State = (X, Y, Z , roll, pitch, yaw, X˙, Y˙ , Z˙, roll˙, pitch˙, yaw˙, X¨, Y¨, Z¨).
- 在運行著機器人作業系統(ROS)的典型系統中,視覺感測器連同IMU以及輪速里程計(如圖9所示),透過一款名為robot_localization的熱門開源式ROS套件進行融合3,此款套件的核心採用的是擴展式卡爾曼濾波(EKF)演算法。此套件能融合數量不受限的感測器,並能接收來自IMU、輪速、以及里程計等感測器所輸入的數據。robot_localization輸出的位置姿態數據,除了機器人的三維位置與方向之外,包含線/角速度與加速度也會全數饋送到SLAM演算法。位置姿勢輸出資料則以下列格式表示:
運用ADI IMU如何協助解決這些挑戰?
Analog Devices 針對包括行動機器人在內的應用推出多款IMU,其具備以下獨特的價值主張:
- 內建校正功能: ADI的IMU具備廠方完全校正的加速度計與陀螺儀,能掌握的參數包括靈敏度、偏置、對齊、以及陀螺儀在測量線性加速以及搭配加速度計的偏置。內建的動態偏置校正機制,能配合降噪功能,有效補償電源電壓、溫度、磁性干擾等因素造成的誤差 4。這使得用戶能明顯降低系統整合時間以及獲取成本,加快各種工業應用在不同條件下建置精準感測器量測功能的整體作業時間。
- 低雜訊高頻寬的類比數位轉換器(ADC):以高精準度與高頻寬擷取感測器數據,確保可靠且即時回應的運作。
- 高精準度 : ADI的IMU提供精準的方位、動作、速度等量測功能,讓機器人能根據資訊做出決策,在周圍環境中精準地導航。
- 低功耗: 行動機器人通常以電池為動力來源,因此低功耗對於延長其操作範圍非常重要。ADI 的IMU效率極高,能有效降低功耗進而延長電池續航力。
- 精巧尺寸: 為了能置入行動機器人有限的內部空間,ADI 旗下的IMU元件皆考量了精小規格的目標。這也讓客戶能輕易將元件整合到各種機器人組態中,而不須擔心效能受到影響。
- 易於整合: 容易和機器人的控制系統進行整合,對於無縫運行十分重要。ADI的IMU開發板結合了開源式ROS節點,使用戶能輕易整合,以組建自主移動機器人。
總結
IMU是自主移動機器人進行定位的必要元件,因為IMU除了能測算方向與追蹤動作外,還需藉由高更新率來進行即時反應,讓自主移動機器人能在動態環境中導航。類似卡爾曼濾波器這類感測器融合技巧能結合其他模態的感測器,進一步彌補各自功能的侷限性,而ADI則是推出了種類眾多的IMU,將協助因應各種行動機器人應用的特定需求。
參考電路
1 Shoudong Huang and Gamini Dissanayake. “Robot Localization: An Introduction.” John Wiley & Sons, Inc., August 2016.
2 Oliver J. Woodman. “An Introduction to Inertial Navigation.” University of Cambridge, August 2007.
3 robot_localization 2.6.12 documentation. Tom Moore, 2016.
4 Randy Carver and Mark Looney. “MEMS Accelerometer Calibration Optimizes Accuracy for Industrial Applications.” EE Times, October 2007.