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