楊義軍 張正祥
摘 要:本文利用超聲波傳感器和紅外傳感器提取障礙物的邊緣線段特征描述室內(nèi)環(huán)境.提出來(lái)一種基于線段特征編碼建圖的SLAM方法。該方法將機(jī)器人提取的線段特征建立特征表,并將其進(jìn)行編碼后存取在內(nèi)存中,節(jié)省了建圖所需的內(nèi)存空間。在VoyagerⅡA移動(dòng)機(jī)器人平臺(tái)上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果驗(yàn)證了該算法的可行性和有效性.
關(guān)鍵字:同時(shí)定位與建圖(SLAM);線段特征;線段特征編碼
1.引言
移動(dòng)機(jī)器人在室內(nèi)未知環(huán)境中進(jìn)行同時(shí)定位與地圖創(chuàng)建
(Simultaneous Localization and Mapping, SLAM )是為了能讓移動(dòng)機(jī)器人有效地對(duì)室內(nèi)未知環(huán)境進(jìn)行探索并完成給定的任務(wù)[1].因此,它需要有定位與創(chuàng)建地圖的能力.移動(dòng)機(jī)器人在室內(nèi)未知環(huán)境中運(yùn)動(dòng)時(shí)逐步構(gòu)建環(huán)境地圖.同時(shí)運(yùn)用此地圖對(duì)機(jī)器人位置和姿態(tài)進(jìn)行估計(jì)[2].對(duì)該問(wèn)題的研究最早是Thrun和Williams等人在文[4]中使用擴(kuò)展卡爾曼濾波器(Extended Kalman filter, EKF),來(lái)進(jìn)行估計(jì). 后來(lái)這種方法被廣泛應(yīng)用于不同環(huán)境下SLAM問(wèn)題,但EKF的瓶頸在于其計(jì)算復(fù)雜性[5].
近年來(lái)很多研究者摒棄了嚴(yán)格的卡爾曼過(guò)濾器或統(tǒng)計(jì)形式,而是采用一些基本導(dǎo)航和SLAM問(wèn)題的數(shù)值計(jì)算方法.這些方法包括采用標(biāo)志性的地標(biāo)匹配,全球地圖的配準(zhǔn),有界區(qū)域法等[6]. Thrun等人使用貝葉斯方法創(chuàng)建地圖,沒(méi)有按Kalman濾波的要求假定高斯概率分布.這種方法能讓移動(dòng)機(jī)器人非常有效的定位和創(chuàng)建地圖,但當(dāng)傳感器獲取信息量的越多時(shí)解決SLAM問(wèn)題的難度就越大.
本文對(duì)室內(nèi)環(huán)境定位與建圖進(jìn)行深入分析,利用障礙物邊緣線段特征描述環(huán)境,使用線段編碼的方式建圖,節(jié)省了建圖時(shí)所需的內(nèi)存空間. 增強(qiáng)了機(jī)器人SLAM的適時(shí)性.
2.線性特征提取
由于目前絕大多數(shù)的SLAM方法都是采用路標(biāo)特征地圖和柵格地圖,但是柵格地圖所需要的內(nèi)存大,因而不適用于大環(huán)境下SLAM.路標(biāo)特征地圖要求人工放置路標(biāo),這種方法需要預(yù)先布置好環(huán)境,不具有普適性,因而本文采用檢測(cè)障礙物的邊緣線段特征SLAM的方法.為了提取準(zhǔn)確的邊緣線段特征本文采用混合哈夫變換和最小二乘直線擬合方法(混合直線擬合算法),并在此基礎(chǔ)上加入相應(yīng)的預(yù)處理和后處理過(guò)程,具體計(jì)算步聚如下:
根據(jù)超聲波傳感器和紅外傳感器的觀測(cè)范圍對(duì)原始數(shù)據(jù)進(jìn)行過(guò)濾,去除超出傳感器觀測(cè)范圍的數(shù)據(jù).
先根據(jù)描述點(diǎn)的連續(xù)性將不同障礙物的描述點(diǎn)分開(kāi),再根據(jù)哈夫變換的選舉點(diǎn)將每個(gè)障礙物的描述點(diǎn)細(xì)分成不同線段的描述點(diǎn).
對(duì)不同部分的數(shù)據(jù)分別采用混合直線擬合算法提取極坐標(biāo)條件下的線性特征.
將提取的障礙物邊緣線段特征進(jìn)行篩選,去除與傳感器方向過(guò)小的線段特征.
將障礙物邊緣線段特征以表格的形式存入內(nèi)存中,并對(duì)標(biāo)記J和標(biāo)記進(jìn)行初始化,通常先賦值為0.
3.基于線段特征編碼的地圖創(chuàng)建
當(dāng)機(jī)器人探測(cè)完一些環(huán)境區(qū)域后,線段特征數(shù)據(jù)存取在內(nèi)存中的順序是混亂的.機(jī)器人如何快速的將內(nèi)存中的數(shù)據(jù)還原成一幅準(zhǔn)確的地圖是SLAM問(wèn)題的一個(gè)難點(diǎn)[8].針對(duì)上述問(wèn)題,我們采用線段特征編碼的方法解決.在這一節(jié)中,我們將詳細(xì)的介紹線段特征編碼的方法.線段特征編碼法標(biāo)記的對(duì)象是線段,先根據(jù)線段的連通關(guān)系判斷哪些線段屬于同一障礙物,進(jìn)而根據(jù)線段的鄰近關(guān)系對(duì)各線段表中的線段進(jìn)行標(biāo)記和排序.
線段編碼法可分為線段表掃描,線段是否為在一障礙物關(guān)系判斷,統(tǒng)一標(biāo)記,標(biāo)記排序和地圖創(chuàng)建5個(gè)步聚,它的實(shí)現(xiàn)步聚如下:
(1)逐行掃描內(nèi)存中的初始線段表,即獲取線段的線段特征信息.
(2) 根據(jù)線段的連通關(guān)系判斷線段表中哪些線段屬于同一障礙物,并做相應(yīng)處理:
(2a) 如果第j條線段和第 i條線段相連通且第 i條線段還未做標(biāo)記,則將第j條線段的標(biāo)記賦給第i條線段(j
(2b) 若第j條線段和第i條線段相連通且第i條線段已做標(biāo)記,則記下這兩條線段標(biāo)記間的等價(jià)關(guān)系.
(2c) 若第j條線段和第i條線段不相連通,則賦予第i條線段新的標(biāo)記,并繼續(xù)檢測(cè)新的線段.
(3)統(tǒng)一具有等價(jià)標(biāo)記的同一障礙物邊緣線段的標(biāo)記,使得相同障礙物的邊緣線段采用相同的標(biāo)記.
(4)根據(jù)線段的鄰近關(guān)系和鄰近度對(duì)線段進(jìn)行標(biāo)記和排序,方法同上.
(5)編碼完成后機(jī)器人根據(jù)內(nèi)存中存取的線段表在直角坐標(biāo)系中依次畫(huà)出所有線段完成地圖的創(chuàng)建.
參考文獻(xiàn)
[1] S Thrun, D Fox and W Burgard. A probabilistic approach to concurrent mapping and localization for mobile robots[J]. Mach,Learning Autonom, Robots, 1998, 31, 29–53.
[2] 王彭林,石守東,洪小偉. 基于單目視覺(jué)和里程計(jì)的SLAM算法研究[J]. 計(jì)算機(jī)仿真, 2008, 25(10):172-175.
[3] 吳功偉,周文輝,顧偉康. 基于視差空間的雙目視覺(jué)里程計(jì)[J]. 傳感技術(shù)學(xué)報(bào),2007, 20(6):1432-1436.
[4] 熊蓉. 室內(nèi)未知環(huán)境線段特征地圖構(gòu)建[D]. 浙江大學(xué),2009.
[5] 陸宗騏,朱煜. 使用線段表實(shí)現(xiàn)線段編碼與種子填充的快速算法(J). 中國(guó)圖像圖形學(xué)報(bào),2009,14(3):499-504.
[6] 賀鋒. 室內(nèi)環(huán)境下移動(dòng)機(jī)器人定位和建圖研究(D).南開(kāi)大學(xué),2008.
[7] 武濤,孫鳳池,苑晶等.一種基于線段特征的室內(nèi)環(huán)境主動(dòng)SLAM方法.機(jī)器人,2009,31(2):166-170
[8] 吳功偉,周文輝,顧偉康. 基于視差空間的雙目視覺(jué)里程計(jì). 傳感技術(shù)學(xué)報(bào),2007,20(6):1432-1436
作者簡(jiǎn)介
楊義軍,男,云南省大理市,工程師,碩士,人工智能。