管修濤,孔斌,李澤彬,張進思,鮑惠芳
(1.皖西學院機器人創客實驗室,安徽六安,237012;2.皖西學院 農林智能裝備與物聯網六安市創新中心,安徽六安,237012)
隨著機器人行業的發展,越來越多的領域使用到機器人,但是使用輪式里程計進行外部環境的感知存在很多問題,尤其是在非水平的地面上,由于顛簸和車輪打滑等顯現會造成測量誤差過大導致收集的數據無法使用,從而影響機器人的運動規劃[1]。隨著SLAM(同步定位與建圖)的發展,現在的2D-SLAM技術比較成熟,常使用的2D-SLAM算法有6種,分別為Gmapping、Hector slam、Karto slam、Lago slam、Core slam、Cartographer[2-3]。其中 Gmapping 是使用最多的,該算法是在RBPF算法上進行了優化改進[4],但是不適合大場景地圖的構建;而Karto slam算法在大場景下制作地圖更合適;Hector slam算法雖然對傳感器要求較高,該算法更加貼合移動機器人的實際運動情況,在小范圍內制作出來的地圖精度較高。因此,本研究將采用Hector slam算法利用收集到的激光束點陣來優化,估算出收集的激光點在柵格地圖的位置,并通過激光雷達掃描配對機器人進行運動評估,建出精度較高的柵格地圖[5]。確定好機器人的初始位置之后可以利用柵格地圖配合Navigation導航系統可以讓小車實現移動路徑的規劃并且到指定目標位置。
本文將驗證運行移動機器人在無需輪式里程表的情況下構建地圖和路徑規劃的可行性。
本文中移動機器人主要是由運動控制驅動器,下位機樹莓派、信號收集的激光雷達三大部分組成,通過電腦遠程訪問連接控制移動機器人的運動。其中激光雷達作為傳感器用于獲取周圍環境中的信息,并將收集到的信息發送到下位機樹莓派上,樹莓派將收集到的信息發送到電腦上,通過算法處理收集到的信息,發布指令給下位機,下位機將指令傳遞給運動器控制移動機器人的移動路徑規劃。
虛擬仿真平臺采用的是Linux系統,使用Ubuntu18.04,并在上面安裝ROS Melodic和Gazebo物理仿真平臺。在Gazebo物理仿真平臺搭建好模擬室內場景,將提前搭建好的小車模型導入到仿真平臺,利用ROS系統中自帶的RVIZ插件配合Hector slam將仿真平臺環境掃描出來構建出概率柵格地圖,配合使用Navigation導航進行運動路徑的規劃。
實驗中使用的Hector slam算法主要過程是收集概率柵格地圖、利用高斯牛頓法匹配、使用多分辨率地圖比對避免某一部分柵格地圖概率陷入局部極小值。利用插值法來獲得一個連續的概率柵格地圖。當移動機器人運動時候與之前數據進行比較分析,運用高斯-牛頓法計算出合適的地圖[6]。使用迭代法的方法找到當前時刻移動機器人運動最優解并且更新最新的柵格地圖數據,優化柵格地圖邊界不清晰的問題。
在激光雷達使用過程中,傳感器獲取的數據不能直接拿來使用。直線、直角場景的數據需要通過概率霍夫變換,處理提取到的擬合更新直線,優化數據的連續性,獲得更高精度的柵格地圖,減少其他外來因素對實驗結果的影響,提高地圖與實際應用的匹配程度[6]。

圖1 其中圖(1-2)分別為移動機器人在gazebo仿真中起點和終點位置;圖(3-4)分別表示為移動機器人位于柵格地圖中的始點與終點,其圖(4)中紅線為移動機器人路徑;圖(5)是移動機器人在實際環境構建柵格地圖及從A點運動到B點的規劃路線,左下角為移動機器人實物
由圖(1-4)可知,在虛擬仿真系統中驗證了Hector slam算法實際有效,并通過觀察上圖(3-4)可知使用Hector slam算法構建得到柵格地圖輪廓清晰,Gazebo仿真平臺內的邊界在柵格地圖中表現準確,配合Navigation導航系統能夠實現移動機器人在仿真平臺的路徑規劃運動到指定目標位置。圖(5)可知,使用圖中的移動機器人,通過運行結果發現,移動機器人能夠識別出周圍環境并且構建出輪廓清晰的柵格地圖。使用此柵格地圖,調整小車上發射的激光束與柵格地圖重合,給予移動機器人指定目標位置B,移動機器人利用構建的地圖從A點進行移動路徑規劃并且自動避障到達指定的目標位置B點,此時得到的結果與仿真結果一致,符合實驗預期效果。
基于本文虛擬仿真和實驗結果表明,無需要輪式里程計下移動機器人可以實現路徑的規劃運動到指定的位置,實現移動機器人的自主導航。運用Hector slam算法得出的實驗數據準確,能夠以地圖的形式直觀的展現出來,滿足移動路徑規劃的需求,具有一定的使用價值。隨著技術的發展,運動路徑規劃會以多算法多傳感器形式融合,滿足實際環境中更加復雜路況。