秦學(xué)斌 王 炳 景寧波 薛宇強(qiáng) 朱信龍 張俊樂(lè)
(1.西安科技大學(xué)電氣與控制工程學(xué)院,陜西 西安 710054;2.西安科技大學(xué)工程訓(xùn)練中心,陜西 西安 710054;3.陜西陜煤陜北礦業(yè)有限公司,陜西 榆林 719000;4.陜西省計(jì)量科學(xué)研究院,陜西 西安 710100)
中國(guó)煤炭使用歷史已超千年,規(guī)模化、機(jī)械化煤炭挖掘有百多年歷史,前期不科學(xué)的開采工作嚴(yán)重破壞部分礦區(qū)環(huán)境,包括地下水?dāng)?shù)量和質(zhì)量下降、地面沉降、采礦廢物儲(chǔ)存不當(dāng)、土地占用和其他影響,給當(dāng)?shù)鼐用裆顜?lái)不便,且該行業(yè)一直被廣泛認(rèn)知為高危、艱苦行業(yè),相關(guān)技術(shù)受關(guān)注度較低,發(fā)展緩慢,礦業(yè)工作人員安全存在風(fēng)險(xiǎn)[1]。針對(duì)采煤產(chǎn)生的環(huán)境問(wèn)題以及安全問(wèn)題,“十三五”期間,全國(guó)礦山產(chǎn)業(yè)結(jié)構(gòu)不斷優(yōu)化,淘汰退出煤礦5 464處,涉及產(chǎn)能9.4億t,整頓關(guān)閉金屬非金屬礦山和尾礦庫(kù)1.9萬(wàn)余座[2]。
近年來(lái),在關(guān)停不合格礦區(qū)礦井以增加行業(yè)安全性、投入使用“少人/無(wú)人化”智能礦用機(jī)械以提高開采科學(xué)性和效率性的多重影響下,我國(guó)礦業(yè)智能化建設(shè)取得積極進(jìn)展,這是礦業(yè)工業(yè)發(fā)展的必然選擇,且符合“中國(guó)制造2025”的國(guó)家戰(zhàn)略[3]。2019年國(guó)家煤監(jiān)局提出的《煤礦機(jī)器人重點(diǎn)研發(fā)目錄》[4]明確了礦區(qū)機(jī)器人的分類及相應(yīng)標(biāo)準(zhǔn),智能化采掘工作面從2015年僅有3個(gè)增加到275個(gè),截至2021年1月增至494個(gè)、同比增加80%,掘進(jìn)、巡檢、運(yùn)輸?shù)?9種機(jī)器人在礦區(qū)現(xiàn)場(chǎng)已有示范應(yīng)用[5]。2020年12月,國(guó)家電投集團(tuán)內(nèi)蒙古白音華煤電有限公司礦用卡車無(wú)人駕駛項(xiàng)目實(shí)現(xiàn)階段性目標(biāo),并穩(wěn)定參與到剝離生產(chǎn)作業(yè)中,礦區(qū)已完成12臺(tái)無(wú)人駕駛礦用卡車編組運(yùn)行,每臺(tái)核載約為50 t物料,行駛速度為12 km/h,實(shí)現(xiàn)了單車中間運(yùn)輸路段無(wú)人運(yùn)行;2021年3月,陜煤集團(tuán)黃陵礦業(yè)公司部署煤礦巡檢機(jī)器人群,該機(jī)器人群可以實(shí)現(xiàn)遠(yuǎn)程操控、智能巡檢,減輕了約180位巡檢工人的工作量[6]。
根據(jù)《煤礦機(jī)器人重點(diǎn)研發(fā)目錄》,需要環(huán)境感知、路徑規(guī)劃技術(shù)支撐的煤礦機(jī)器人可以分為5類:掘進(jìn)類(掘進(jìn)機(jī)器人)、采煤類(采煤機(jī)機(jī)器人)、運(yùn)輸類(搬運(yùn)機(jī)器人、巷道清理機(jī)器人、井下無(wú)人駕駛運(yùn)輸車、露天礦卡車無(wú)人駕駛系統(tǒng))、安控類(工作面巡檢機(jī)器人、皮帶機(jī)巡檢機(jī)器人、巷道巡檢機(jī)器人)、救援類(井下?lián)岆U(xiǎn)作業(yè)機(jī)器人、礦井救援機(jī)器人、災(zāi)后搜救水陸兩棲機(jī)器人)[7]。本研究根據(jù)現(xiàn)有行業(yè)指導(dǎo)方案及國(guó)內(nèi)外研究進(jìn)展,以巷道巡檢機(jī)器人SLAM(simultaneous localization and mapping)建圖算法為切入點(diǎn),結(jié)合礦區(qū)井下巷道復(fù)雜環(huán)境,同時(shí)考慮礦區(qū)成本,實(shí)現(xiàn)巡檢機(jī)器人巡檢地圖路線精度的提升。傳統(tǒng)井下巷道巡檢機(jī)器人SLAM建圖算法存在以下弊端:①對(duì)傳感器數(shù)量及配置要求較高,需要多傳感器聯(lián)合調(diào)配,從而進(jìn)行數(shù)據(jù)采集,增加礦區(qū)成本;②建圖與定位過(guò)程所需數(shù)據(jù)量較高,使得算法的時(shí)間復(fù)雜度較高,大大降低了運(yùn)行效率;③難以適應(yīng)礦區(qū)井下復(fù)雜路況,在井下采集數(shù)據(jù)時(shí),算法自身無(wú)法處理采集的數(shù)據(jù),從而降低地圖路線精度,導(dǎo)致巡檢機(jī)器人無(wú)法完成井下巡檢任務(wù),從而存在井下安全隱患。
對(duì)上述弊端進(jìn)行分析之后,在 LOAM(Lidar Odometry and Mapping in Real-time)建圖算法的基礎(chǔ)上,提出了一種基于礦區(qū)巷道巡檢機(jī)器人的LOAMSLAM地圖重建改進(jìn)算法。該算法選用單軸單線激光雷達(dá)進(jìn)行數(shù)據(jù)采集,降低礦區(qū)成本。算法層面利用Harris 3D角點(diǎn)檢測(cè),選取角點(diǎn)作為點(diǎn)云幀數(shù)據(jù)中的關(guān)鍵點(diǎn)進(jìn)行匹配,保證計(jì)算量的同時(shí),去除部分冗余數(shù)據(jù)。通過(guò)EKF(Extended Kalman Filter,擴(kuò)展卡爾曼濾波)消除由于激光雷達(dá)抖動(dòng)所產(chǎn)生的點(diǎn)云運(yùn)動(dòng)畸變,提高建圖定位精度,同時(shí)對(duì)機(jī)器人進(jìn)行運(yùn)動(dòng)估計(jì),保證巡檢機(jī)器人巡檢路線的準(zhǔn)確性和安全性。
由于點(diǎn)云中的點(diǎn)隨著激光雷達(dá)運(yùn)動(dòng)會(huì)產(chǎn)生運(yùn)動(dòng)畸變,也就是點(diǎn)云中的點(diǎn)會(huì)相對(duì)實(shí)際環(huán)境中的物品表面上的點(diǎn)存在位置上的誤差。運(yùn)動(dòng)畸變會(huì)造成點(diǎn)云在匹配時(shí)發(fā)生錯(cuò)誤,從而不能正確獲得兩幀點(diǎn)云的相對(duì)位置關(guān)系也就無(wú)法獲得正確的里程計(jì)信息[8]。LOAM算法將SLAM問(wèn)題分成了2部分,使用2個(gè)算法并行運(yùn)行來(lái)處理這2部分問(wèn)題,以達(dá)到實(shí)時(shí)構(gòu)建低漂移的地圖(即使用1個(gè)三維空間中運(yùn)動(dòng)的兩軸單線激光雷達(dá)來(lái)構(gòu)建實(shí)時(shí)激光里程計(jì)并建圖)。其中一個(gè)算法以10 Hz的頻率運(yùn)行,得到1個(gè)較為粗糙的里程計(jì)信息。該算法使用基于特征點(diǎn)的scan-to-scan match(點(diǎn)集與點(diǎn)集配準(zhǔn))方法,可以快速計(jì)算得到里程計(jì)信息。另一個(gè)算法以1 Hz的頻率運(yùn)行,輸出1個(gè)更為精確的里程計(jì)信息。
如圖1為L(zhǎng)OAM算法主要流程圖:①Point Cloud Registration,使用IMU數(shù)據(jù)進(jìn)行點(diǎn)云運(yùn)動(dòng)畸變?nèi)コ?②特征點(diǎn)提取,LOAM中提取的特征點(diǎn)有2種——Edge Point和Planar Point,2種特征使用曲率來(lái)進(jìn)行區(qū)分,曲率最大的為Edge Point,曲率最小的為Planar Point;③Lidar Odometry,激光幀的時(shí)間同步、點(diǎn)云匹配與誤差函數(shù);④Lidar Mapping,機(jī)器人位姿變換;⑤Transform Integration,融合了Lidar Mapping得到的位姿變換和Lidar Odometry得到的位姿變換。最終發(fā)布1個(gè)頻率與Lidar Odometry發(fā)布頻率一致的位姿變換。

圖1 LOAM算法主要流程圖Fig.1 The flow-process diagram of LOAM algorithm
該算法繼承LOAM算法對(duì)于點(diǎn)云數(shù)據(jù)的配準(zhǔn)scan-to-map match(點(diǎn)集與子圖配準(zhǔn))方式,在此基礎(chǔ)上運(yùn)用Harris-3D角點(diǎn)檢測(cè)算法,在選定區(qū)域內(nèi)檢測(cè)點(diǎn)云數(shù)據(jù)幀的關(guān)鍵點(diǎn),以此為中心點(diǎn)進(jìn)行點(diǎn)云數(shù)據(jù)的配準(zhǔn),保證計(jì)算量的同時(shí),去除了部分冗余數(shù)據(jù)。由于該算法選用單軸單線激光雷達(dá),故不能通過(guò)原算法中利用三維空間中運(yùn)動(dòng)的兩軸單線激光雷達(dá)將定位和建圖分別進(jìn)行的方式,從而消除運(yùn)動(dòng)畸變。故考慮運(yùn)用EKF(擴(kuò)展卡爾曼濾波)消除由于激光雷達(dá)抖動(dòng)所產(chǎn)生的運(yùn)動(dòng)畸變,同時(shí)通過(guò)狀態(tài)方程和預(yù)測(cè)方程,對(duì)機(jī)器人進(jìn)行運(yùn)動(dòng)估計(jì),提高定位精度。
利用單軸單線激光雷達(dá)采集點(diǎn)云數(shù)據(jù)后,傳統(tǒng)SLAM建圖算法中相互關(guān)聯(lián)的特征點(diǎn)是通過(guò)特征值和特征向量來(lái)獲得,這種方法計(jì)算量大,且容易造成局部差異。本算法利用Harris 3D角點(diǎn)檢測(cè),選取角點(diǎn)作為點(diǎn)云幀數(shù)據(jù)中的關(guān)鍵點(diǎn)進(jìn)行點(diǎn)云數(shù)據(jù)幀的匹配,保證計(jì)算量的同時(shí),可去除部分冗余數(shù)據(jù),而且具備穩(wěn)定性質(zhì)的特征。
Harris 3D確定角點(diǎn)的方法是方塊體內(nèi)點(diǎn)云的數(shù)量變化。在點(diǎn)云中存在1點(diǎn)p,在p上建立1個(gè)局部坐標(biāo)系:z方向是法線方向,x、y方向和z垂直。在p上建立1個(gè)小正方體:①如果小正方體沿z方向移動(dòng),那小正方體里的點(diǎn)云數(shù)量不變;②如果小正方體位于邊緣上,則沿邊緣移動(dòng),點(diǎn)云數(shù)量幾乎不變,沿垂直邊緣方向移動(dòng),點(diǎn)云數(shù)量改變;③如果小正方體位于角點(diǎn)上,則有2個(gè)方向都會(huì)大幅改變點(diǎn)云量。
由二維圖像的矩陣M擴(kuò)展至三維點(diǎn)云,矩陣M元素為法向量(包含法線和方向2個(gè)信息)x、y、z構(gòu)成協(xié)方差矩陣,屬于對(duì)稱矩陣,該矩陣的特征向量有1個(gè)方向是法線方向,另外2個(gè)方向和法線垂直。其中,半徑r可以用來(lái)控制角點(diǎn)的規(guī)模,r小,則對(duì)應(yīng)的角點(diǎn)越尖銳(對(duì)噪聲更敏感),r大,則可能在平緩的區(qū)域也檢測(cè)出角點(diǎn)。

計(jì)算點(diǎn)云的Harris響應(yīng)值:

通過(guò)提取方塊內(nèi)的點(diǎn)云數(shù)據(jù),計(jì)算Harris 3D算法中的矩陣M的跡和行列式,最后由計(jì)算出來(lái)的結(jié)果,配合公式,輸出關(guān)鍵角點(diǎn)的坐標(biāo)(x,y,z)。
SLAM中點(diǎn)云匹配的問(wèn)題分為scan-to-scan(點(diǎn)集與點(diǎn)集)、scan-to-map(點(diǎn)集與子圖)、map-to-map(子圖與子圖)。而三者各有特點(diǎn),scan-to-scan匹配:優(yōu)點(diǎn)是計(jì)算量小速度快,缺點(diǎn)是誤差累計(jì)大,長(zhǎng)距離誤差累計(jì)后地圖精度下降。map-to-map的匹配:優(yōu)點(diǎn)是精度高,誤差累計(jì)小;缺點(diǎn)就是計(jì)算量大,實(shí)時(shí)性壓力大;scan-to-map的匹配居中。由于該算法利用Harris 3D選取角點(diǎn)作為點(diǎn)云幀數(shù)據(jù)中的關(guān)鍵點(diǎn)進(jìn)行點(diǎn)云數(shù)據(jù)幀的匹配,去除了部分冗余數(shù)據(jù),故選用scan-tomap點(diǎn)云匹配方式。
如圖2(a)所示,通過(guò)提取角點(diǎn)作為關(guān)鍵點(diǎn)選取某幾幀點(diǎn)云數(shù)據(jù)組成子圖,之后點(diǎn)云數(shù)據(jù)幀如圖2(b)所示,與子圖相互匹配,配合上述完成的Harris 3D點(diǎn)云檢測(cè),最終完成點(diǎn)云配準(zhǔn)。

圖2 點(diǎn)云配準(zhǔn)過(guò)程圖Fig.2 Point cloud registration process diagram
圖3為通過(guò)Harris 3D角點(diǎn)所配準(zhǔn)的最終效果圖,圖中白色點(diǎn)表示所檢測(cè)出來(lái)的Harris 3D角點(diǎn),所選場(chǎng)景為井下模擬礦道。

圖3 點(diǎn)云配準(zhǔn)圖Fig.3 The point cloud registration map
3.4.1 消除運(yùn)動(dòng)畸變
礦區(qū)井下路況復(fù)雜,利用激光雷達(dá)采集點(diǎn)云數(shù)據(jù)時(shí),點(diǎn)云中的點(diǎn)會(huì)隨著激光雷達(dá)的抖動(dòng)產(chǎn)生運(yùn)動(dòng)畸變,從而無(wú)法獲得正確的里程計(jì)信息,導(dǎo)致既定路線精度較低,容易造成井下安全問(wèn)題。故通過(guò)選用EKF擴(kuò)展卡爾曼濾波消除運(yùn)動(dòng)畸變,同時(shí)對(duì)巡檢機(jī)器人進(jìn)行運(yùn)動(dòng)估計(jì)。
擴(kuò)展卡爾曼濾波(Extended Kalman Filter,EKF)是標(biāo)準(zhǔn)卡爾曼濾波在非線性情形下的一種擴(kuò)展形式,屬于一種高效率的遞歸濾波器(自回歸濾波器)。其基本思想是利用泰勒級(jí)數(shù)展開將非線性系統(tǒng)線性化,然后采用卡爾曼濾波框架對(duì)信號(hào)進(jìn)行濾波[9]。
圖4為擴(kuò)展卡爾曼濾波器的算法結(jié)構(gòu)和步驟:卡爾曼濾波利用點(diǎn)云目標(biāo)的動(dòng)態(tài)信息,去掉其噪聲,得到1個(gè)關(guān)于目標(biāo)位置的好的估計(jì)。這個(gè)估計(jì)可以是對(duì)當(dāng)前目標(biāo)位置的估計(jì)(濾波),也可以是對(duì)于將來(lái)位置的估計(jì)(預(yù)測(cè)),也可以是對(duì)過(guò)去位置的估計(jì)(插值或者平滑)[10]。

圖4 擴(kuò)展卡爾曼濾波器的算法結(jié)構(gòu)圖Fig.4 Algorithm structure diagram of Extended Kalman Filter
3.4.2 運(yùn)動(dòng)估計(jì)
任何含有不確定信息的動(dòng)態(tài)系統(tǒng)中使用卡爾曼濾波,對(duì)系統(tǒng)下一步的走向做出有根據(jù)的預(yù)測(cè),即使伴隨著各種干擾,其總是能指出真實(shí)發(fā)生的情況。
在連續(xù)變化的系統(tǒng)中使用卡爾曼濾波是非常理想的,具有占用內(nèi)存小的優(yōu)點(diǎn)(除了前一個(gè)狀態(tài)量外,不需要保留其他歷史數(shù)據(jù)),并且速度很快,很適合應(yīng)用于實(shí)時(shí)問(wèn)題和嵌入式系統(tǒng)。
擴(kuò)展卡爾曼濾波EKF的狀態(tài)轉(zhuǎn)移方程和觀測(cè)方程為

利用泰勒展開式對(duì)(4)式在上一次的估計(jì)值(θk-2)處展開得:

再利用泰勒展開式對(duì)式(6)在本輪的狀態(tài)預(yù)測(cè)值θ′k處展開得:

其中,F k-1和H k分別表示函數(shù)f(θ)和h(θ)在θk-2和θ′k處的雅可比矩陣。這里對(duì)泰勒展開式只保留到一階導(dǎo)數(shù),二階導(dǎo)數(shù)以上的都舍去,噪聲假設(shè)均為加性高斯噪聲。
整體結(jié)構(gòu)如圖5所示。

圖5 EKF運(yùn)動(dòng)估計(jì)結(jié)構(gòu)圖Fig.5 The motion estimation structure of EKF
通過(guò)傳感器采集數(shù)據(jù)后,進(jìn)行位姿估計(jì)階段,需限定點(diǎn)云數(shù)量的范圍,之后通過(guò)點(diǎn)云配準(zhǔn),以及傳感器采集數(shù)據(jù),進(jìn)行點(diǎn)云位姿的原始估計(jì),最終利用EKF濾波器進(jìn)行位姿的預(yù)測(cè)與更新。
根據(jù)以上描述,算法整體框架如圖6所示。

圖6 LOAM-SLAM算法主要流程圖Fig.6 The flow-process diagram of LOAM-SLAM algorithm
基于礦區(qū)巷道巡檢機(jī)器人的LOAM-SLAM地圖重建改進(jìn)算法的整體流程圖,此過(guò)程描述數(shù)據(jù)采集、濾波處理、運(yùn)動(dòng)估計(jì)以及建圖與定位。算法步驟如下:
Step1:利用單軸單線激光雷達(dá)采集所需點(diǎn)云數(shù)據(jù),本研究選用Velodyne型號(hào)激光雷達(dá),場(chǎng)景為井下模擬礦道。
Step2:通過(guò) Harris 3D角點(diǎn)檢測(cè)算法,對(duì)于獲取的點(diǎn)云數(shù)據(jù)進(jìn)行關(guān)鍵點(diǎn)的檢測(cè),用于之后的點(diǎn)云配準(zhǔn)。Harris 3D確定角點(diǎn)的方法是方塊體內(nèi)點(diǎn)云的數(shù)量變化。若小正方體位于角點(diǎn)上,則在不同方向都會(huì)大幅改變點(diǎn)云數(shù)量。
Step3:EKF濾波器對(duì)于點(diǎn)云數(shù)據(jù)進(jìn)行運(yùn)動(dòng)畸變的消除,消除運(yùn)動(dòng)畸變之后,通過(guò)檢測(cè)出的點(diǎn)云關(guān)鍵點(diǎn),進(jìn)行配準(zhǔn),以及通過(guò)狀態(tài)方程和預(yù)測(cè)方程對(duì)于巡檢機(jī)器人進(jìn)行運(yùn)動(dòng)估計(jì),預(yù)測(cè)和更新巡檢機(jī)器人的位姿。
Step4:通過(guò)EKF對(duì)于點(diǎn)云數(shù)據(jù)的處理以及運(yùn)動(dòng)估計(jì),得到機(jī)器人的位姿變換。
Step5:融合了Lidar Mapping得到的位姿變換和經(jīng)EKF處理后的點(diǎn)云。最終發(fā)布1個(gè)頻率與里程計(jì)發(fā)布頻率一致的位姿變換。
實(shí)驗(yàn)環(huán)境:操作系統(tǒng)為Ubuntu 18.04;ROS環(huán)境為ros-melodic;cuda-10.2,cudnn-7.6。計(jì)算機(jī)硬件:Intel(R)Core(TM)i5-9300H CPU,8GB RAM,512G固態(tài)。編譯語(yǔ)言:C++。傳感器為單軸單線激光雷達(dá)。數(shù)據(jù)采集環(huán)境為礦區(qū)井下模擬巷道。本次實(shí)驗(yàn)主要驗(yàn)證:①改進(jìn)前后算法中里程計(jì)信息對(duì)于旋轉(zhuǎn),2幀數(shù)據(jù)推算時(shí),角度是否變化較大;②改進(jìn)前后算法對(duì)于建圖效果的對(duì)比。
對(duì)于點(diǎn)云旋轉(zhuǎn),實(shí)際上里程計(jì)的前后2幀推算時(shí),角度不會(huì)變化很大,大多數(shù)情況下都是歐拉角中偏航角(yaw)發(fā)生變化,同時(shí)由于角度變化過(guò)小時(shí),點(diǎn)云幀數(shù)據(jù)不會(huì)有太大差異,故該實(shí)驗(yàn)對(duì)點(diǎn)云施加5°旋轉(zhuǎn),按照步長(zhǎng)為5°增加,從而對(duì)比改進(jìn)前后算法精度。
實(shí)驗(yàn)1:2幀點(diǎn)云幀之間yaw角相差5°,改進(jìn)前后算法點(diǎn)云幀變化如圖7所示。

圖7 yaw角相差5°時(shí)點(diǎn)云幀數(shù)據(jù)圖Fig.7 Point cloud frame data diagram when yaw angle difference is 5 degrees
實(shí)驗(yàn)2:2幀點(diǎn)云幀之間yaw角相差10°,改進(jìn)前后算法點(diǎn)云幀變化如圖8所示。

圖8 yaw角相差10°時(shí)點(diǎn)云幀數(shù)據(jù)圖Fig.8 Point cloud frame data diagram when yaw angle difference is 10 degrees
上述實(shí)驗(yàn)均為單軸單線激光雷達(dá)測(cè)試結(jié)果,可以看出改進(jìn)后算法在偏航角變化時(shí),精度更好。
實(shí)驗(yàn)場(chǎng)景為礦區(qū)井下模擬巷道,效果對(duì)比如圖9所示。

圖9 算法改進(jìn)前后效果對(duì)比圖Fig.9 Comparison of effects before and after algorithm improvement
上述實(shí)驗(yàn)均為單軸單線激光雷達(dá)測(cè)試結(jié)果,可以看出改進(jìn)前算法會(huì)出現(xiàn)地圖疊影的現(xiàn)象,而且巷道中的岔路口也沒有體現(xiàn)出來(lái)。改進(jìn)后,疊影現(xiàn)象消失,且可以完整呈現(xiàn)出井下巷道的情況。
提出了一種基于礦區(qū)巷道巡檢機(jī)器人的LOAMSLAM地圖重建改進(jìn)算法,以LOAM算法為基礎(chǔ),在此基礎(chǔ)上改用單軸單線激光雷達(dá)進(jìn)行數(shù)據(jù)采集。同時(shí)進(jìn)行Harris 3D算法、EKF擴(kuò)展卡爾曼濾波的融合,解決了點(diǎn)云數(shù)據(jù)存在大量冗余數(shù)據(jù)、運(yùn)動(dòng)畸變和運(yùn)動(dòng)估計(jì)等問(wèn)題,完成了單軸單線激光雷達(dá)對(duì)于井下巷道地圖的建立。后續(xù)將其進(jìn)行多傳感器數(shù)據(jù)融合,提升建圖定位精度,適用于更多場(chǎng)景。