激光slam综述_开源算法是什么意思
大家好,又見面了,我是你們的朋友風(fēng)君子。如果您正在找激活碼,請(qǐng)點(diǎn)擊查看最新教程,關(guān)注關(guān)注公眾號(hào) “全棧程序員社區(qū)” 獲取激活教程,可能之前舊版本教程已經(jīng)失效.最新Idea2022.1教程親測(cè)有效,一鍵激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟無欺
點(diǎn)擊上方“AI算法修煉營”,選擇加星標(biāo)或“置頂”
標(biāo)題以下,全是干貨
前面的話
好久沒有更新SLAM系列的文章了,前面我們講到了激光SLAM技術(shù)。基于激光雷達(dá)的同時(shí)定位與地圖構(gòu)建技術(shù)(simultaneous localization and mapping, SLAM)以其準(zhǔn)確測(cè)量障礙點(diǎn)的角度與距離、 無須預(yù)先布置場(chǎng)景、可融合多傳感器、 在光線較差環(huán)境工作、 能夠生成便于導(dǎo)航的環(huán)境地圖等優(yōu)勢(shì),成為目前定位方案中不可或缺的新技術(shù)。
激光 SLAM 任務(wù)是搭載激光雷達(dá)的主體于運(yùn)動(dòng)中估計(jì)自身的位姿,同時(shí)建立周圍的環(huán)境地圖。而準(zhǔn)確的定位需要精確的地圖,精確的地圖則來自于準(zhǔn)確的定位,定位側(cè)重自身了解,建圖側(cè)重外在了解。
具體細(xì)節(jié)可以參考文章:2020年最新 iPad Pro上的激光雷達(dá)是什么?來激光SLAM技術(shù)中找答案
今天來講講激光SLAM開源方案對(duì)比。
1. 激光SLAM開源方案對(duì)比
根據(jù)所采用的數(shù)學(xué)優(yōu)化框架, 激光 SLAM 可分為兩大類:基于濾波器(Filter-based)和基于圖優(yōu)化(Graph-based)的激光 SLAM。
1.1 基于濾波器的激光SLAM方案
由 Smith R 等人提出的擴(kuò)展卡爾曼濾波 SLAM 方案(EKF-SLAM),使用最大似然算法進(jìn)行數(shù)據(jù)關(guān)聯(lián),該方案的缺點(diǎn)是計(jì)算量復(fù)雜,魯棒性較差,構(gòu)建的地圖是特征地圖而不是柵格地圖,無法應(yīng)用在導(dǎo)航避障上。
針對(duì) EKF-SLAM 方案的不足, Montemerlo M 等人提出了 FastSLAM 方案,該方案將 SLAM 問題分解成機(jī)器人定位問題和基于已知機(jī)器人位姿的構(gòu)圖問題, 是最早能夠?qū)崟r(shí)輸出柵格地圖的激光 SLAM 方案。
用粒子濾波來估計(jì)機(jī)器人位姿, 將每個(gè)粒子用運(yùn)動(dòng)學(xué)模型進(jìn)行傳播,對(duì)于傳播后的粒子用觀測(cè)模型進(jìn)行權(quán)重計(jì)算并根據(jù)估計(jì)的位姿構(gòu)建地圖。
該方案存在兩個(gè)問題, 第一, 由于每個(gè)粒子包含機(jī)器人的軌跡和對(duì)應(yīng)的環(huán)境地圖,對(duì)于大尺度環(huán)境,若里程計(jì)誤差較大即預(yù)測(cè)分布與真實(shí)分布差異較大, 則需要較多粒子來表示機(jī)器人位姿的后驗(yàn)概率分布,嚴(yán)重消耗內(nèi)存;第二,由于重采樣的隨機(jī)性,隨著重采樣次數(shù)增多,粒子多樣性散失,粒子耗散問題會(huì)嚴(yán)重影響地圖的構(gòu)建。
為了對(duì) FastSLAM 方案進(jìn)行優(yōu)化, Grisetti G 等人提出Gmapping 方案, 以 FastSLAM 方案為基本原理,在較小的環(huán)境中能實(shí)現(xiàn)較好的建圖效果,是目前使用最為廣泛的2D激光 SLAM 方案。
為了解決內(nèi)存消耗嚴(yán)重問題, 將粒子的數(shù)量保持在一個(gè)比較小的數(shù)值, 對(duì)預(yù)測(cè)分布采樣,然后基于優(yōu)化掃描匹配來優(yōu)化位姿。對(duì)于緩解粒子耗散問題,采用減少重采樣次數(shù),用一個(gè)度量表示預(yù)測(cè)分布與真實(shí)分布的差異性,當(dāng)差異性很小時(shí),不進(jìn)行重采樣,當(dāng)差異性很大時(shí),進(jìn)行重采樣。該方案不足是在里程計(jì)模型在傳播時(shí), 對(duì)所有的粒子同等對(duì)待,優(yōu)的粒子在傳播時(shí)可能變成差的粒子, 粒子退化問題嚴(yán)重。因此 Gmapping 方案非常依賴于里程計(jì)信息,構(gòu)建的地圖也取決于里程計(jì)的精度。
針對(duì) Gmapping 方案的不足, Blanco J L 等人在 2010 年提出了更加優(yōu)化的 Optimal RBPF 方案,其在里程計(jì)模型傳播時(shí),一個(gè)粒子每次傳播會(huì)得到 N 個(gè)粒子, 在 N 個(gè)粒子里面選擇最優(yōu)粒子, 作為此次的真實(shí)傳播, 相當(dāng)于每個(gè)粒子給了 N次機(jī)會(huì),大大減少最優(yōu)粒子退化為噪聲很大的粒子情況。
1.2 基于圖優(yōu)化的激光SLAM方案
在激光雷達(dá)領(lǐng)域, Lu F, Milios E 等人首次提出利用圖優(yōu)化(graph-based optimization) 的數(shù)學(xué)框架優(yōu)化 SLAM 問題,通過非線性最小二乘方法來優(yōu)化建圖過程中累積的誤差。其存在的問題在于沒有認(rèn)識(shí)到系統(tǒng)的稀疏性, 離線處理SLAM 問題。
由 Gutmann J 等人提出的圖優(yōu)化框架與當(dāng)前的圖優(yōu)化框架相似,包括局部掃描匹配、全局優(yōu)化、以及子圖與子圖的閉環(huán)檢測(cè),不足是同樣沒有認(rèn)識(shí)到系統(tǒng)的稀疏性,并非實(shí)時(shí) SLAM。
為了進(jìn)一步改善前面工作的不足, Konolige K 等人提出首個(gè)基于圖優(yōu)化框架的開源方案 Karto SLAM,該方案認(rèn)識(shí)到了系統(tǒng)稀疏性,在一定程度上替代了基于濾波器的激光SLAM 方案。該方案的不足是采用局部子圖匹配之前都要構(gòu)建子圖,耗費(fèi)時(shí)間較長;若采用全局匹配方法,則在搜索范圍大的時(shí)候速度會(huì)變慢。
谷歌的 Cartographer開源方案,是對(duì) Karto SLAM 的優(yōu)化方案, 核心內(nèi)容是融合多傳感器數(shù)據(jù)的局部子圖創(chuàng)建以及用于閉環(huán)檢測(cè)的掃描匹配策略。
該方案中前端掃描匹配算法是結(jié)合 CSM 與梯度優(yōu)化來實(shí)現(xiàn)的。在生成一個(gè)子地圖后,會(huì)進(jìn)行一次局部的閉環(huán)檢測(cè);當(dāng)全部子地圖構(gòu)建完成后,利用分枝定界和預(yù)先計(jì)算的網(wǎng)格的算法,進(jìn)行全局閉環(huán)檢測(cè),從而保證閉環(huán)檢測(cè)的速度。該方案的不足是沒有對(duì)閉環(huán)檢測(cè)結(jié)果進(jìn)行驗(yàn)證, 在幾何對(duì)稱的環(huán)境中,容易引起錯(cuò)誤的閉環(huán)。
另外, Kohlbrecher S 等人提出了 Hector-SLAM 方案,該方案利用高斯牛頓方法解決前端掃描匹配問題,把每一幀采集到的激光雷達(dá)數(shù)據(jù)和地圖進(jìn)行匹配,該方案僅有前端掃描匹配的模塊,無后端優(yōu)化的過程。與 Gmapping 方案最大的區(qū)別在于不需要里程計(jì)數(shù)據(jù),里程計(jì)信息通過激光雷達(dá)數(shù)據(jù)估算出來, 所以對(duì)傳感器的測(cè)量頻率要求較高。 在 ROS仿真環(huán)境中運(yùn)行 Hector-SLAM 方案, 若機(jī)器人速度過快尤其是在強(qiáng)旋轉(zhuǎn)的時(shí)候, Hector-SLAM 方案會(huì)發(fā)生漂移現(xiàn)象。在真實(shí)環(huán)境中,由于周圍特征點(diǎn)能夠輔助機(jī)器人定位和建圖,構(gòu)建的柵格地圖會(huì)比仿真環(huán)境中效果好。Hector-SLAM 方案的缺點(diǎn)是對(duì)初值敏感,同時(shí)難以處理閉環(huán)問題。 Hector-SLAM 的整體建圖精度高于Gmapping,但對(duì)參數(shù)配置要求較高。Hector -SLAM 適用于對(duì)地圖要求較高的場(chǎng)合, Gmapping 易用性更好。
1.33D激光SLAM
在 3D 激光 SLAM 領(lǐng)域中, 由 Zhang J 等人提出的LOAM 方案,利用 3D 激光雷達(dá)采集數(shù)據(jù), 進(jìn)行基于特征點(diǎn)的掃描匹配, 利用非線性優(yōu)化方法進(jìn)行運(yùn)動(dòng)估計(jì), 激光里程計(jì)的輸出與地圖進(jìn)行匹配, 包括直線匹配和平面匹配, 無回環(huán)檢測(cè)模塊,點(diǎn)面特征還不夠可靠。
為了進(jìn)一步改進(jìn) LOAM 方案的, Zhang J 等人提出視覺結(jié)合 3D 激光雷達(dá)實(shí)時(shí)建圖的 V-LOAM 方案。利用視覺里程計(jì)以高頻率估計(jì)位姿變換,激光里程計(jì)以低頻率優(yōu)化運(yùn)動(dòng)估計(jì),并校準(zhǔn)漂移。在公開的 KITTI 數(shù)據(jù)集上,V-LOAM 算法精度排名第一, 而且當(dāng)傳感器高速運(yùn)動(dòng)并受到明顯的光照變化時(shí),該方法的魯棒性較好。
Zhang J 等人提出了一種用于自我運(yùn)動(dòng)估計(jì)和建圖的數(shù)據(jù)處理方案 LVIO。該方案連接 3D 激光掃描儀, 相機(jī)和 IMU,順序多層運(yùn)行三個(gè)模塊以產(chǎn)生實(shí)時(shí)自我運(yùn)動(dòng)估計(jì)。粗到精數(shù)據(jù)處理產(chǎn)生高速率估計(jì)并在長距離中構(gòu)建低漂移的地圖。
1.4 發(fā)展趨勢(shì)
幾種激光SLAM算法對(duì)比:
面對(duì)復(fù)雜的周圍環(huán)境,多傳感器融合的SLAM是必然趨勢(shì)。視覺會(huì)提供高精度的里程計(jì)以及信息量豐富的地圖信息,激光雷達(dá)為視覺特征提供準(zhǔn)確的深度信息。SLAM算法的魯棒性與實(shí)時(shí)性有待進(jìn)一步提高。在提高SLAM算法魯棒性方面,需要考慮里程計(jì)的標(biāo)定、激光雷達(dá)的外參與時(shí)間戳標(biāo)定、激光雷達(dá)運(yùn)動(dòng)畸變的去除等數(shù)據(jù)處理過程,同時(shí)針對(duì)退化環(huán)境、全局定位、動(dòng)態(tài)環(huán)境定位等問題還有待完善。
參考:
1. Montemerlo M, Thrun S, Koller D, et al. FastSLAM: a factored solution to the simultaneous localization and mapping problem [C]//Proc of the AAAI National Conference on Artificial Intelligence.California: AAAI press, 2002: 593-598.
2.Grisetti G, Stachniss C, Burgard W. Improved techniques for gridmapping with Rao-Blackwellized Particle Filters [J]. IEEE Trans onRobotics, 2007, 23 (1): 34-46.
3. 《激光SLAM理論與實(shí)踐》深藍(lán)學(xué)院 曾書格
目標(biāo)檢測(cè)系列秘籍一:模型加速之輕量化網(wǎng)絡(luò)秘籍二:非極大值抑制及回歸損失優(yōu)化秘籍三:多尺度檢測(cè)秘籍四:數(shù)據(jù)增強(qiáng)秘籍五:解決樣本不均衡問題秘籍六:Anchor-Free視覺注意力機(jī)制系列Non-local模塊與Self-attention之間的關(guān)系與區(qū)別?視覺注意力機(jī)制用于分類網(wǎng)絡(luò):SENet、CBAM、SKNetNon-local模塊與SENet、CBAM的融合:GCNet、DANetNon-local模塊如何改進(jìn)?來看CCNet、ANN
語義分割系列一篇看完就懂的語義分割綜述最新實(shí)例分割綜述:從Mask RCNN 到 BlendMask超強(qiáng)視頻語義分割算法!基于語義流快速而準(zhǔn)確的場(chǎng)景解析CVPR2020 |HANet:通過高度驅(qū)動(dòng)的注意力網(wǎng)絡(luò)改善城市場(chǎng)景語義分割
基礎(chǔ)積累系列卷積神經(jīng)網(wǎng)絡(luò)中的感受野怎么算?
圖片中的絕對(duì)位置信息,CNN能搞定嗎?理解計(jì)算機(jī)視覺中的損失函數(shù)深度學(xué)習(xí)相關(guān)的面試考點(diǎn)總結(jié)
自動(dòng)駕駛學(xué)習(xí)筆記系列Apollo Udacity自動(dòng)駕駛課程筆記——高精度地圖、厘米級(jí)定位Apollo Udacity自動(dòng)駕駛課程筆記——感知、預(yù)測(cè)Apollo Udacity自動(dòng)駕駛課程筆記——規(guī)劃、控制自動(dòng)駕駛系統(tǒng)中Lidar和Camera怎么融合?
競(jìng)賽與工程項(xiàng)目分享系列如何讓笨重的深度學(xué)習(xí)模型在移動(dòng)設(shè)備上跑起來基于Pytorch的YOLO目標(biāo)檢測(cè)項(xiàng)目工程大合集目標(biāo)檢測(cè)應(yīng)用競(jìng)賽:鋁型材表面瑕疵檢測(cè)基于Mask R-CNN的道路物體檢測(cè)與分割
SLAM系列視覺SLAM前端:視覺里程計(jì)和回環(huán)檢測(cè)視覺SLAM后端:后端優(yōu)化和建圖模塊視覺SLAM中特征點(diǎn)法開源算法:PTAM、ORB-SLAM視覺SLAM中直接法開源算法:LSD-SLAM、DSO視覺SLAM中特征點(diǎn)法和直接法的結(jié)合:SVO
2020年最新的iPad Pro上的激光雷達(dá)是什么?來聊聊激光SLAM
總結(jié)
以上是生活随笔為你收集整理的激光slam综述_开源算法是什么意思的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 发布一篇新的
- 下一篇: 魂2联机魂有什么等级