孫婷婷
(1.山東省船舶控制工程與智能系統(tǒng)工程技術研究中心,山東 榮成 264300;2.威海海洋職業(yè)學院,山東 榮成 264300)
目前移動機器人在各領域中均得到了快速的發(fā)展[1]。移動機器人通過傳感器獲取周邊的環(huán)境信息是機器人實現(xiàn)復雜環(huán)境自主探索的重要環(huán)節(jié)。文獻[2]采用激光雷達和里程計在未知環(huán)境中研究機器人SLAM算法。為提高SLAM算法的魯棒性,該文采用粒子濾波器RPF作為定位算法。文獻[3]采用導航系統(tǒng)和SLAM設計了一款自主式救援機器人,同步定位與地圖創(chuàng)建模塊先采用基于柵格地圖的掃描匹配算法對機器人位姿進行初步校正,然后通過粒子濾波實現(xiàn)機器人的精確定位。文獻[4]設計了一種結合單目視覺信息來輔助激光進行SLAM的方法,有效解決了單個激光傳感器移動機器人室內(nèi)定位與建圖問題,實現(xiàn)了復雜環(huán)境下的場景識別。文獻[5]提出基于GIS和SLAM的機器人自主導航方法,實現(xiàn)了包含空間數(shù)據(jù)庫、SLAM、導航算法的完整系統(tǒng),可指導機器人進行大范圍導航和建圖。本文研究主要基于ROS系統(tǒng),采用Kinect攝像機、激光雷達、IMU等傳感器進行數(shù)據(jù)融合以獲取機器人的環(huán)境信息和定位信息,顯著提高了地圖構建的精確度。
本文設計的室內(nèi)移動機器人要求能夠自主選擇目標點,并且自主規(guī)劃路徑[6],實現(xiàn)建圖任務。圖1所示為移動機器人的系統(tǒng)設計方案。方案采用ROS操作系統(tǒng)[7],從下到上分為三層,即物理層、功能層、交互層。物理層主要包括攝像機、激光雷達、IMU、機器人移動底盤,目的是感知周圍的環(huán)境,將信息導入功能層;功能層主要實現(xiàn)環(huán)境感知、機器人自主建圖、定位等;交互層完成機器人運動與指令等信息的交互。
圖1 基于ROS系統(tǒng)的室內(nèi)移動機器人系統(tǒng)設計方案
基于開發(fā)成本的考慮,移動底盤集成了碰撞傳感器、防跌傳感器、編碼器等,不僅支持基于ROS操作系統(tǒng)的開發(fā),還具有很強的可擴展性,且精度高。
自主建圖器要求移動機器人對大量的圖像進行快速處理,鑒于移動機器人工作環(huán)境的復雜性,控制器需滿足耐高溫與低溫、體積小、實時性好等要求,圖2所示為本設計所采用的XCY工控機實物。
圖2 工控機
圖3所示為本設計采用的激光雷達實物[8-9],表1為其主要性能參數(shù)。
圖3 激光雷達
表1 ORLIDAR激光雷達技術參數(shù)
圖4所示為能夠采集音視頻以及深度信息的Kinect傳感器[10]。
圖4 Kinect傳感器
機器人在工作時如遇到顛簸、打滑等現(xiàn)象,里程計信息會發(fā)生較大變化,進而影響機器人的定位和軌跡路線??紤]到機器人工作環(huán)境的影響,本設計選用MPU9250慣性測量單元[11],如圖5所示。
圖5 慣性測量單元
本設計采用的操作系統(tǒng)為Ubuntu 16.04,圖6所示為室內(nèi)移動機器人的軟件系統(tǒng)設計。軟件系統(tǒng)主要包含4部分,分別是機器人建模、SLAM模塊、自主探索模塊、路徑規(guī)劃模塊。機器人建模通過對URDF文件進行編譯而實現(xiàn)。SLAM模塊可以實現(xiàn)定位和建圖功能,其中,定位信息可以由激光雷達和Kinect攝像機結合慣性測量單元獲得;環(huán)境地圖的構建依靠建圖算法。自主探索模塊要求機器人能夠根據(jù)多傳感器融合SLAM模塊獲取的定位和建圖信息,通過局部環(huán)境地圖信息計算出到達目標的最佳路徑。
圖6 室內(nèi)移動機器人的軟件系統(tǒng)設計
圖7所示為SLAM算法的框架。傳感器數(shù)據(jù)融合分為兩部分,通過激光雷達數(shù)據(jù)和Kinect數(shù)據(jù)獲得環(huán)境信息,通過編碼器和IMU融合獲得定位信息。借助融合后的數(shù)據(jù)可以進行室內(nèi)移動機器人導航,即前端建圖。通過閉環(huán)檢測、計算約束量等可以修正地圖誤差。
圖7 SLAM算法框架
圖8所示為測試環(huán)境,該實驗用于測試Kinect與激光雷達數(shù)據(jù)是否能夠融合。激光雷達、Kinect以及紙箱的高度分別為h1、h2和h。由于h
圖8 測試環(huán)境
圖9 單一的激光雷達測試結果
圖10 激光雷達與Kinect數(shù)據(jù)融合測試結果
自身定位實驗在走廊中進行測試。機器人與墻壁之間相隔40 cm,設定機器人運行速度為10 cm/s,設置A、B兩組對比實驗。圖11和圖12分別表示A組單獨采用編碼器推算出機器人的定位軌跡對比和B組采用IMU和編碼器融合后推算出的定位軌跡對比。點線和實線分別代表機器人的理想軌跡和融合前的定位軌跡。通過測試結果對比可知,A、B兩組實驗的實際軌跡與理想軌跡的誤差都會隨著時間的推移而迅速增大,但是B組實驗的實際軌跡更貼近理想軌跡。A組在30 s時最大定位誤差為 6.8 cm,B組定位誤差為2.9 cm,B組的定位準確性較A組更高。
圖11 融合前的定位軌跡對比
圖12 融合后的定位軌跡對比
本文主要圍繞基于多傳感器融合的SLAM算法模塊進行研究,在移動機器人感知以及機器人定位方面進行改進,并設置了兩組對比實驗。實驗證明,將Kinect攝像機數(shù)據(jù)與激光雷達掃描數(shù)據(jù)融合,能有效表達機器人周圍復雜的環(huán)境。將光電編碼器數(shù)據(jù)與IMU數(shù)據(jù)融合,可獲得更加準確的機器人位姿信息。