导航:首页 > 源码编译 > 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相关的资料

热点内容
安卓手机如何修改微信语音提示音 浏览:40
餐馆购物一般用什么app 浏览:184
京东饭粒app怎么搜不到 浏览:65
哪个app可以使用数字人民币 浏览:287
服务器主板com口有什么用 浏览:942
算法的3种逻辑结构图高一数学 浏览:58
如何获得钱龙指标roc公式的源码 浏览:675
为什么要编译源代码 浏览:820
输入法freetype交叉编译 浏览:437
电阻单片机代号 浏览:469
来画app怎么添加对话框 浏览:318
python序列化分布式 浏览:107
域名服务器是什么形式 浏览:681
rsa加密解密速度快 浏览:924
mac电脑如何单片机开发 浏览:547
纪念日app怎么用小插件 浏览:331
如何更改安卓手机所在地区 浏览:217
程序员负债120万 浏览:80
阶层pdf 浏览:380
linuxgit安装配置 浏览:319