激光SLAM
文章平均质量分 91
老虎福
这个作者很懒,什么都没留下…
展开
-
LIO-SAM 详读代码笔记--2.imuPreintegration
这个cpp文件主要有两个类,一个叫IMUPreintegration类,一个叫TransformFusion类。从数据流向和依赖程度的角度分析,应该先分析IMUPreintegration类,但是TransformFusion类写在该模块的前头,且这两个模块的数据流相互依赖,这里先分析TransformFusion类。...原创 2022-08-12 18:24:54 · 1009 阅读 · 0 评论 -
LIO-SAM 详读代码笔记 -- 3.imageProjection
讲完上面两部分,我就来到真正的激光雷达数据处理的模块了。剩下有三部分,除订阅了IMU源数据、Lidar源数据、发过来的odom(里程计数据)之外,就只通过自定义的消息体cloud_info 串联整个激光雷达处理到定位的所有模块(最后的MapOptimization还接收了GPS 源数据、回环检测数据,做因子图优化),先把系统topic 数据流图搬过来,能更加清晰的理解这个模块。图2.ros topic 发布与订阅关系图关系图(还是叫图2,因为是同一个图)...原创 2022-08-12 18:30:42 · 1833 阅读 · 0 评论 -
LIO-SAM 详读代码笔记 -- 4.featureExtraction
这个模块的主要任务就是从点云中分类出均匀分布的边角点和平面点。就是订阅刚刚在imageProjection.cpp总结中发布的lio_sam/deskew/cloud_info消息,然后提取边缘点(角点),平面点,然后填充cloud_info的cloud_corner和cloud_surface字段,重新以"lio_sam/feature/cloud_info"的形式发布出去,让MapOptimization订阅。...原创 2022-08-14 20:58:26 · 876 阅读 · 0 评论 -
LIO-SAM 详读代码笔记 -- 5.MapOptimization
这个模块主要的功能就是接收featureExtraction 传来的coud_info 数据,把点云特征点根据初始化的里程计信息转换到map坐标系下,然后对当前帧的点云特征点信息进行scan-map 匹配优化,这里用到loam里面的点到线,点到面的距离作为残差项,用高斯牛顿法优化里程计信息,然后按照匀速运动模型计算一个超前一个lidar周期的odom_imcremental里程计,传送到IMU 预积分模块使用。原创 2022-08-19 19:13:48 · 1188 阅读 · 1 评论 -
LIO-SAM 详读代码笔记 -- 1
这两篇文章都是从LOAM 算法衍生而来,这篇文章LIO-SAM实际上是LeGO-LOAM的扩展版本,也是基于因子图优化的多传感器融合方法的经典之作,特此,详细研读其代码,学习经典,备忘。原创 2022-08-12 18:15:25 · 1855 阅读 · 0 评论