一.測試的SLAM方案
本次我共測試了github上開源的8種方案,按照特點可分為
特點 | 方案 |
---|---|
純Lidar | A-LOAM(港科大版本的LOAM),hdl_graph_slam,BLAM |
Lidar與IMU松耦合 | LeGo-LOAM,SC-LeGo-LOAM(在LeGo-LOAM上使用了一種新的回環檢測方法) |
Lidar與IMU緊耦合 | LINS,LIO-SAM,LIOM |
說明
上述方案中除了hdl_graph_slam和BLAM外,其余方案都是基于LOAM或LeGo-LOAM
在實驗中,hdl_graph_slam和BLAM在所有數據集上的性能均不理想,因而下面不再討論。而SC-LeGo-LOAM的性能較之LeGo-LOAM也沒有明顯改善,因而下面也不再討論。
原生Demo
在第二部分的實驗結果展示中,為了方便比較,不同方案得到的結果形式都進行了統一化,但實際上各種方案在執行時的視覺效果是不同的,這里展示了利用各種方案的原生配置所得到的demo,日后可根據需要配置成下面的任意一種效果:
二.實驗
實驗共使用了5段在偉清樓附近采集的數據:
數據段名稱 | 采集時間 | 傳感器配置 | 路程 | 備注 |
---|---|---|---|---|
museum_out | 2020.7.25 | 10Hz Lidar+ 100Hz IMU | 639m | 無 |
museum_in | 2020.7.25 | 10Hz Lidar+ 100Hz IMU | 226m | 回環 |
outdoor3 | 2020.7.27 | 10Hz Lidar+ 400Hz IMU | 481m | 回環 |
outdoor4 | 2020.7.27 | 10Hz Lidar+ 400Hz IMU | 562m | 回環 |
aggresive | 2020.7.27 | 10Hz Lidar+ 400Hz IMU | 138m | 回環,劇烈運動 |
說明
兩日的數據:由于在7.25采集的兩段數據中沒有明顯看出加入IMU的優勢,于是在7.27我將IMU頻率調高至LINS,LIOM和LIO-SAM所采用的400Hz后又采集了三段數據。
IMU的校正:在每次采集數據前,我都將IMU的z軸與重力加速度重新對齊,方法是利用手機軟件(如:水平儀,AIDA64等)測量,尋找到一個較好的水平面,將實驗設備置于其上,利用Mtmanager對IMU進行Alignment Reset,實現z軸的重置。
IMU初值:IMU緊耦合算法中需要提供IMU的初始零偏(bias)和噪聲方差,而每段數據在開始時的一段時間內實驗設備都是靜止的,因而我利用這段時間內(約5s)的IMU測量值進行了零偏和噪聲的估計。需要注意的是,由于IMU是粘貼在Lidar外殼上的,而Lidar在掃描時會引起外殼周期性的振動,這也反映在了IMU的測量值中,如下圖:
x軸和y軸的加速度ax,ay和角速度wx,wy有明顯的周期性,周期為雷達的掃描周期。而經過進一步的DFT分析,可以發現ax,ay,wx,wy,wz在10Hz和40Hz的頻譜分量最高,說明雷達振動的基波和4次諧波影響較大。為了去除振動影響,我暫時采取了時域擬合的方法,利用基波和4次諧波的組合來擬合測量信號,使得總誤差最小,然后將擬合出的振動信號從測量信號中減去,將所得信號的均值和方差作為IMU的零偏和噪聲方差。
1. museum_out
采集路線:從藝術博物館停車場出發,環繞外圍一周后來到偉清樓旁空地。
定位結果:
?
建圖結果:
結論:
從定位結果上看,各種算法在x,y的估計上比較接近,分歧主要在高度z的估計上。根據實際情況,起點和終點的高度差并不是很大,LIO-SAM和LeGo-LOAM在這點上性能較好,其余方案則略有不足。
從建圖結果上看,各算法的建圖效果相當,只是LINS和LeGo-LOAM的地圖稍微稀疏一些。
2. museum_in
采集路線:從藝術博物館水池出發,在內場游走后回到原點:
定位結果:
?
建圖結果:
結論:
從定位結果看,LIOM與其他方法有較大偏移,但軌跡的形狀卻是相似的,這是由于LIOM對IMU和Lidar外參進行了校正,使得坐標系有所偏移。ALOAM和LIOM很好地閉合了回環,但LIO-SAM,LINS和LeGo-LOAM的性能也還不錯,也接近閉合。
從建圖結果上看,各算法的建圖效果相當,只是LINS和LeGo-LOAM的地圖稍微稀疏一些。
3. outdoor3
采集路線:從偉清樓出發,環繞附近建筑一周后返回原點:
定位結果:
?
建圖結果:
結論:
從定位結果來看,IMU緊耦合且存在回環檢測的LIO-SAM成功地閉合了回環,其他方案都發生了明顯漂移,其中,LeGo-LOAM在z方向產生了相當離譜的估計,這是由于點云中地面點較少,不能很好地約束住z方向,而使用了IMU緊耦合的另外兩種LINS,LIOM較之ALOAM漂移較少,證明高頻IMU起到了一定的約束作用。
從建圖結果來看,LIO-SAM由于閉合了回環,建立了全局一致的地圖。而其他方案建立的地圖中則可以看出明顯的漂移,例如圖中左下角顯示了起點處地圖的側視圖,可以看到除LIO-SAM外,其他方案的地圖都出現明顯的分層現象,這就是z方向漂移的結果。
4. outdoor4
采集路線:從偉清樓出發,與outdoor3方向相反地環繞附近建筑一周后返回原點:
定位結果:
?
建圖結果:
結論:
從定位結果來看,只有LIO-SAM很好地閉合了回環。LeGo-LOAM再次發生了退化,估計效果不佳,而LINS和LIOM在z方向產生了明顯漂移,ALOAM在y和z方向都產生了明顯漂移,說明IMU還是起到了一定的約束作用。
從建圖結果來看,LIO-SAM得到了全局一致的地圖,而其他方法由于漂移建圖效果不太理想,例如圖中的左下部分顯示了起點處地圖的俯視圖,可以看到除LIO-SAM外都存在分層現象,這是z方向漂移的結果,而ALOAM和LeGo-LOAM還可以看出明顯的平行相似結構(如柱子和右側墻壁),這是y方向漂移的結果。
5. aggressive
采集路線:從偉清樓出發,在偉清樓,英士樓和劉卿樓圍城的空地上行走,途中伴隨有跑步后驟停,猛烈轉彎等劇烈動作,最終回到原點:
定位結果:
?
建圖結果:
結論:
從定位結果來看,LIO-SAM和LIOM很好地閉合了回環。LINS在z方向產生了明顯漂移,ALOAM在y和z方向都產生了明顯漂移,LeGo-LOAM則索性崩潰,這說明IMU還是起到了一定的約束作用。
從建圖結果來看,采用了IMU緊耦合的三種方案LIO-SAM和LIOM和LINS得到的地圖看起來都還不錯,很難看出漂移或失真痕跡,而ALOAM和LeGo-LOAM的結果就相當糟糕了!
三.總結
各種方案的優缺點如下:
?
方案 | 優點 | 不足 |
---|---|---|
ALOAM | 1. 在幾何特征豐富時比較穩定 |
1. 后期內存會出現爆炸,計算效率下降 2. 在幾何特征較少時會產生明顯漂移 |
LeGo-LOAM |
1. 在地面點豐富時比較穩定 2. 輕量級 |
1. 在地面點缺乏時很容易崩潰 2. 得到的地圖比較稀疏 |
LINS | 1. 輕量級 |
1. z方向漂移明顯 2. 得到的地圖比較稀疏 3. 目前的版本要求Lidar與IMU體坐標系的xy平面平行,不接受自己提供的外參 |
LIO-SAM |
1. 存在回環檢測,能較好地閉合回環 2. 穩定性強 3. Demo看起來比較舒服 |
1. 在幾何特征豐富的情況下可能不如ALOAM |
LIOM | 1. 存在重力加速度的校正和IMU初始狀態估計 |
1. 穩定性不好,有時性能好,有時又不行,可能與其初始化環節的性能有關 2. 內存占用大,時間性能較差 |
?
在進行IMU校正后,融合高頻IMU確實能夠提升SLAM性能,尤其是在幾何特征缺乏或者劇烈運動的情況下。
LIO-SAM在定位和建圖方面做的都不錯,比較建議使用。
編輯:黃飛
?
評論
查看更多