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

热点内容
小程序地产广告源码 浏览:540
消费者信息加密私域 浏览:429
程序员开发团队可以怎么创业 浏览:925
设备共享服务器是什么意思 浏览:126
java符号类型 浏览:331
redis客户端java 浏览:214
javatn 浏览:278
应用宝哪里下载王卡免流量app 浏览:235
uv7代喷头加密与不加密 浏览:467
滚动指标源码查询 浏览:986
梦幻西游lua源码修改教程 浏览:937
androidphp环境 浏览:762
php前台页面 浏览:493
程序员hr怎么挽留 浏览:817
学习编程视频剪辑的书 浏览:170
安卓什么时候更新软件格式 浏览:978
三星920sc加密码 浏览:721
南航app在哪里 浏览:743
我的世界服务器菜单怎么做出来 浏览:366
马后炮编程视频 浏览:649