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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

小学生入门激光SLAM<六>、3D激光SLAM-Loam

發布時間:2024/1/4 综合教程 43 生活家
生活随笔 收集整理的這篇文章主要介紹了 小学生入门激光SLAM<六>、3D激光SLAM-Loam 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、3D激光SLAM
1.1、基于Point to Plane ICP的幀間匹配
1.2、基于3D描述子ICP的幀間匹配
1.3、基于NDT的幀間匹配
2、LOAM
2.1、里程計
2.1.1 特征點檢測
2.1.2 特征點匹配
2.1.3 運動估計
2.2 建圖

1、3D激光SLAM

  2D激光SLAM三個自由度(x、y、theta),3D激光雷達6DoF。

3D地圖

        2D激光SLAM                      3D激光SLAM

        單線激光雷達                       多線激光雷達(300線激光雷達和depth相機一樣了)
        二維柵格地圖                       三維點云地圖或者三維柵格地圖
        室內移動機器人                      室外移動機器人

1.1、基于Point to Plane ICP的幀間匹配

  3D 激光SLAM中,回環、前端都是幀間匹配,常用的例如:point to plane點面距離:

1.2、基于3D描述子ICP的幀間匹配

  和視覺提取特征點類似,這里是已經對應點的ICP匹配問題,比較簡單。

1.3、基于NDT的幀間匹配

  下圖中,步驟1、2就是NDT算法核心了。

步驟1中,將點云空間劃分出多個方格。
步驟2中,利用觀測值xi計算二維高斯分布協方差矩陣、期望值。
步驟3中,將預測值(和VSLAM一樣)代入高斯分布中,經過歸一化打分。
步驟4為一幀激光數據的目標函數。

  NDT算法和似然場差不多,只不過NDT中的Gaussian分布是連續的,似然長是離散的(必要的時候,需要插值)。

  NDT也不需要搜索,因為目標函數是連續的。好的SLAM算法更加依賴于公式,公式是重要,但在工程化過程中,實踐技巧更加重要。以上三種算法在PCL中都有實現。

  3D激光雷達中,里程計、回環本質都是幀間匹配,后端都是一個套路。和VSLAM比起來,激光SLAM精度相當高,例如:雙目SLAM中,點匹配差一個像素,深度誤差達到8cm。所以,在小場景,激光SLAM不做回環,大場景還是要做。

2、loam

  loam沒有回環,主要包含兩個部分:里程計+mapping;主要是提取特征點。

  如下是框架圖:1、2沒啥好說了。0處的點云注冊是啥意思?首先,一幀完整的激光點云數據包含多個scan,例如:16線激光雷達就對應16個scan,下圖中 Point Cloud Registeration 表示將多個scan拼接到一起的過程(2D 激光SLAM依靠電機,雷達綁到步進電機上,所以角度是知道的),然后給Lidar Odometry。后面位姿集成,沒看懂。

  激光里程計輸出的1Hz、10Hz是怎么計算輸出的?

2.1、里程計

2.1.1 特征點檢測

  如下圖,這里曲率計算公式如下圖,思想和我所理解的不一樣。如下圖,直線L1、L2,向量aa1 - 向量aa2 = 0向量,而向量bb1 - 向量bb2很大,理論上夾角越小,得到的至越大,曲率越大。

  一個水平激光幀對應一個scan,一個scan分為四個區域,分別提取特征點,我猜目的就是為了就是讓特征不那么集中。

  去除不穩定特征點:如下圖1,B點,如果激光束再偏一點點,B點就沒了;如下圖2,A點是邊緣特征點,但是如果激光雷達再向左邊平移一點點,A點就成了平面點。

2.1.2 特征點匹配

  tk -> tk+1才是一個完整的掃描周期。特征點檢測上一節已經講解,這里說下如何匹配的。

  邊緣特征點的匹配:如下圖,當前幀點云橙色,投影(依據什么投影的?ICP?)到參考幀點云中,例如:對于當前幀邊緣點j,在參考幀中找一次近邊緣點l(note:這兩點必定不在同一個scan序列中,最近邊緣點是當期幀的點i),所以特征匹配目標函數就是最小化:點i到直線lj的距離。

  平面特征點的匹配:同理。

  特征點無腦匹配,很簡單,總共的點也不多(需要最小化誤差函數,才能求解出粗略位姿)。

2.1.3 運動估計

  構建目標函數,LM算法優化。

  對前面三個小結進行總結(其中不懂的變量,可對比上圖進行對比觀看):

特征點檢測
尋找匹配點
構建非線性方程組
求解非線性方程組
如果到了當前幀的末尾,則投影到當前幀的時刻,開始進行下一幀的求解(這一句你好好理解!!!!!!)

  上圖變量不懂,可以看下圖

2.2 建圖

  Qk一橫(你懂得) 表示完整的,去除了運動幾遍的sweep,其與局部子圖Qk-1進行匹配,得到位姿得到Tk(如下圖)。

參考:https://zhuanlan.zhihu.com/p/111388877

  至少到現在,應該直到 scan to scan 和 map to map的區別了

  這里有個cubic的限制,其目的在于:多找幾個邊緣點,方便后續作基于SVD的3D直線擬合(這玩意我以前是做過的,不多BB),下面鏈接有個動態圖,很好說明了SVD中最大奇異值對應的右奇異矩陣第一列就是:這堆3D點的方向向量。

鏈接:https://zhuanlan.zhihu.com/p/111388877

  對于點-平面匹配,原理一樣。

  不同于里程計,mapping這里在計算直線、平面方程的時候,采取的點數量更多。

CV&DL

總結

以上是生活随笔為你收集整理的小学生入门激光SLAM<六>、3D激光SLAM-Loam的全部內容,希望文章能夠幫你解決所遇到的問題。

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