机器人开发--二维激光SLAM介绍
生活随笔
收集整理的這篇文章主要介紹了
机器人开发--二维激光SLAM介绍
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
機器人開發(fā)--二維激光SLAM介紹
- 1 SLAM簡介
- 1.1 概述
- 1.2 應用
- 1.3 歷史發(fā)展
- 2 SLAM中3個模塊
- 2.1 前端里程計模塊
- 實現(xiàn)原理
- 實現(xiàn)方法
- 2.2 后端優(yōu)化模塊
- 2.3 回環(huán)檢測模塊
- 參考
1 SLAM簡介
1.1 概述
SLAM本質(zhì)就是確定自己在哪里的哪里,如在蘇州中心的正東邊66米處。
- SLAM (Simultaneous Localization and Mapping),也稱為CML (Concurrent Mapping and Localization), 即時定位與地圖構(gòu)建,或并發(fā)建圖與定位。
- 機器人自主定位導航技術(shù)中包括:定位和地圖創(chuàng)建(SLAM)與路徑規(guī)劃和運動控制兩個部分,而SLAM本身只是完成機器人的定位和地圖創(chuàng)建,二者有所區(qū)別。
- 自主導航的解決方案:SLAM + 路徑規(guī)劃 + 運動控制;
- 在虛擬現(xiàn)實(Virtual Reality)和增強現(xiàn)實技術(shù)(Argument Reality)中,沒有SLAM提供的定位,用戶就無法在場景中漫游。
1.2 應用
- 二維激光SLAM構(gòu)建的二維柵格地圖,可以用來做機器人的定位與導航。
- 三維激光SLAM構(gòu)建的三維點云地圖,可以用來做無人車的定位與導航,也可以用來做三維建模。
- 視覺SLAM構(gòu)建的稀疏點云地圖,可以用來做定位。
- 視覺SLAM構(gòu)建的半稠密與稠密的點云地圖,可以用來做定位與導航,也可以用來做VR領(lǐng)域的交互場景,也可以用來做三維建模。
1.3 歷史發(fā)展
2 SLAM中3個模塊
前端里程計模塊,后端優(yōu)化模塊,以及回環(huán)檢測模塊
2.1 前端里程計模塊
機器人行走里程由編碼器、IMU等給出的。
實現(xiàn)原理
- 激光SLAM
激光雷達的頻率一般是10Hz-40Hz之間。只要確定第一幀雷達數(shù)據(jù)與第二幀雷達數(shù)據(jù)的時間間隔內(nèi),機器人走了多遠,再確定第二幀到第三幀雷達數(shù)據(jù)的時間間隔內(nèi),機器人走了多遠(位姿變換),依次類推,就可以一直確定機器人到底走了多遠,確定機器人當前的位姿與初始時刻的相對位姿。 - 視覺SLAM
攝像頭的數(shù)據(jù)是一幀一幀的圖像,可能是RGB彩色圖像,也可能是彩色圖像加上深度圖像。一般的處理方法為在圖像中提取特征點,然后確定特征點在空間中的坐標值,通過這些特征點,確定機器人在2幀圖像間的位姿變換,再確定第二幀圖像與第三幀圖像間的位姿變換,依次類推,就可以確定了機器人當前的位姿與初始時刻的相對位姿。
上述過程確定了機器人相對于初始時刻以及相對于每幀數(shù)據(jù)到來時的位姿變換,這個過程就是定位的過程。
實現(xiàn)方法
對于激光SLAM來說,求從前一幀雷達數(shù)據(jù)到當前幀雷達數(shù)據(jù)間的位姿變換,一般將這個過程稱為 掃描匹配(scan-matching) 過程。scan就是雷達的數(shù)據(jù),通過與前一幀數(shù)據(jù)進行匹配,從而確定處位姿變換。
目前的掃描匹配方法為:
- scan-to-scan:雷達數(shù)據(jù)與雷達數(shù)據(jù)進行匹配
- scan-to-map:雷達數(shù)據(jù)與地圖進行匹配
- scan-to-submap:雷達數(shù)據(jù)與子地圖進行匹配
- map-to-map:地圖與地圖進行匹配
對于視覺SLAM來說,求從前一幀圖像到當前幀圖像間的位姿變換,一般將這個過程稱為 BA(Bundle Adjustment)。
2.2 后端優(yōu)化模塊
- 使用編碼器得到的里程計或者前端計算出來的里程計,一般都會有誤差。誤差可能來自編碼器,也可能來自地面打滑、地面凹陷突起等。誤差不做處理,會一直累積,導致機器人在地圖中丟失位置。
- 后端優(yōu)化就是為了減小累計誤差的。通過圖結(jié)構(gòu),將機器人的各個位姿以及生成的地圖數(shù)據(jù),進行聯(lián)合優(yōu)化,通過優(yōu)化求解,將所有的誤差平均分散到每個機器人位姿以及每個地圖數(shù)據(jù)上去,當優(yōu)化過程十分完美的時候,這些累計誤差可以減小到可以忽略的地步。
2.3 回環(huán)檢測模塊
- 回環(huán)檢測,又稱閉環(huán)檢測,是指機器人識別曾到達某場景,使得地圖閉環(huán)的能力。說的簡單點,就是機器人在左轉(zhuǎn)一下,右轉(zhuǎn)一下建圖的時候能意識到某個地方是“我”曾經(jīng)來過的,然后把此刻生成的地圖與剛剛生成的地圖做匹配。
- 回環(huán)檢測之所以能成為一個難點,是因為:如果回環(huán)檢測成功,可以顯著地減小累積誤差,幫助機器人更精準、快速的進行避障導航工作。而錯誤的檢測結(jié)果可能使地圖變得很糟糕。因此,回環(huán)檢測在大面積、大場景地圖構(gòu)建上是非常有必要的 。
- 思嵐的回環(huán)檢測
先小閉環(huán),后大閉環(huán) ;選擇特征豐富的點作為閉環(huán)點;多走重合之路,完善閉環(huán)細節(jié)。
- 思嵐的超大場景下建圖完整閉合過程
參考
1、
2、李想–從零開始搭二維激光SLAM
3、李想–從零開始搭二維激光SLAM項目地址
4、百科–SLAM (同步定位與建圖)
5、基于SLAM的機器人的自主定位導航
6、移動機器人定位與地圖創(chuàng)建(SLAM)方法
7、知乎–同時定位和地圖構(gòu)建(SLAM)
8、干貨 | 超全SLAM技術(shù)及應用介紹
9、SLAM大法之回環(huán)檢測
總結(jié)
以上是生活随笔為你收集整理的机器人开发--二维激光SLAM介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: datetime instant 转_j
- 下一篇: sever企业版密钥 sql_SQL S