工業技術研究院 資訊與通訊研究所 洪權甫 王思涵 張鈞為
該如何讓 AMR 具備室內、戶外之間通行無阻的能力,是目前所面臨的技術挑戰。
前言
隨著無人載具感測定位技術日漸成熟,以自主移動機器人(Autonomous Mobile Robot, AMR)取代傳統人力服務是大勢所趨。但由於市面上大多數AMR並未具備戶外精準定位技術,導致使用情境僅侷限於室內場域。本文將著墨於 AMR 從室內拓展至戶外之技術挑戰與策略,同時以兩個應用案例佐證工研院資通所的AMR可運行於戶外複雜場景。
精彩內容
1. 自主移動機器人定位導航系統 2. 二維/三維光達定位技術 3. 戶外型自主移動機器人之挑戰與策略 4. 自主移動機器人場域應用 |
自主移動機器人定位導航系統
在進入主題前,需先了解相較於一般傳統移動機器人,AMR 是如何具有自主能力。傳統型機器人主要仰賴物理性或機電性的導引(如色帶、磁軌等)於場域內進行固定路徑之移動;而 AMR 則可擺脫上述限制,藉由感知模組偵測周遭變化,使其可運行於具有隨機性及未知性的半開放環境 [1]。
一個完整的 AMR 任務流程為:後台管理系統指派任務資訊,其中包含了 AMR 需要執行的任務指令、目的地座標點等相關訊息,執行任務的同時,AMR 身上所裝設的感測器(如光達、相機等)會不間斷地發送感測資料予 AMR 進行狀態更新,使 AMR 得以動態規劃及校正執行過程直至完成任務,需特別注意所有與任務指令相對應的行為動作都必須預先設計在 AMR 的系統架構裡。
為了更清楚地說明,利用一個簡單的移動任務作為例子。
- 首先,後台管理系統需要告知 AMR 此移動任務的目的地座標為何。
- 緊接著透過定位系統計算在同一座標系下 AMR 當前所處的位置訊息。
- AMR 的導航模組於接收到定位系統提供的座標轉換關係及感測器的障礙物偵測資訊後,便會開始規劃移動路徑及計算瞬時速度指令,並將此速度指令發送至底層控制器轉譯成數位訊號驅動底盤動力組件,AMR 進而產生移動能力。
藉由在 AMR 移動路徑規劃的規則裡添加了障礙物參數,導航模組即可納入周遭障礙物的偵測訊息並計算出不會發生碰撞的移動路徑,使得 AMR 具備自主避障的移動能力。上述步驟 2 及步驟 3 會根據設定的感測及控制頻率持續遞迴執行直至 AMR 抵達目的地座標。
從上述的介紹可以清楚得知定位系統是 AMR 整體架構的基石,AMR 必須無時無刻知道當下所在位置資訊,否則導航模組便會根據錯誤的資訊計算出不正確的行為動作。如何確保於戶外複雜場景下也能夠獲得正確的定位訊息,是讓 AMR 從室內環境拓展至戶外場域最大的技術挑戰,後續將針對主流的二維/三維光達定位演算法進行技術剖析,並探討為何戶外場域推薦使用三維光達定位技術。
二維/三維光達定位技術
光達定位技術最著名的便是同時定位與地圖建置(Simultaneous Localization and Mapping, SLAM) [2, 3],是一種於未知環境中同時定位及建立地圖的方法,幫助 AMR 了解周圍環境並確定自己位置,並涵蓋了眾多的二維與三維演算法。基本工作原理如下:
- 發射光脈衝:光達會發射光脈衝光束,這些光束會快速地水平掃描周圍環境。
- 接收返回信號:光脈衝光束照射到物體表面後會反射回光達,光達接收這些返回的光脈衝,並記錄它們的時間和方向資訊。
- 距離計算:通過計算光脈衝光束從發射到返回的時間差,可以得到光達與物體之間的距離。
- 地圖建模:光達會將這些測量得到的點數據匯聚在一起,利用建圖演算法創建出周圍環境的二維或三維參照地圖。這個地圖包含了物體的位置、形狀和大小資訊。
- 定位計算:當 AMR 或自動駕駛車移動時,光達持續地掃描周圍環境,並將新的點數據與參照地圖進行比對。通過對比新的測量點與地圖上的特徵,定位演算法可以計算出 AMR 在地圖中的位置。
1. 二維光達定位技術
目前市面上已有很多成熟的二維光達定位技術應用,如掃地機器人、送餐機器人及機場導覽機器人等。最常見的建圖與定位演算法分別為地圖建構演算法(Grid Mapping, GMapping)及自適應蒙特卡洛定位(Adaptive Monte Carlo localization, AMCL)。以下分別介紹:
GMapping
二維SLAM 演算法中所包含的GMapping [2]是 AMR 移動的第一步,首先需要先有地圖,才能開始出發冒險,因此GMapping利用Rao-Blackwellized 粒子濾波器將光達得到的資訊經計算轉換為二維柵格地圖。圖 1 為 GMapping 建圖流程,隨機放置了一些預測粒子在環境中,每顆粒子都包含自身的位置訊息。隨著 AMR 的移動,校正保留權重較高的粒子,根據粒子的軌跡和觀測資料計算相對應的位置,通過移動,最終建構出二維柵格地圖,其中重取樣則是為了消除粒子濾波器中粒子退化問題。
圖 1 GMapping建圖流程
AMCL
AMR 有了地圖之後,要如何透過地圖來知道自己在地圖的哪裡呢? 就是要透過AMCL [3] 搭配地圖和環境資訊來找出自己的位置。AMCL 是目前經典且依然熱門的定位演算法,其定位過程示意如圖 2,圖中模擬了 AMR 進行 AMCL 定位時粒子的更新過程,AMR 下方就是粒子位置的分布圖,可以看到粒子隨着 AMR 的移動會逐漸地更新收斂到 AMR 的正確位置上,進而得以推估出 AMR 的位置。在 AMCL 演算法示意圖中,當 Time=0 時,AMR 初始位置在第一個門前,會發現三個門前的粒子權重值都比較高,這是因為粒子觀測環境於有門的位置上是和 AMR 所在位置較為相似,因此有門的區域粒子權重較為高,隨著 AMR 的移動,往前一段距離 A,所有粒子也都往前距離 A。當 Time=1 時,會發現 AMR 處於沒有門的位置,因此沒有門的區域粒子權重將變為最高,Time=2 時漸漸能夠利用粒子權重計算出 AMR 位置(紅色高峰處)。
圖 2 AMCL演算法示意圖
圖 3 AMCL演算法流程圖
圖 3 是 AMCL 演算法流程圖,首先需要環境資訊也就是地圖和光達資訊用來觀察環境、里程計(Odometry)[1] 資訊來得知 AMR 的移動方向和初始位置。粒子將會撒滿整張地圖,經過 AMR 的移動和迭代計算後,會輸出偏航校準、粒子分布和優化過後的 AMR 位置,此時會將優化過後的 AMR 位置回傳給初始位置。AMCL 計算過程中散布隨機粒子的數量是經由動態計算來決定的,因為當粒子收斂後,已大致推算出 AMR 的位置,粒子的數量就不需要那麼多了,因此 AMCL 演算法能夠節省不少運算資源。
(註釋 [1] 里程計是使用來自感測器或馬達編碼器搭配該機器人的運動學推算出位置隨時間的變化。輸出的資訊有機器人移動後當前的位置和當前速度。)
2. 三維光達定位技術
光達定位技術上的環境感知能力都是與光達資料量正相關,二維光達擁有的資訊量僅限於平面,而三維光達擁有更高的資訊豐富度,主要差異為感測器的垂直視野範圍(Vertical field of view, VFOV),例如 Velodyne LiDAR PUCK™ VLP-16 為 16 通道30° VFOV,相較於水平角度解析度差不多的二維光達 Sick NAV210-10100 多了 15 個平面的資料量。這些資料常稱它們為「點雲」,本章節將針對三維點雲定位進行技術探討。目前的三維點雲定位技術大致可區分為三種方法,分別為基於點雲配對方法、基於點雲特徵方法及基於點雲深度學習方法,本文將著重針對最為經典且成熟的基於點雲配對方法進行介紹,並概述基於點雲特徵方法。
基於點雲配對方法
此方法通常會需要預先擁有點雲地圖,並將當下透過三維光達得到的即時點雲,透過點雲配對的方式找出該即時點雲位於點雲地圖的相對位置,進而透過座標轉換得到最終的全局座標。當中具有代表性的點雲配對演算法有迭代最近點法(Iterative closest point, ICP) [4, 5] 與三維正規分布變換法( Three-dimensional normal distribution transform, 3D NDT) [6, 7, 8] 。
ICP演算法主要透過最小化原始與目標點雲之間的誤差量做迭代以達成點雲配對,論文 [9] 針對ICP演算法的變體做了統整與分析,並且總結出ICP演算法匹配所需的六個步驟,分別為:(1)選擇:在一個或兩個網格中選取一組點集合。(2)匹配:將這組點集合與另一個網格匹配。(3)加權:為點對點之間分配權重,愈遠權重愈低。(4)排除:針對權重排除有異常的點。(5)誤差評估:針對原始點集合與目標點集合的誤差評估。(6)最小化:最小化前面評估的誤差值。
3D NDT 演算法與 ICP 演算法類似,都是針對原始與目標點雲做迭代找出最小誤差位置,而經典的 ICP 演算法誤差計算為對應點之間距離的平方和,3D NDT 演算法則是機率密度函數。論文 [7, 8] 針對 3D NDT 演算法匹配方法提出了偽代碼,為了介紹方便將以論文 [6] 提出的匹配過程做描述,並將「從三維光達當下取得到的點雲」簡稱為「當前點雲」。3D NDT演算法匹配有八個步驟,分別為:(1)取得 3D NDT 參考點雲 。(2)讀取當前點雲,並且設定初始位置。(3)依論文 [6] 提到的匹配參數對當前點雲做三維座標轉換。(4)針對當前點雲做 ND voxel(Normal Distribution in a voxel)處理。(5)透過牛頓法更新匹配參數。(6)判斷匹配參數是否達到收斂條件,如有跳到第七步,反之第三步。(7)將轉換後的當前點雲做為參考點雲。(8)回到第二步。
ICP 演算法與 3D NDT 演算法在點雲配對上都有很好的效果,透過點雲配對後的轉換矩陣即可用於定位應用,論文 [10, 11] 提到 3D NDT 比典型的 ICP 來的效果好與收斂快速。值得注意這兩種演算法各自有許多的變體,例如可以透過 Nvidia CUDA 加速的Voxelized GICP [12] 以及 OpenMP-boosted NDT 方法 [13] ,如讀者有興趣可以自行深入研究。
基於點雲特徵方法
三維點雲特徵是指在三維空間中可識別且具有一致性的區域,例如角點和平面。它們在物體檢測和定位任務中被廣泛使用,能夠表示具有獨特特徵的區域,例如 PoseMap [14] 。這些特徵通常使用稱為特徵描述符的向量來表示,特徵描述符能夠將特徵在不同點雲之間進行匹配。透過找到足夠且一致的匹配,可以計算不同掃描之間的變換,進而建立測距測量。三維點雲特徵的提取和匹配是三維定位方法中的重要步驟,能夠幫助 AMR 精確地識別和追蹤物體,從而實現準確和穩定的 AMR 定位。
戶外型自主移動機器人之挑戰與策略
儘管二維光達定位演算法在大多數的室內場景能有不錯的定位效果,但仍舊伴隨著一些先天技術上的限制,導致AMR只能獲得周遭物體單一高度的資訊,無法偵測高於或低於二維光達架設水平高度的障礙物,例如:懸空物體、路面低矮突出物,進而使AMR在人群中移動時產生安全上的隱患;此外二維光達定位演算法對於平面特徵較不明顯的環境容易產生無法準確定位之缺點,例如:環境單調、長廊效應區域、戶外部分角度或距離超出感測器可感測之環境,特別是在大型的工業廠區,場景會是相同的走道、相同的機台、相同的貨架,以及超出二維光達有效感測距離的長廊;同時戶外相較室內環境缺乏大範圍的牆壁資訊,在固定水平高度上很難有可以參照的特徵訊息供精準定位。
為了改善二維光達定位演算法之缺陷,多數會與其他感測器所提供的感測訊息融合使用,如里程計、慣性測量單元,然而這些額外感測訊息會隨運行時間產生累積誤差。當融合後的感測資訊無法準確反映周遭環境時,演算法就容易產生定位飄移,導致AMR不在所設定之路線上移動,看起來像是迷路的孩子;也因此在上述場域中會傾向使用三維光達收集點雲數據,供三維定位演算法來實現更全面的環境感知和定位能力。但透過三維光達定位技術在大範圍戶外場域精準定位會遭遇下述三項挑戰:
- 錄製場域完整的點雲資料並建立三維參照地圖,因三維資料量龐大,建圖演算法需要長時間的計算迭代。
- 建圖成功率會因場域增大而隨之下降。
- 三維定位演算法需要等待較長時間讀取點雲參照地圖,故需要較大的隨機存取記憶體(Random-access memory, RAM)供存取。
為了克服三大挑戰,工研院資通所研發圖資建置/縫合技術、圖資切換技術作為對應策略;除了能夠縮短地圖建置時間及提高整體建圖成功率,也讓AMR得以具備在戶外/室內不同場域間自主定位導航之能力。
首先,利用三維光達錄製整個運行場域的點雲資料集,並透過所開發之模組離線建置整個環境點雲地圖,不但可完整利用建圖演算法,又可大幅減少因SLAM線上即時計算需求而被捨棄的有效點雲特徵資料。對於三維參照地圖上缺少的區域,可重新錄製該範圍的點雲資料集產生局部三維參照地圖,藉由縫合技術將圖資完善;尤其是在室內/戶外環境的差異,可以利用圖資建置/縫合技術將室內外地圖無縫地建置成一張完整地圖,如圖4所示。
圖 4 圖資建置/縫合技術
在面對有非連續性圖資或低電腦記憶體空間需求,亦設計圖資切換技術來實現跨樓層非連續性圖資導航的經典挑戰;此模組會於AMR抵達電梯內部時切換至目標樓層,待AMR退出電梯後,重新初始AMR在新三維參照地圖上的相對位置,從而繼續執行自主定位導航任務。圖資切換技術得以讓AMR暢行在建築物的各樓層間,使AMR不僅能在平面的室內外移動,也具備能夠在垂直的方向移動的能力。
相較於室內環境追求公分等級的定位精度,戶外場域則是追求可靠與即時性的定位能力,然而AMR在執行自主充電功能時仍舊需要高精度定位,此時就面臨了兩者之間的取捨;因此在維持可靠與即時性的定位前提下,導入AprilTag二次定位方法補足三維定位技術在定位精度上的表現,同時滿足了即時性與高精度性的需求。AprilTag二次定位方法不僅能用在自主充電,亦可應用在任何需要高精度的任務上。
以上談及了戶外型自主移動機器人之挑戰與相關策略,在硬體上將二維光達升級為三維光達,也開發相關圖資技術來建置室內外通用的三維地圖,同時導入圖資切換技術使AMR能夠運行在不同樓層,而在更高精度的定位需求上採用了AprilTag二次定位方法來優化定位表現。透過下列實際導入的應用範例,可以更直觀地了解工研院資通所AMR目前的開發成果。
自主移動機器人場域應用
1. 國家圖書館 - 自動還書AMR
國家圖書館於台北總館率先導入自動還書AMR服務,使讀者可以跳過換證進入館內步行至服務台的過程,直接在館方設定的戶外還書點歸還借閱的書籍,大幅增加還書的便利性,並且 AMR 可以在人行道上行走,如同人的行為動作,遇到人潮會避開,當有腳踏車阻擋時,會主動繞道;而 AMR 會在電量過低、還書箱滿時,自動導航回服務台,途中會隨機遭遇動態自主避障、狹窄殘障坡道、戶外/室內無縫切換等場域挑戰,其中的狹窄殘障坡道為主要克服的難題,因機身為了裝載書本設計較為龐大,為了行走狹窄的殘障坡道,需要極為精準的定位,以防碰撞坡道兩旁的扶手。圖 5 為自動還書 AMR 於實測時所發生之各種複雜情境。
圖 5 國圖台北總館場域實測
2. 統一超商 - 自主送餐AMR
與統一超商合作,在高雄軟體園區引入 AMR 日常送餐,化身為小小外送員,AMR 外送路線如圖 6,從高雄軟體園區 C 棟的統一超商裝載商品,一路行駛,經過高低斜坡、高軟園區 A 棟中庭,到達電梯區,等待搭乘電梯,可將商品送至 1 到 12 樓所有的住址。途中遇到的困難包括:上下斜坡、人來人往的群眾、搭乘電梯、玻璃門等。其中運用到了大型場域建圖技術、導航避障功能、偵測 AprilTag 進出電梯及與後端通訊之技術,成功讓 AMR 不只在平面室內移動,可以到達不同樓層及戶外空間;目前為試營運期間,後續將會擴大 AMR 運行的範圍至穿越馬路。圖 7 為 AMR 開發團隊及統一超商店員。
圖 6 AMR路線圖
圖 7 AMR開發團隊及統一超商店員(圖片來源:臺灣導報)
未來展望
根據目前的研究狀況,工研院資通所已經擁有讓自主移動機器人踏出門的能力,但我們不滿足於此,針對以下三點將持續進行突破:
- 在導航速度上我們想突破到在確保安全下超越一般人快走的速度,這代表在定位即時性與障礙物偵測會是巨大挑戰。
- 在車型上我們不想只解決差速型車款,基於現在的研究基礎下將拓展不同車型的可能性。
- 某些特殊環境下(如平面停車場、草原等特徵點缺乏的空曠場域),定位系統仍舊有定位信心度不理想,甚至是定位失敗的狀況發生。
未來可以透過上述在自主移動機器人領域上的研發成果,進而解決台灣企業目前現有的困境。
參考文獻
[1] Alatise, Mary B., and Gerhard P. Hancke., “A review on challenges of autonomous mobile robot and sensor fusion methods,” IEEE Access 8, pp. 39830-39846, 2020.
[2] H. Durrant-Whyte and T. Bailey, "Simultaneous localization and mapping: part I," IEEE Robotics & Automation Magazine, pp. vol. 13, no. 2, pp. 99-110, June 2006.
[3] T. Bailey and H. Durrant-Whyte, "Simultaneous localization and mapping (SLAM): part II," IEEE Robotics & Automation Magazine, pp. vol. 13, no. 3, pp. 108-117, Sept 2006.
[4] Y. Chen and G. Medioni, "Object modelling by registration of multiple range images," Image and Vision Computing, vol. 10, no. 3, pp. 145-155, 1992.
[5] Z. Zhang, "Iterative point matching for registration of free-form curves and surfaces," International Journal of Computer Vision, vol. 13, pp. 119-152, 1994.
[6] E. Takeuchi and T. Tsubouchi, "A 3-D Scan Matching using Improved 3-D Normal Distributions Transform for Mobile Robotic Mapping," in 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems, Beijing, China, 2006.
[7] M. Magnusson, The three-dimensional normal-distributions transform : an efficient representation for registration, surface analysis, and loop detection, Örebro: Örebro universitet, 2009.
[8] M. Magnusson, A. Lilienthal and T. Duckett, "Scan registration for autonomous mining vehicles using 3D‐NDT," Journal of Field Robotics, pp. 803-827, 2007.
[9] S. Rusinkiewicz and M. Levoy, "Efficient variants of the ICP algorithm," in Proceedings Third International Conference on 3-D Digital Imaging and Modeling, Quebec City, QC, Canada, 2001.
[10] F. Huang, W. Wen, J. Zhang and L.-T. Hsu, "Point Wise or Feature Wise? A Benchmark Comparison of Publicly Available Lidar Odometry Algorithms in Urban Canyons," IEEE Intelligent Transportation Systems Magazine, vol. 14, no. 6, pp. 155 - 173, 2022.
[11] M. Elhousni and X. Huang, "A Survey on 3D LiDAR Localization for Autonomous Vehicles," in 2020 IEEE Intelligent Vehicles Symposium (IV), Las Vegas, NV, USA, 2020, pp. 1879-1884.
[12] K. Koide, M. Yokozuka, S. Oishi and A. Banno, "Voxelized GICP for Fast and Accurate 3D Point Cloud Registration," in 2021 IEEE International Conference on Robotics and Automation (ICRA), Xi'an, China, 2021.
[13] K. Koide, J. Miura, E. Menegatti and E. Menegatti, "A portable three-dimensional LIDAR-based system for long-term and wide-area people behavior measurement," International Journal of Advanced Robotic Systems, 01 03 2019.
[14] P. Egger, P. V. K. Borges, G. Catt, A. Pfrunder, R. Siegwart and R. Dubé, "PoseMap: Lifelong, Multi-Environment 3D LiDAR Localization," in 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 2018.