资讯详情

LOAM 代码部分的公式推导(前端里程计部分)

作者丨小飞@知乎

来源丨https://zhuanlan.zhihu.com/p/404326817

编辑丨3D视觉工坊

本文主要介绍LOAM代码中有关lidar odometry一些相应的公式推导。包括特征点曲率计算公式、点到线和面距求取公式、里程计优化求解公式和一些坐标变换公式。LOAM代码版本为

相关代码:

通过求取这部分代码diffX * diffX diffY * diffY diffZ * diffZ 近似表示曲率,角点和平面点通过曲率小划分。其中 _config.curvatureRegion 设置为5,表示将该点左右各5个点作为邻域范围来获取曲率。因此pointWeight = -2 * _config.curvatureRegion = -10.将其带入循环公式:

diffX = -10*_laserCloud[i].x _laserCloud[i 1].x _laserCloud[i-1].x _laserCloud[i 2].x _laserCloud[i-2].x … _laserCloud[i 5].x _laserCloud[i-5].x

重组成如下公式:

diffX =(_laserCloud[i 1].x - _laserCloud[i].x) (_laserCloud[i-1].x - _laserCloud[i].x) … (_laserCloud[i 5].x - _laserCloud[i].x) (_laserCloud[i-5].x - _laserCloud[i].x)

最后得到左右各5个点邻域的该点diffX.

相关代码:

根据算法流程,需要根据提取的特征点建立点到线与点到面的约束关系,即点到线的距离 和 点到面的距离最小。代码中两个距离的原理公式如下:

根据上述内容,结合代码(x0,y0,z0)代表上图中的i点坐标,(x1,y1,z1)和 (x2,y2,z2)分别代表 j 和 l 点坐标。

同样,点到面的距离也可以通过法向量获取,相关代码如下:

将上述公式与代码结合,i 代码中有点坐标 (pointSel.x, pointSel.y, pointSel.z);j 代码中有点坐标(tripod1.x, tripod1.y, tripod1.z);l代码中有点坐标(tripod2.x, tripod2.y, tripod2.z);m 代码中有点坐标(tripod3.x, tripod3.y, tripod3.z)。

那么

在推导里程计求解公式之前,需要了解几个重用坐标系的转换。

注:感谢微信公众号「」整理。

其中transformToStart 对应论文中的公式

注意LOAM代码中point.intensity在预处理时被存储为(scanID relTime)

transformToEnd 函数是先做的transformToStart ,然后将所有点云转换为帧的结尾。

对于里程计看里程计的优化求解部分的整体思路:

LOAM利用建立点到线 以点到面的最小距离值作为约束方程,最后使用L-M解决这个非线性问题的非线性优化方法。L-M方法中使用的公式如下:

首先,坐标转换后的点云坐标是直接建立约束方程的X

然后,根据链法则,我们可以先通过约束方程偏导坐标,然后乘以坐标来转换变量rotX求偏导,即可得到最终的偏导求取结果。

首先,根据约束方程偏导坐标量,我们在上面建立了约束方程。

这里的la lb lc 点到线距离的函数X Y Z偏差导数可以通过导数的几何意义来理解,导数在几何意义上表示梯度。梯度方向是距离函数的单位向量,如下图所示De 方向。

代入后,您将获得代码中的代码 la lb lc ,但这里推导的公式正负号也不同于代码;同样,点到面约束方程求偏导也是这样得到的。

最后一个公式是里程积累,函数代码如下图所示:

以上具体内容可以关注本人完全理解LOAM框架的3D激光SLAM:课程视频从源码分析到算法优化,具体课程介绍可扫描以下二维码:

本文仅进行学术分享。如有侵权行为,请联系删除。

在「3D视觉工坊」微信官方账号后台回复:即可下载 3D干货的视觉相关数据涉及相机校准、三维重建、三维视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

在「3D视觉工坊」微信官方账号后台回复:可下载包括等。

在「3D视觉工坊」公众号后台回复:独家下载即可学习课件和视频网站;背景回复:独家下载即可学习课件和视频网站。

扫码添加小助手微信,可

也可以申请加入我们的细分交流群。目前主要有等微信群。

一定要备注:,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。也请联系。

▲长按加微信群或投稿

▲长按关注公众号

:针对3D视觉领域的五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

标签: lb膜视觉传感器基础

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台