自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 点云配准算法效率对比

一直对点云配准算法的效率感兴趣,这次自己来做一下。本对比将这样设计:依托深蓝学院课程《多传感器融合定位》的代码框架,每次改变一种点云配准算法,在同一个数据上得到不同的纯激光的里程计,通过对比这些里程计的时间、计算资源消耗的的出口结论。关于课程资源的获取和环境配置则可以参考我之前的博文。

2025-04-10 01:52:07 307

原创 FAST-LIO2代码review(一)——滤波器处理流程

FAST-LIO2是一种效果强大的SLAM框架,本文主要针对以下问题去理解该代码:下面的语句定义了ESEKF其中,state_ikfom,input_ikfom是MTK库定义的状态变量,state_ikfom为状态,input_ikfom为输入:其中所用的到的MTK库是一种处理流型的库。该代码定义了三个自定义数据类型 state_ikfom、input_ikfom 和 process_noise_ikfom,分别表示状态、输入和过程噪声。初始化主要为了初始化观测模型、噪声等等。初始化由以下函数实现:

2025-02-13 15:17:23 1016

原创 《深蓝学院多传感器融合定位》第一章——代码运行及解析

本文介绍了如何跑通第一章代码,同时对核心代码做了解析,后续更新其他章节。

2025-02-12 16:29:23 989 3

原创 《深蓝学院多传感器融合》第一章——docker环境配置

在开始使用前,首先需要在本地配置Docker以及环境.

2025-02-08 16:21:28 853

原创 多传感器融合定位第二章代码解析———前端

本文分析了多传感器融合定位第二章代码前端部分,总体来说这是一个非常简单的slam算法。一方面通过插入关键帧的方式建立局部地图,一方面利用NDT完成当前帧在局部地图下的定位,估计当前的位姿。在定位方面,第一帧的位置直接被置为0在建图方面,把第一帧作为关键帧插入到地图中。

2024-12-02 23:42:15 332

原创 深蓝《多传感器融合定位》代码解析——第一章

本文对多传感器融合定位的第一章代码进行解析,其代码的大致内容是利用NDT对点云进行匹配。

2024-11-04 13:53:57 266

原创 《自动驾驶与机器人中的SLAM技术》第七章代码分析——松耦合里程计

本文梳理了第七章的整体代码框架。重点看了数据处理,以及ESKF部分。并按照书中公式走了一遍ESKF的流程。关于数据处理部分,首先把一帧雷达点云和其间的IMU数据打包,做成一个MeasureGroup,完成读入操作,难点是其中的架构。对于ESKF部分,ESKF主要经历了以下步骤IMU初始化,计算均值和方差,并以此估计重力,并以均值作为IMU的噪声利用IMU预测利用lidar匹配结果进行更新2、3部分具体的代码和推导注释可查看文中代码值的注意的是,整个系统在IMU的坐标系下进行融合。

2024-09-24 19:49:50 1907

原创 robot_pose_ekf代码review

在内部有一个估计器OdomEstimation my_filter_,这是一个卡尔曼滤波的估计器,我们知道卡尔曼滤波有预测和更新两个部分,我们分这两个部分来看。该项目是默认小车坐标中心是和odom一致的,因此odom的外参不需要处理。预测值在初始化时给定,内部有好几种初始化方式,在这里着重看odom的初始化方式,可以看到在一开始就给定了预测初始值。11. 当filter的时间戳晚于初始化odom的时间,初始化成功,odom被激活。加速度角速度可以使用imu的加速度和角速度,z值则可由imu的积分结果指定。

2024-09-07 15:39:23 871

原创 geometry_msgs/PoseWithCovariance与nav_msgs/Odometry之比较

Odometry包含PoseWithCovariance ,并且多了一个角速度和线速度信息。

2024-09-06 18:45:13 529

原创 autoware lidar_localizer代码review(一)

代码整体流程是这样的:首先认为给定一个initialpose,然后利用这段时间内的odom累积从initialpose开始的位置,作为match的初始值,匹配之后得出结果。如果说一开始就知道odom下的base的位置,可以直接得到map下的base初始值。

2024-09-04 18:51:37 932

原创 AMCL代码review

其实整个流程和用odom预测,与雷达ndt配准更新odom-map类似。在AMCL中base-map由滤波器给出,在ndtt匹配中则是由匹配给出。base-odom可以直接由odom读取,而map-odom的初始值有init给定,即使不准也会在后续持续不断更新,初始化的步骤也将极大地简化。

2024-09-04 15:53:42 344

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除