日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

激光slam理论与实践

發布時間:2023/12/31 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 激光slam理论与实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本篇是記錄曾書格老師的課程《激光slam理論與實踐》

先貼一下個人總結(有理解的不正確的,麻煩指出來):

第一章:激光SLAM簡要介紹

1、輸出Metrical map尺度地圖,slam分為兩種:基于濾波的 filter-based 的SLAM,和Graph-based的SLAM。

2、

(1)基于Graph-based的代表是cartographer,可以修復 t 時刻之前的誤差分為兩部分Front-end ,和Back-end。

(2)基于PF的代表gmapping,只能估計X(t)當前時刻的位姿,不能修復之前時刻產生的誤差。在大面積的情況下,就無法建圖了。粒子濾波實際上是一個貝葉斯估計的過程,其流程是一個狀態預測的過程,分為6步:

卡爾曼是貝葉斯在線性高斯的特殊情況。

(3)

??

? ? 實際中,IMU算角度,里程計算距離

(4)幀間匹配算法:

ICP 是計算點對點的,沒人用了。而PI-ICP是計算點對線的。

NDT用于三維的slam。

CSM:是最主要的方法。

? ? ?? scan-scan已經沒人用了;

? ? ?? scan-to-Map代表是cartographer。

? ? ?? Map-to-Map還沒有用,但是效果最好。與X(t)時刻之前的幾幀進行回環檢測。

3、2D激光SLAM(用的2D的激光雷達)

(1)2D激光slam的幀間匹配

? ?? (A)PI-ICP

? ? (B)CSM(Correlation Scan Match)

? ? (C)梯度優化的方法:Hector—SLAM

? ? (D)CSM+梯度優化:cartographer

(2)2D 激光SLAM的回環檢測方法

? ? (A)分支定界Branch and Bound&lazy Decison(延遲決策) ,代表:cartographer

? ? (B)Scan-to-Map

(3)

? ??

(A)EKF-SLAM構建的是feature 地圖,而不是grid柵格地圖,所以無法用于導航,只能用于定位。

(B)gmapping是Grid版本的FastSLAM,加入了scan-match。

(C)在Optimal RBPF在gmapping上做了優化,是MRPT上的一個開源算法。

2010年之后就由FP 轉化為 圖優化的方法了。

Karto SLAM 運行時經常崩潰。所以在此基礎上Catographer作了優化。Catographer是所以開源算法中效果最好的。

(4)、數據的預處理

? ? ?

4、3D激光雷達

(1)3D激光雷達的幀間匹配

? ? ? (A)Point-to-Plance ICP 點到面的匹配

? ? ? (B)Feature-based Method

第二章:傳感器數據處理I:里程計運動模型及標定

1、里程計運動模型

(1)兩輪差分底盤的運動學模型

? ? ? ? ? ? ??

(2)航跡推算(Dead Reckoning)

? ? ? ? ? ? ? ? ?

?

2、里程計標定

(1)線性最小二乘的基本原理

? ? ? ? ? ? ? ? ?

通常就是 求解一個近似解。

(2)最小二乘的直線擬合

(3)最小二乘在里程計標定中的應用:

? ? ?? a,直接線性方法,精度不高,但實現簡單;用這個方法

? ? ?? b,基于模型的方法,精度高,但是現實起來相當復雜,是一個非線性的過程。不用。

? ? 作業:實現一個直接線性方法的里程計標定模塊

小結:由于機器人結構的系統性誤差(比如輪子直徑的大小不一樣,機械結構縫隙等),所以需要坐里程計標定,達到去除系統誤差的目的,而隨機誤差無法去除。

?

第三章:傳感器數據處理II:激光雷達數學模型和運動畸變去除

1、概念

(1)激光lidar介紹:基于三角測距原理,距離越近,精度相對越高。而飛行時間(TOF)遠距離時精度才可以,價格昂貴。高端的lidar有德國的sick,日本的北陽。

固態lidar:是一個發展趨勢,價格低,類似于深度相機了,100線——300線。

? ? ? ? ? ? 如果lidar的幀率小于10HZ的話,那么運動畸變是非常明顯的。

(2)激光lidar數學模型介紹:

? ? ? ?? 光束模型:一幀激光與地圖的重合程度,計算量太大,現在已經不用了。

? ? ? ? 似然場模型:對圖像進行高斯平滑,計算量低。應用的多。

(3)運動畸變介紹:

? ? ? ? 產生的原因:在獲取一幀激光lidar的數據用時 t 時,機器人的位置發生了運動,導致每個激光點的基準位置不是固定的。

2、畸變去除方法

(1)純估計方法:ICP 的方法,就是點云匹配。

? ? ? ? ? 考慮到機器人的運動,采用VICP的方法。(Velocity estimate ICP)

(2)傳感器輔助方法:(IMU/odom)

? ? ? ? ? ?? odom,直接測量位移和角度。更新頻率(100Hz——200Hz),而IMU測量的是加速度,還需要積分。

? ? ? ? 二次曲線的近似:一幀激光數據N個激光點,每個激光點對應的位姿{P1,P2 ... Pn}通過這種方法得到,把轉換后的激光數據發布出去。

? ? ?? 作業:實現一個激光雷達運動畸變去除模塊

小結:由于機器人存在運動畸變,所以要發布publish經過去除畸變的激光lidar數據。

?

第四章:激光SLAM的前端配準方法

幀間匹配方法:

(1)ICP 匹配方法:點到點的距離作為誤差,一階收斂。

(2)PL-ICP方法:點到線的距離作為誤差,二階收斂,精度比ICP更高。

(3)基于優化的匹配方法(Optimization-based Method):應用于Hector SLAM 和cartographer

梯度的優化:Hector SLAM,不需要里程計,純靠優化的方法。

cartographer 是CSM+優化。

(4)相關匹配方法和分枝定界加速:Karto SLAM,cartographer,分枝定界在相關方法中的加速作用。

第五章:基于濾波器的激光SLAM方法(Filter-based)

1、(1)只估計當前時刻的狀態X(t)叫濾波。視覺地圖——feature特征地圖;激光——》柵格地圖

? ? ? ? ??

2、

? ? (1)Bayes濾波:是一類方法的統稱,卡爾曼家族和PF都屬于貝葉斯濾波。

? ? (2)粒子濾波:PF是Bayes濾波的特例。應用于物體跟蹤,機器人定位,SLAM導航。用一系列的粒子近似概率分布。

? ? ? ? ? ?? 有一個重采樣的過程,即去除權重小的粒子。權重表示和地圖的匹配程度。

? ? ? ? ? ?? 重采樣的目的:生成后驗分布的粒子群。總粒子數不變。

? ? ? ?? 對于SLAM,存在粒子耗散問題,且無法解決,所以在環境小的時候才有用。

? ? (3)FastSLAM:是gmapping的基本原理,也是基于PF的。存在三個問題和優化a,b,c:

? ? ? ? ? ? ?? a.每個粒子都包含自己的柵格地圖,占用較大的內存;保持粒子數量較小,提升proposal采樣的位姿質量;

? ? ? ? ? ? ?? b.粒子耗散問題;緩解粒子耗散;減少重采樣的次數;

? ? ? ? ? ? ?? c.在a的基礎上再優化,把proposal限制在一個較小的區域

? ? (4)Gmapping:以FastSLAM為基礎。在fastSLAM的基礎上實現了優化a和b,沒有使用優化c。

? ? ? ? ? ? 主要是兩個函數: addScan( )? 和? processScan( )

?

第六章:基于圖優化的激光SLAM方法(Grid-based)

1、Grid-based 是基于非線性最小二乘原理的求解。Grid-based包含前段Front-end和后端Back-end。

2、非線性最小二乘:f(x) = z ,f(x)是一個非線性的函數 ,z可以是一個預測值,然后通過傳感器可以得到一個測量值z',根據二者就可以去非線性最小二乘。

3、有回環檢測。

4、高斯牛頓方法

5、cartographer方法中mapping_2d目錄:

第七章:基于已知定位的建圖

位姿估計包含 幀間匹配和優化的方法,兩者構成圖優化,通過對機器人的位姿(x ,y , θ)來構建地圖。

1、地圖分類:(柵格地圖、特征地圖和點云地圖,都屬于)尺度地圖、拓撲地圖、語義地圖

2、覆蓋柵格建圖算法(gmapping里面用的這個):

? ? ?? 柵格地圖的數學模型:給定機器人的位姿(由里程計信息得到)和激光lidar的數據,來估計出柵格地圖。

? ? ?? 地圖估計:柵格是一個二元隨機變量。1 標準占用,0表示沒被占用。

? ? ?? 激光穿過的柵格為free,激光擊中的柵格為occupied

3、計數(count model)建圖算法:

? ?? 激光擊中的次數 / 激光穿過的次數 到達一個比值,就表示障礙物,occupied。

?

第八章: 3D激光SLAM介紹

1、3D激光SLAM

2D激光SLAM和3D激光SLAM的區別:

(1)2D :單線激光lidar,只能在一個截面,形成2D柵格地圖,室內機器人

(2)3D:多線激光lidar,形成三維點云地圖或者三維柵格地圖,室外移動機器人

2、3D幀間匹配:

? ? ? ? (1)點面ICP?

? ? ? ? ? (2)? Feature-based method

? ? ? ? ? (3) NDT 方法 normal-distribution-Transform

2、LOAM (lidar odometry and mapping)

(1)是3D 激光SLAM算法,只有匹配,沒有回環。

(2) KITTI數據集Odometry排行榜上長期霸占第一

總結

以上是生活随笔為你收集整理的激光slam理论与实践的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。