一.測試的SLAM方案
本次我共測試了github上開源的8種方案,按照特點可分為
| 特點 | 方案 |
|---|---|
| 純Lidar | A-LOAM(港科大版本的LOAM),hdl_graph_slam,BLAM |
| Lidar與IMU松耦合 | LeGo-LOAM,SC-LeGo-LOAM(在LeGo-LOAM上使用了一種新的回環(huán)檢測方法) |
| Lidar與IMU緊耦合 | LINS,LIO-SAM,LIOM |
說明
上述方案中除了hdl_graph_slam和BLAM外,其余方案都是基于LOAM或LeGo-LOAM
在實驗中,hdl_graph_slam和BLAM在所有數(shù)據(jù)集上的性能均不理想,因而下面不再討論。而SC-LeGo-LOAM的性能較之LeGo-LOAM也沒有明顯改善,因而下面也不再討論。
原生Demo
在第二部分的實驗結(jié)果展示中,為了方便比較,不同方案得到的結(jié)果形式都進行了統(tǒng)一化,但實際上各種方案在執(zhí)行時的視覺效果是不同的,這里展示了利用各種方案的原生配置所得到的demo,日后可根據(jù)需要配置成下面的任意一種效果:

二.實驗
實驗共使用了5段在偉清樓附近采集的數(shù)據(jù):
| 數(shù)據(jù)段名稱 | 采集時間 | 傳感器配置 | 路程 | 備注 |
|---|---|---|---|---|
| museum_out | 2020.7.25 | 10Hz Lidar+ 100Hz IMU | 639m | 無 |
| museum_in | 2020.7.25 | 10Hz Lidar+ 100Hz IMU | 226m | 回環(huán) |
| outdoor3 | 2020.7.27 | 10Hz Lidar+ 400Hz IMU | 481m | 回環(huán) |
| outdoor4 | 2020.7.27 | 10Hz Lidar+ 400Hz IMU | 562m | 回環(huán) |
| aggresive | 2020.7.27 | 10Hz Lidar+ 400Hz IMU | 138m | 回環(huán),劇烈運動 |
說明
兩日的數(shù)據(jù):由于在7.25采集的兩段數(shù)據(jù)中沒有明顯看出加入IMU的優(yōu)勢,于是在7.27我將IMU頻率調(diào)高至LINS,LIOM和LIO-SAM所采用的400Hz后又采集了三段數(shù)據(jù)。
IMU的校正:在每次采集數(shù)據(jù)前,我都將IMU的z軸與重力加速度重新對齊,方法是利用手機軟件(如:水平儀,AIDA64等)測量,尋找到一個較好的水平面,將實驗設(shè)備置于其上,利用Mtmanager對IMU進行Alignment Reset,實現(xiàn)z軸的重置。
IMU初值:IMU緊耦合算法中需要提供IMU的初始零偏(bias)和噪聲方差,而每段數(shù)據(jù)在開始時的一段時間內(nèi)實驗設(shè)備都是靜止的,因而我利用這段時間內(nèi)(約5s)的IMU測量值進行了零偏和噪聲的估計。需要注意的是,由于IMU是粘貼在Lidar外殼上的,而Lidar在掃描時會引起外殼周期性的振動,這也反映在了IMU的測量值中,如下圖:

x軸和y軸的加速度ax,ay和角速度wx,wy有明顯的周期性,周期為雷達的掃描周期。而經(jīng)過進一步的DFT分析,可以發(fā)現(xiàn)ax,ay,wx,wy,wz在10Hz和40Hz的頻譜分量最高,說明雷達振動的基波和4次諧波影響較大。為了去除振動影響,我暫時采取了時域擬合的方法,利用基波和4次諧波的組合來擬合測量信號,使得總誤差最小,然后將擬合出的振動信號從測量信號中減去,將所得信號的均值和方差作為IMU的零偏和噪聲方差。
1. museum_out
采集路線:從藝術(shù)博物館停車場出發(fā),環(huán)繞外圍一周后來到偉清樓旁空地。

定位結(jié)果:

?

建圖結(jié)果:

結(jié)論:
從定位結(jié)果上看,各種算法在x,y的估計上比較接近,分歧主要在高度z的估計上。根據(jù)實際情況,起點和終點的高度差并不是很大,LIO-SAM和LeGo-LOAM在這點上性能較好,其余方案則略有不足。
從建圖結(jié)果上看,各算法的建圖效果相當,只是LINS和LeGo-LOAM的地圖稍微稀疏一些。
2. museum_in
采集路線:從藝術(shù)博物館水池出發(fā),在內(nèi)場游走后回到原點:

定位結(jié)果:

?

建圖結(jié)果:

結(jié)論:
從定位結(jié)果看,LIOM與其他方法有較大偏移,但軌跡的形狀卻是相似的,這是由于LIOM對IMU和Lidar外參進行了校正,使得坐標系有所偏移。ALOAM和LIOM很好地閉合了回環(huán),但LIO-SAM,LINS和LeGo-LOAM的性能也還不錯,也接近閉合。
從建圖結(jié)果上看,各算法的建圖效果相當,只是LINS和LeGo-LOAM的地圖稍微稀疏一些。
3. outdoor3
采集路線:從偉清樓出發(fā),環(huán)繞附近建筑一周后返回原點:

定位結(jié)果:

?

建圖結(jié)果:

結(jié)論:
從定位結(jié)果來看,IMU緊耦合且存在回環(huán)檢測的LIO-SAM成功地閉合了回環(huán),其他方案都發(fā)生了明顯漂移,其中,LeGo-LOAM在z方向產(chǎn)生了相當離譜的估計,這是由于點云中地面點較少,不能很好地約束住z方向,而使用了IMU緊耦合的另外兩種LINS,LIOM較之ALOAM漂移較少,證明高頻IMU起到了一定的約束作用。
從建圖結(jié)果來看,LIO-SAM由于閉合了回環(huán),建立了全局一致的地圖。而其他方案建立的地圖中則可以看出明顯的漂移,例如圖中左下角顯示了起點處地圖的側(cè)視圖,可以看到除LIO-SAM外,其他方案的地圖都出現(xiàn)明顯的分層現(xiàn)象,這就是z方向漂移的結(jié)果。
4. outdoor4
采集路線:從偉清樓出發(fā),與outdoor3方向相反地環(huán)繞附近建筑一周后返回原點:

定位結(jié)果:

?

建圖結(jié)果:

結(jié)論:
從定位結(jié)果來看,只有LIO-SAM很好地閉合了回環(huán)。LeGo-LOAM再次發(fā)生了退化,估計效果不佳,而LINS和LIOM在z方向產(chǎn)生了明顯漂移,ALOAM在y和z方向都產(chǎn)生了明顯漂移,說明IMU還是起到了一定的約束作用。
從建圖結(jié)果來看,LIO-SAM得到了全局一致的地圖,而其他方法由于漂移建圖效果不太理想,例如圖中的左下部分顯示了起點處地圖的俯視圖,可以看到除LIO-SAM外都存在分層現(xiàn)象,這是z方向漂移的結(jié)果,而ALOAM和LeGo-LOAM還可以看出明顯的平行相似結(jié)構(gòu)(如柱子和右側(cè)墻壁),這是y方向漂移的結(jié)果。
5. aggressive
采集路線:從偉清樓出發(fā),在偉清樓,英士樓和劉卿樓圍城的空地上行走,途中伴隨有跑步后驟停,猛烈轉(zhuǎn)彎等劇烈動作,最終回到原點:

定位結(jié)果:

?

建圖結(jié)果:

結(jié)論:
從定位結(jié)果來看,LIO-SAM和LIOM很好地閉合了回環(huán)。LINS在z方向產(chǎn)生了明顯漂移,ALOAM在y和z方向都產(chǎn)生了明顯漂移,LeGo-LOAM則索性崩潰,這說明IMU還是起到了一定的約束作用。
從建圖結(jié)果來看,采用了IMU緊耦合的三種方案LIO-SAM和LIOM和LINS得到的地圖看起來都還不錯,很難看出漂移或失真痕跡,而ALOAM和LeGo-LOAM的結(jié)果就相當糟糕了!
三.總結(jié)
各種方案的優(yōu)缺點如下:
?
| 方案 | 優(yōu)點 | 不足 |
|---|---|---|
| ALOAM | 1. 在幾何特征豐富時比較穩(wěn)定 |
1. 后期內(nèi)存會出現(xiàn)爆炸,計算效率下降 2. 在幾何特征較少時會產(chǎn)生明顯漂移 |
| LeGo-LOAM |
1. 在地面點豐富時比較穩(wěn)定 2. 輕量級 |
1. 在地面點缺乏時很容易崩潰 2. 得到的地圖比較稀疏 |
| LINS | 1. 輕量級 |
1. z方向漂移明顯 2. 得到的地圖比較稀疏 3. 目前的版本要求Lidar與IMU體坐標系的xy平面平行,不接受自己提供的外參 |
| LIO-SAM |
1. 存在回環(huán)檢測,能較好地閉合回環(huán) 2. 穩(wěn)定性強 3. Demo看起來比較舒服 |
1. 在幾何特征豐富的情況下可能不如ALOAM |
| LIOM | 1. 存在重力加速度的校正和IMU初始狀態(tài)估計 |
1. 穩(wěn)定性不好,有時性能好,有時又不行,可能與其初始化環(huán)節(jié)的性能有關(guān) 2. 內(nèi)存占用大,時間性能較差 |
?
在進行IMU校正后,融合高頻IMU確實能夠提升SLAM性能,尤其是在幾何特征缺乏或者劇烈運動的情況下。
LIO-SAM在定位和建圖方面做的都不錯,比較建議使用。
編輯:黃飛
?
電子發(fā)燒友App







評論