胡曉強 劉漢忠 賈良冠 張盟 吳正朕


摘 ?要:目前主流的機器人操作平臺ROS(Robot Operating System)建圖媒介是Kinect雙目攝像頭,采用CMOS紅外傳感器感知黑白光譜的方式來構建目標地圖。計算量大,建圖輪廓不清晰,地圖構建與實際地圖偏移量較大,重定位精度差。本文提出基于ROS平臺的激光雷達Slam-GMapping的重定位技術,包括RBPF粒子濾波算法、激光雷達Slam-GMapping建圖和機器人的重定位。實驗結果表明:激光雷達Slam-GMapping相比于Kinect,能夠更好地構建目標地圖,建圖效果更加優越,建圖精度更高;該重定位技術的定位方位更加精確,定位誤差更小。
關鍵詞:ROS;激光雷達;RBPF;Slam-GMapping;重定位
中圖分類號:TP273 ? ? 文獻標識碼:A 文章編號:2096-4706(2019)12-0159-03
Abstract:Aiming at the current mainstream robot operating platform ROS(Robot Operating System) mapping medium is Kinect binocular camera,which uses CMOS infrared sensor to sense black and white spectrum to build the target map. The calculation is large,the outline of the map is unclear,the offset between the map construction and the actual map is large,and the relocation accuracy is poor. In this paper,the relocation technology of laser radar Slam-GMapping based on ROS platform is proposed,including RBPF particle filter algorithm,Slam-GMapping mapping of laser radar and robot relocation. The experimental results show that Slam-GMapping of lidar can better construct target map than Kinect,with better mapping effect and higher mapping accuracy. The repositioning technology has more accurate positioning orientation and smaller positioning error.
Keywords:ROS;lidar;RBPF;Slam-GMapping;relocation
0 ?引 ?言
ROS(Robot Operating System)是一種基于圖狀架構,對不同節點的進程能接受、發布、聚合各種信息(例如傳感,控制,狀態,規劃等等),且兼具硬件抽象、底層設備控制[1]、常用功能實現、進程間消息以及數據包管理功能,支持Ubuntu的開源機器人軟件平臺。Slam-GMapping采用RBPF的方法,運用重采樣自適應技術[2],充分考慮粒子耗散問題和粒子逐漸更新權重而收斂的特性[3],降低了機器人位置在粒子濾波中的不確定性。從而使機器人對里程計信息獲取、激光束點陣的優化采集等信息采集的質量有大幅度提升,建圖更加完整,準確。然而Slam-GMapping建圖依據車輪里程計信息,需要由里程計信息實時結算機器人當前的姿態和位置,這就使得機器人導航時必須放在上次建圖的同一位置,才能相對確保機器人導航的準確性。本文介紹一種基于ROS平臺的激光雷達Slam-GMapping的重定位方法,能夠很好地解決上述問題。
1 ?激光雷達Slam-GMapping方法
1.1 ?RBPF粒子濾波算法
機器人在一個未知環境中移動,其目的是獲得當前環境的地圖。地圖可以用一個儲存每個網格單元顏色的矩陣表示,單元格的顏色只能為黑色或白色。RBPF算法以先估計機器人的軌跡而后再去根據已知的軌跡計算地圖的方式,解決了同步定位與地圖構建(SLAM)相互矛盾的問題,其具體流程:
(1)初始化:初始化機器人的位姿(位置和方向),每個粒子初始化權重為1/N,總和為1。初始化位置確定后,粒子放在其附近。
(2)預測:粒子濾波首先根據狀態轉移函數預測生成大量的采樣,這些采樣就被稱之為粒子,利用這些粒子的加權和來逼近后驗概率密度。
(3)調整與校正:隨著觀測值的依次到達,為每個粒子計算相應的重要性權值。這個權值代表了預測的位姿取第N個粒子時獲得觀測的概率。如此這般下來,對所有粒子都進行評價,越有可能獲得觀測的粒子,獲得的權重越高。
(4)姿態估計:利用所有粒子的位置、方向和權重值來計算加權平均值、中央值和最大權重的粒子值[4],并用這些估計機器人的姿態。
(5)重采樣:根據權值的比例重新分布采樣粒子。去除權重小的粒子,以權重大的粒子為中心創建粒子特性。重復步驟(2)到步驟(5),再將重采樣過后的粒子集輸入到狀態轉移方程中,就能夠獲得新的預測粒子。通過采樣的軌跡和計算推測出地圖。
1.2 ?Slam-GMapping建圖
2 ?試驗
采用主控為工業機,驅動為STM32開發板,12V帶編碼器的電機,12V-4800mA電池,搭配激光雷達完成實驗。如圖3所示,是在實驗室環境中以右上角為起點建立的目標地圖。
將機器人改變坐標位置,放置于地圖左下方,用目標地圖導航,未使用算法前,機器人坐標系發生偏轉,如圖4所示。
運用基于ROS平臺的激光雷達Slam-GMapping的重定位方法,機器人重定位TF坐標系更新為機器人現在位置,如圖5所示。
機器人先進行目標地圖的提取,然后分割目標地圖為單位柵格大小。同時構建自己所在新的位置地圖,再按照0階馬爾科夫場分割實時地圖為同目標地圖單位長度相同的柵格大小。然后經過平移、旋轉變換等,完成實時地圖與目標地圖的匹配,完成機器人的重定位。
3 ?結 ?論
測試表明,基于ROS平臺的激光雷達Slam-GMapping的重定位方法可以讓機器人在原來構建的目標地圖中,完成對自己所在的新的位置的重定位,而不必再人工重復繁瑣地校正機器人的位姿,來獲得更好的實驗效果。用基于ROS平臺的激光雷達Slam-GMapping的重定位算法校正相比于人工校正,精確度更高、時間更短、效率更高、定位精度更高、出錯率更低。目前,此方法已經在學校所在實驗室多次試驗,均達到良好的效果。
參考文獻:
[1] Li T,Shi D,Wu Q,et al. Sodium para-aminosalicylate delays pericarp browning of litchi fruit by inhibiting ROS-mediated senescence during postharvest storage [J]. Food Chemistry,2019,278:552-559.
[2] 羅元,余佳航,汪龍峰,等.改進RBPF的移動機器人同步定位與地圖構建 [J].智能系統學報,2015,10(3):460-464.
[3] He H,Jia Y,Sun L. Simultaneous Location and Map Construction Based on RBPF-SLAM Algorithm [C]//第30屆中國控制與決策會議.第30屆中國控制與決策會議論文集(4).沈陽:《控制與決策》編輯部,2018:755-758.
[4] 伍永健,陳躍東,陳孟元.量子粒子群優化下的RBPF-SLAM算法研究 [J].智能系統學報,2018,13(5):829-835.
[5] 屈盼讓,薛建儒,於二軍,等.基于柵格圖拼接的多層次路口地圖 [J].計算機仿真,2019,36(1):342-347.
[6] 白宗文.基于HALCON與圖像拼接的文物修復系統設計與實現 [J].電子設計工程,2013,21(9):24-26.
作者簡介:胡曉強(1997-),男,漢族,江蘇徐州人,本科,研究方向:機器人、自動化。