李博昊 羅詠涵 彭克勤 北京信息科技大學
移動機器人是一種具備自動、可移動性、人工智能等多方面能夠半自主或全自主工作的機器。自1961年美國誕生世界上第一臺工業機器人誕生后,經過近60年發展,機器人已經逐漸步入工業、教育、軍事、管理、科研、醫療、服務等行業。機器人與人類社會的融合,逐漸改變了人類的生活方式。
如今機器人產業在我國市場快速發展,國內機器人許多企業的生產線上可以看到我國自行生產的機器人,但是也逐漸衍生出了很多問題等待我們的處理與解決。我國主要存在的問題有:基礎零件部件制造能力差,關鍵零件技術缺失;機器人沒有形成自己的品牌,中國從事機器人研究的企業沒有形成較大規模,缺乏市場品牌的認知度,面臨外國品牌的競爭壓力。我國需要開展關鍵技術研究,機器人技術不斷的發展,需要滿足不同產品需求的機器人構形。
國內現在缺乏拓展性高且又性價比高的設備框架,不利于在原有的基礎上加入一些新的功能,面對不同需求,產品的局限性較高,升級改造的時候十分麻煩。本文所研發設計的基于激光雷達SLAM的自主導航機器人系統,可基于設計人的需求在原有的機器人平臺上進行拓展研發,增加更多的功能,并且根據時代的需求進行不同層面的升級,在保證經濟利益的同時最便利的提高了產品的擴展性,符合當下與時俱進的快節奏的更新換代,解決了當下機器人的一大問題。
(1)本系統支持操作者選擇區域構建地圖。
(2)本機器人系統可供操作者對周圍環境進行實時監控。
(3)本系統支持機器人進行移動路徑的數據記錄和地圖保存。
(4)使用Gmapping算法進行建圖,ACML算法進行定位。
本機器人系統的主控制器采用的是運行Linux系統的樹莓派4B板,用來處理計算機器人的里程數據和雷達等數據。樹莓派是由注冊于英國的慈善組織“Raspberry Pi 基金會”開發的一種微型電腦,其中搭載Linux嵌入式系統,擁有體積小、易操作功能強大等優點。
樹莓派共有40個IO接口,其中GPIO(General Purpose I/O Ports)接口數量為26個,26個GPIO端口可以輸出或者輸入高低電平,用戶通過這一特點可以使樹莓派和其他傳感器進行數據交互。
樹莓派4B的一些GPIO接口具有I2C接口、SPI接口、UART接口、PWM接口的功能。I2C是一種同步串行總線,它可以實現連接在總線上的兩個器件進行信息傳輸,樹莓派通過I2C端口可以實現多個設備間的交互。SPI是串行外設接口,這種接口用來控制多個控制器之間的主從關系。UART是通用異步收發傳輸器,在樹莓派上啟用了串口終端,可以使用電腦來控制樹莓派,樹莓派通過異步收發傳輸器就可以直接控制Arduino單片機。
機器采用激光測距的方式測量距離。激光測距與超聲波測距測量相比精度較高,而且與計算機視覺測距相比處理數據的復雜度較低。采用的激光雷達測距范圍是12cm-350cm,測距分辨率1°,測距精度為2cm,這樣的激光雷達雖然配置較低,但是可以滿足室內測距的要求。
在SLAM導航系統中機器自身位姿的計算是非常重要的,這就需要IMU(慣性測量單元)裝置來測量物體的角速度和加速度。MPU9250芯片是一個包含三個單站的加速度計和三個單軸的陀螺儀,加速度計檢測獨立三軸的重力加速度信號,陀螺儀檢測角速度信號,測量出移動機器人在三維空間中的角速度和加速度,并進行計算解出移動機器人的姿態。

圖1 機器人系統構結構
如今移動機器人底盤常用的驅動方式為履帶式驅動和輪式驅動。采用履帶式底盤驅動的機器人在面對復雜地形時移動能力強于輪式驅動的機器人模型,但是履帶式驅動模型安裝復雜,控制較困難;輪式驅動的優勢在于結構設計較簡易、功耗較小、便于控制,但是輪式驅動方式無法跨越障礙物,本文設計的機器人系統主要應用于室內環境,主要的移動地面較平整,遇到障礙物機器人可以通過路徑規劃的方式繞過障礙物。綜合考慮設計機器人的復雜度、成本和移動靈活性,結合本機器人系統主要應用的環境為室內,地形較平坦,沒有復雜的障礙物,本機器人系統采用輪式底盤結構的方式進行驅動。
本機器人系統采用Gmapping算法進行建圖,Gmapping算法是在RBPF的粒子濾波算法的基礎上改進而來的。RBPF粒子濾波算法是將定位和建圖根據貝葉斯法則將兩個過程分離,即將該SLAM問題分解成移動機器人位姿估計和移動機器人的地圖估計。這樣大大降低了該SLAM問題的難度。該算法的主要步驟如下:
(1)首先以移動機器人的初始位置開始構建地圖,在初始位置生成N個的粒子,每個粒子權重為1/N。
(2)機器根據前一時刻的例子狀態和當前機器人的位姿,采樣產生新的粒子。
(3)根據每一時刻的觀測值,為每個粒子重新計算權值,越有可能獲得觀測的例子,獲得新的權重越高。
(4)隨著計算的次數越多,某些粒子的權重越來越低趨近于0,某些粒子的權重越來越高趨近于1,為了能準確的估計移動機器人的位姿,將重采樣過后的粒子集輸入到狀態轉移方程中,獲得新的觀測粒子。
(5)根據粒子的軌跡和觀測記錄,對每個粒子攜帶的地圖與歷史地圖匹配后更新到全局地圖中。

圖2 建圖流程
在SLAM導航問題中,機器人的精確定位是十分重要的,因為如果無法準確定位機器人的當前位置,那么規劃出到目的地的路徑必然是錯誤的。
AMCL(adaptive Monte Carlo localization)算法是蒙特卡洛定位方法的一種升級版,使用自適應的 KLD 方法來更新粒子。
本系統使用ROS中提供的rviz三維可視化平臺操作機器人。rviz是ROS官方提供的一款3D可視化工具,它以圖形化界面的方式將移動機器人的各種參數展示給操作者,并且操作者可以對ROS的程序進行圖像化操作。在此界面上可以顯示機器人構建成功地圖、機器人深度攝像頭返回的點云數據、機器人規劃的移動路徑等數據,還可以操作機器人的運動,使用戶更為直觀的得到機器人的位姿和構建成功的地圖。

圖3 Rviz運行界面
基于激光SLAM的室內移動機器人在設計中運用了多種傳感器,本系統運用了激光雷達模塊進行測距、建圖,并使用樹莓派作為系統的主控制器,相較于單獨使用單片機來進行數據處理,樹莓派獲得的數據更準確、更可靠。
系統室內建圖使用Gmapping算法,通過雷達返回的數據使用AMCL算法進行定位,此設計方案具有可靠性高、性價比好及框架易用性高等優點。并且在此平臺上還可以加裝其他的硬件設施和其他功能,具有較高的擴展性。
