黃玉龍 馮森泉 譚錦元 李金蓮 吳超瓊
摘 要:如今,在科技發(fā)展下,互聯(lián)網(wǎng)的高速發(fā)展衍生出了許多新興技術和行業(yè)。智能化的發(fā)展在各個領域中不斷涌現(xiàn),如今智能化已是社會發(fā)展的必然趨勢,而“人工智能”“機器學習”就是其中的熱門話題。目前,ROS 技術也得到了廣泛應用,ROS 被稱為機器人操作系統(tǒng)平臺,對實現(xiàn)機器人各個組件的通信有看完善的通信機制。而隨著時間的推移,ROS 的強大讓十分復雜的機器人變得越來越簡單,基于ROS 的機器人解決了組件之間的通信速率問題。文章對機器人的自主學習導航定位進行了研究,利用 ROS 機器人的激光雷達對室內(nèi)環(huán)境構(gòu)建柵格地圖,并使用 SL.AM定位等關鍵技術對位置進行即時定位與地圖構(gòu)建。該課題的研究不僅可以促進 ROS機器人的進一步發(fā)展,還可以為一些 GPS 不能覆蓋或者覆蓋較差的區(qū)域提供有力的支持,并且具有重要的理論和實際意義。
關鍵詞:導航定位;Jetson;ROS 平臺;激光雷達
中圖法分類號:TP242文獻標識碼:A
1 機器人導航定位技術的現(xiàn)狀分析
隨著經(jīng)濟水平以及科技的不斷發(fā)展,自主移動機器人成為互聯(lián)網(wǎng)人工智能產(chǎn)業(yè)的一個重要節(jié)點。而作為新興的科技產(chǎn)業(yè),室內(nèi)智能服務機器人也逐漸處于當今行業(yè)的風口浪尖,其中最具代表性的有掃地機器人、送餐機器人等。
在任何一個領域中,無論何種類型的智能機器人,只要能自主移動,都需要對所處的環(huán)境進行導航定位。在智能機器人領域中,自主導航定位技術是一項核心技術,它是賦予機器人感知環(huán)境和方向行動能力的關鍵,目前有多種導航定位技術可實現(xiàn)機器人在室內(nèi)或室外環(huán)境中的導航定位。以下是對機器人常用的導航技術進行分析。
1.1 視覺導航定位
目前,在視覺導航定位系統(tǒng)中,最常采用的方法是基于局部視覺,即將攝像頭安裝在機器人身上作為車載攝像頭的導航方式。這種通過攝像頭的導航方式,是將傳感裝置和控制設備安裝在機器人車體上,由車載控制計算機進行圖像識別、路徑規(guī)劃等高層決策。普遍常見的視覺導航定位系統(tǒng)是借助攝像頭、CCD圖像傳感器或者其他的快速信號處理器,對其目標物體周圍的空間環(huán)境進行光學處理,主要是利用這些外部圖像處理器進行圖像信息采集,并對采集的圖像信息進行壓縮處理,然后將處理后的圖像信息反饋到一個由神經(jīng)網(wǎng)絡與統(tǒng)計學方法構(gòu)成的子系統(tǒng),最后通過子系統(tǒng)采集的外部圖像信息與目標物體進行實際的位置關聯(lián),從而完成目標物體的自主定位導航功能。
1.2 光反射導航定位
采用紅外傳感器或激光測距模塊定位是目前典型的光反射導航定位方法,不論激光還是紅外都是基于光反射技術的原理來進行導航定位的。激光全局定位系統(tǒng)[1](如激光雷達)一般由激光器旋轉(zhuǎn)機構(gòu)、反射鏡、光電接收裝置和數(shù)據(jù)采集與傳輸裝置等組成;紅外傳感器是由一個用作接收器的固態(tài)光敏二極管和一個可以發(fā)射紅外光線的固態(tài)發(fā)光二極管構(gòu)成。不管是紅外光線測距定位還是激光測距定位,其工作原理都是通過發(fā)射裝置主動發(fā)射光信號,然后將其反射回來給接收裝置,再經(jīng)過信息處理得到其距離和位置。
1.3 GPS 全球定位系統(tǒng)
如今,GPS 導航定位技術是自主移動機器人能夠?qū)崿F(xiàn)自主移動導航定位功能的最先進的技術。隨著GPS 的應用領域逐漸擴展以及應用需求的增加,GPS也在日益完善,差分GPS 定位技術的發(fā)展使得其定位精度也有了質(zhì)的飛躍。
GPS 使用無線電傳輸來進行定位,通過衛(wèi)星來傳輸定時信號、衛(wèi)星的位置和其他信息。GPS 的組成有3部分:空間部分為GPS 衛(wèi)星;監(jiān)測部分為GPS 地面;用戶部分為GPS 接收機。GPS 使用了交互定位的原理,若要確定一些未知的位置,則只需確定幾個點之間的距離就可以做到。相較于GPS 而言,太空中的衛(wèi)星是已知點,而未知點是地面上的某一個運動目標[2] 。
1.4 超聲波導航定位
超聲波定位導航的工作原理類似于激光與紅外定位,起初是由超聲波傳感器的探頭發(fā)射超聲波,當介質(zhì)探查時,超聲波遇到障礙物后會返回到超聲波的接收裝置。反射式測距法是超聲波用于測距定位的方法,其利用多邊定位等方法來確認障礙物或物體的位置,且一個主測距器和多個接收器便可以組成超聲波定位系統(tǒng)。待測目標放置一個主測距儀,而室內(nèi)的周圍環(huán)境則放置接收器,當定位時,超聲波導航的主測試器會向接收器發(fā)射同頻率的信號,在接收器收到這個信號后就會反射信號給主測距器,然后通過回波信號和發(fā)射波信號的使用時間來進行時間差的計算,再根據(jù)時間差得出物體距離,從而確定定位位置。
1.5 SLAM 定位技術
SLAM (Simultaneous Localization And Mapping),也被稱為CML (Concurrent Mapping and Localization),即即時定位與地圖構(gòu)建,或并發(fā)建圖與定位[3] 。目前,SLAM 技術被廣泛應用于機器人、無人機、無人駕駛、AR、VR 等不同領域,且依靠傳感器就可實現(xiàn)機器的自主定位、建圖、路徑規(guī)劃等功能。目前服務機器人行業(yè)領域的領先企業(yè),80%都采用了SLAM 技術。SLAM 技術主要應用于機器人定位導航領域:地圖建模[4] 。
2 ROS 機器人的系統(tǒng)設計
本文使用的ROS 機器人采用英偉達的JetsonNano 作為主控單元。機器人底部采用的是履帶式運動機構(gòu),履帶式機器人載重大,越障能力強,動力強,爬坡能力的也比較強,并且在崎嶇地形環(huán)境下也很適合開展工作。機器人搭載的傳感器主要是思嵐科技公司的RPLIDAR A1 型單線激光雷達和奧比中光Astra Pro 深度相機,根據(jù)這2 個傳感器件構(gòu)造的導航定位系統(tǒng)實現(xiàn)了地圖建模和路徑規(guī)劃,能夠在一定空間范圍內(nèi)自動行走,并具備避障的功能。ROS 機器人的硬件系統(tǒng)結(jié)構(gòu)圖如圖1 所示。
2.1 ROS 機器人的控制系統(tǒng)
本文機器人的控制系統(tǒng)采用NVIDIA 2019 年發(fā)布的Jetson Nano 為控制中心的開發(fā)硬件,為嵌入式設計開發(fā)人員、科研人員以及一些制造DIY 的廠商提供了更多的可行性,并在大部分的AI 平臺上展現(xiàn)了它的強大功能[5] 。Jetson Nano 模組不僅采用四核64 位ARM CPU 以及128 核集成NVIDIA GPU,而且提供472 GFLOPS 的計算性能。此外,Jetson Nano 還使用了4 GB LPDDR4 的存儲器,使得系統(tǒng)整體的運行十分高效,還具備了5 W/10 W 的功率模式以及5 V 的直流輸入。Jetson Nano 還對高分辨率傳感器提供支持,同時并行處理多個傳感器,且多個現(xiàn)代神經(jīng)網(wǎng)絡可以運行在同一個傳感器上,目前主流的人工智能框架Jetson Nano 都是支持的。Jetson Nano 模塊如圖2所示。
2.2 ROS 機器人的導航定位與避障系統(tǒng)
ROS 機器人的傳感器數(shù)據(jù)采集依靠的是基于三角測距技術的思嵐RPLIDAR A1 型單線的激光雷達,如圖3 所示。該雷達具有半徑為12 m 的測量范圍,采用激光三角測距技術,其每秒的測距動作可達到8 000次以上。測距核心旋轉(zhuǎn)的方向是順時針,并且可實現(xiàn)對周圍的環(huán)境360°全方位的掃描測距檢測,以獲取周圍環(huán)境的輪廓圖。
在雷達實現(xiàn)構(gòu)造建圖的基礎上,搭配ORBBECAstra Pro 深度相機可實現(xiàn)三維建圖導航定位。ORBBEC Astra Pro 3D 傳感攝像頭采用單目結(jié)構(gòu)光技術,具有精度高、功耗低、響應迅速、穩(wěn)定可靠的優(yōu)點。用戶可以在短距離、長距離和高分辨率RGB 攝像機之間自由地切換,以滿足個性化需求。其中,AstraSDK 還支持多種主流平臺,通過API 即可使用Astra系列相機的相應功能,從而快速獲取深度圖、彩色圖、骨架,以及對產(chǎn)品進行更多的應用層開發(fā)。Astra Pro深度相機如圖4 所示。
3 ROS 機器人導航定位設計
3.1 激光雷達建圖算法
ROS 機器人的激光雷達通過使用SLAM 框架的常用開源SLAM 算法Gampping 建圖算法來實現(xiàn)導航的算法。Gmapping 建圖算法是一種基于粒子濾波的激光SLAM 算法。該算法已被集成在ROS 中,在目前Gmapping 建圖算法在移動機器人中應用最多[6] 。作為表示路徑的后驗概率都是粒子濾波的算法用許多加權粒子來實現(xiàn)的,雖然每一個粒子都有一個重要性因子,但若要得到較好的結(jié)果,則需要大量的粒子。因此,大量的粒子使得該算法的計算復雜性不斷增加。此外,退化耗盡的粒子在與PF 重采樣的過程中會降低相關算法的準確性。
Gmapping 算法的最大的優(yōu)點是可以實時構(gòu)建掃描出室內(nèi)地圖,在使用該算法去構(gòu)建室內(nèi)小場景地圖時,所需的計算量較小且精度較高不會造成地圖錯位[7](如圖5 所示)。而Gmapping 算法的缺點是場景越大所需的粒子就越大,計算量也會隨之增加,從而導致工程量過大,因此十分不適合構(gòu)建大場景地圖以及室外大范圍的場景。粒子量大會使在回環(huán)時沒有檢測,在回環(huán)閉合時極大可能會造成地圖錯位、精確度不高等問題。
3.2 激光雷達導航設計
作為機器人導航最主要的核心,路徑規(guī)劃是利用周圍環(huán)境障礙物的信息找到一條最近且在路程中消耗最小的路徑。通常全局路徑規(guī)劃和局部路徑規(guī)劃是在導航中會用到的2 種路徑規(guī)劃[8] 。全局的路徑規(guī)劃更像是一種戰(zhàn)略性策略,需要考慮全局,規(guī)劃出一條盡量短且易于執(zhí)行的路徑。在全局路徑的指導下,機器人在實際行走時還需要考慮周圍實時的障礙物是否阻礙,然后制定避讓障礙物的策略,這就是局部的路徑規(guī)劃所要完成的事,可以說機器人的自主導航最終是由局部路徑規(guī)劃一步步完成的。ROS 中推薦的全局路徑規(guī)劃器是GLOBAL_PLANNER。
4 結(jié)束語
一個機器人的組件安裝,往往是由不同廠家制作出來的,其協(xié)議也會有所不同,從而導致機器人的制作變得比較繁瑣,ROS 的出現(xiàn)則完全解決了這個問題。本文研究的ROS 機器人室內(nèi)定位解決的是GPS信號覆蓋差或者無法覆蓋的問題,是以機器人為覆蓋中心,對周圍環(huán)境進行掃描,然后精準定位。模塊式開發(fā)已然成為應用系統(tǒng)或嵌入式系統(tǒng)的主流開發(fā)模式,而ROS 便是做這個的,因此在機器人的發(fā)展中,ROS 無疑有著很好的發(fā)展前景。而基于ROS 開發(fā)的系統(tǒng)在后期維護上也有著很大的優(yōu)勢。
參考文獻:
[1] 張一棟.用于自主移動機器人的導航定位技術分析[J].集成電路應用,2017,34(2):62?65.
[2] 楊子俊,廖鳳英,韋慶.GPS 在移動機器人導航定位系統(tǒng)中的應用[J].艦船電子工程,2005(6):5?7+73.
[3] 白云裳,劉猛,馮酉鵬.基于激光雷達SLAM 室內(nèi)定位方法[J].中國新通信,2019,21(16):52.
[4] 黃鶴,佟國峰,夏亮等.SLAM 技術及其在測繪領域中的應用[J].測繪通報,2018(3):18?24.
[5] 艾炎,唐艷玲,潘佳佳,等.基于ROS 的全局路徑規(guī)劃設計與實現(xiàn)[J].湖北農(nóng)機化,2021,(13):121?122.
[6] 鄧軻,金光,江先亮.基于ROS 的室內(nèi)導航機器人設計與實現(xiàn)[J].無線通信技術,2018,27(4):27?30.
[7] 歐資臻.室內(nèi)移動機器人的自主導航技術研究[D].宜昌:三峽大學,2022.
[8] 張明岳.基于ROS 的室內(nèi)自主移動與導航機器人研究[J].微處理機,2021,42(5):45?48.
作者簡介:
黃玉龍(2001—),本科,研究方向:物聯(lián)網(wǎng)應用。
吳超瓊(1990—),碩士,研究方向:物聯(lián)網(wǎng)應用與嵌入式系統(tǒng)應用(通信作者)。