SC-A-LOAM:在A-LOAM中加入回环检测

Posted Being_young

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SC-A-LOAM:在A-LOAM中加入回环检测相关的知识,希望对你有一定的参考价值。

Thanks to LOAM, A-LOAM, and LIO-SAM code authors. The major codes in this repository are borrowed from their efforts.

代码:https://github.com/gisbi-kim/SC-A-LOAM

编译:点云PCL

本文仅做学术分享,如有侵权,请联系删除。欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈。内容如有错误欢迎评论留言,未经允许请勿转载!

公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起每交流一起进步,有兴趣的可联系微信:920177957。本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

该开源库是在A-LOAM的基础上在增加了回环检测和位姿图优化模块(名为SC-PGO)

该库也在FAST-LIO2激光里程计中集成了。其代码位于 :

https://github.com/gisbi-kim/SC-A-LOAM

https://github.com/gisbi-kim/FAST_LIO_SLAM

主要内容及贡献

实时激光雷达SLAM集成了A-LOAM和ScanContext。

  • A-LOAM用于里程计模块(即连续运动估计)

  • ScanContext用于处理大漂移的粗略全局定位(即无初始姿势的机器人位置识别问题)

  • 并将GTSAM的iSAM2用于位姿图优化。

此库旨在展示ScanContext的便捷适用性。

  • 用户应该做的唯一事情就是包括Scancontext.h调用makeAndSaveScancontextAndKeys

    和 detectLoopClosureID。

SC-A-LOAM特点

  • 鲁棒的位置识别和回环闭合:将ScanContext作为回环检测器集成到A-LOAM中,然后进行基于ISAM2的姿势图优化。

  • 模块化实现:与A-LOAM的唯一区别是添加了laserPosegraphOptimization.cpp文件,在新文件中,订阅了点云topic和里程计topic(订阅了从laserMapping.cpp发布的A-LOAM的结果)。也就是说,实现了对于任何前端里程计方法都是通用的,因此,我们的姿势图优化模块(即laserPosegraphOptimization.cpp)可以轻松地与任何里程计算法集成,如甚至非LOAM系列或甚至其他传感器(例如视觉里程计)。

  • 使用消费级GPS进行高度值稳定:为了使结果更加可信,模块支持基于GPS(消费者级价格,如U-Blox EVK-7P)的高度值稳定,众所周知,LOAM系列方法在室外易受z轴值误差的影响,这里仅对高度值使用稳健损失,有关详细信息,可参考laserPosegraphOptimization.cpp文件。

依赖

主要依赖ROS、Ceres(用于A-LOAM)和GTSAM(用于姿势图优化)。

实验

MulRan数据集

提供了激光雷达扫描点云( Ouster OS1-64,水平安装,10Hz)和消费者级gps(U-Blox EVK-7P,4Hz)数据。

 KITTI (HDL-64 获取点云数据)

室内场景

数据保存和地图构建

支持每个关键帧的位姿和扫描点云数据的保存,使用这些保存的数据,可以离线构建地图(在ROI内)。请参阅utils/python/makeMergedMap.py和对应教程。下面是MulRan数据集KAIST 03的合并地图的示例结果,使用CloudCompare可视化结果。

总结

A-LOAM的基础上在增加了回环检测和位姿图优化模块。也是LOAM系列SLAM方案的扩展和优化。

基于LOAM的激光SLAM汇总

F-LOAM:基于激光雷达的快速里程计和建图

SA-LOAM:具有语义辅助的回环检测LOAM系统

F-LOAM:基于激光雷达的快速里程计和建图

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

如果你对本文感兴趣,请后台发送“知识星球”获取二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作方式:微信“920177957”(需要按要求备注) 联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

以上是关于SC-A-LOAM:在A-LOAM中加入回环检测的主要内容,如果未能解决你的问题,请参考以下文章

ORBSLAM回环检测之几何验证

ORBSLAM回环检测之位置识别

ATS回环检测

如何在DBNet中加入新的主干网络

ORB-SLAM回环检测

如何在查询中加入 MS-SQL 和 MySQL 表?