導航:首頁 > 源碼編譯 > lm演算法c

lm演算法c

發布時間:2024-10-28 09:54:13

㈠ Metropolis法和Metropolis-Hastings法有什麼區別嗎各自的優點是什麼呢感謝大神

原文鏈接:http://tecdat.cn/?p=19664

MCMC是從復雜概率模型中采樣的通用技術。

㈡ LOAM點雲匹配演算法解析與雅克比矩陣推導

LOAM點雲匹配部分是LOAM框架的核心,其運算速度快,精度高,自14年發布以來,直到現在仍然被廣泛使用。然而,在後續的推廣中仍然存在一些問題,本文將對其進行解析並記錄自己應用中的問題。

演算法解析:演算法具體解析的文章有很多,這里只簡單介紹相關流程和原理。大致流程如下:線/面特徵與線/面地圖的殘差與對應優化向量計算。

線/面特徵與線/面地圖的殘差與對應優化向量計算:讀過LOAM的都知道,點雲匹配部分是一個點到線ICP加一個點到面ICP。優化時可以理解為都是計算點到點的殘差,只不過一個是在對應線上找到目標點,一個是在對應面上找到目標點,然後分別計算源點到目標點的殘差,這樣兩種ICP的殘差計算方程就統一了。後續計算雅克比矩陣時需要用到源點到目標點的距離(即殘差)以及源點到目標點的單向量,具體為什麼需要它們會在雅克比推導中給出。

LM演算法推導:後面的過程要了解下LM演算法才能繼續。

LM演算法的推導參考了LOAM-LM方法,雅克比推導參考了LeGO-LOAM中的數學公式推導,這里重新捋了一遍,並且推導了基於Tait-Bryan xyz extrinsic rotations的歐拉角的雅克比矩陣,原版LOAM中雅克比為基於Tait-Bryan zyx extrinsic rotations的歐拉角。

主體部分推導:重點在於每個點的殘差計算方程以及它對系統狀態偏導數,其中指每個點到線/面對應點的殘差計算方程,指當前系統狀態,即當前求解的位姿,由旋轉R和平移T構成,表示為,ROS中,歐拉角為Tait-Bryan xyz extrinsic rotations類型,即繞固定軸,先繞x軸,再繞y軸,最後繞z軸旋轉roll,pitch,yaw角度的方式,首先定義的形式,我們先去掉i,就以單一一個點來推導:

其中為兩點間距離,為當前幀的點在局部坐標系下坐標,為當前幀的點在世界坐標系下坐標,為對應線/面上目標點在世界坐標系的坐標。開始計算偏導:

其中:可以看到,這個V就是兩點間方向的單位向量,求殘差時已經得到了。偏導剩餘部分要分為對平移量T的求導和對歐拉角的求導兩部分,先看平移部分:

旋轉部分比較麻煩,以對roll的求導來看,我們用ex代替roll、ey代替pitch、ez代替yaw簡化表示:

實際上就是求旋轉矩陣分別對roll、pitch、yaw的偏導。

基於Tait-Bryan xyz extrinsic rotations的雅克比推導:不同類型的歐拉角表達方式其對應的旋轉矩陣是不同的,可以參考Euler angles,中給出的結,這里直接貼出Tait-Bryan xyz extrinsic rotations的歐拉角對應的旋轉矩陣

123對應ZYX,c為cos,s為sin,那麼偏導就容易了:

於是:

至此,雅克比就被求解了,剩下的套LM公式就好。

代碼剖析:代碼太多了,而且很多文字都對應剖析了,這里就提下雅克比部分就好:

閱讀全文

與lm演算法c相關的資料

熱點內容
程序員加班一個月被搶 瀏覽:836
騰訊廣告推薦演算法工程師是做什麼 瀏覽:348
java轉換exe 瀏覽:335
疫情是命令插圖 瀏覽:306
蘋果計劃管家在安卓叫什麼 瀏覽:259
游戲發卡網無後門源碼可以碼支付 瀏覽:594
python要先學linux 瀏覽:310
旅遊住宿要什麼app 瀏覽:218
短線pdf微盤 瀏覽:562
如何把想法傳達給程序員 瀏覽:317
曲靖雲伺服器代理 瀏覽:867
android4usb 瀏覽:246
什麼app可以貸幾十萬 瀏覽:679
android子線程回調 瀏覽:801
昆明睿江雲伺服器 瀏覽:148
lm演算法c 瀏覽:48
數學英語編程同步 瀏覽:322
程序員說的第一句話 瀏覽:876
qwe的加密方式怎麼理解 瀏覽:387
變頻壓縮機的電容 瀏覽:20