激光SLAM入门学习笔记[通俗易懂]

激光SLAM入门学习笔记[通俗易懂]激光SLAM入门学习笔记(持续更新)激光SLAM入门学习笔记(持续更新)一、推荐阅读书籍二、推荐公众号、知乎、博客1、公众号2、知乎3、博客三、推荐阅读论文&代码(参考泡泡机器人)2D激光SLAM3D激光SLAM1、LOAM(经典)2、A-LOAM(初学)3、LeGO-LOAM(进阶)4、Lio-mapping(进阶、LIO初学)5、hdl_graph_slam(入门)10、SC-LeGO-LOAM(应用推荐)激光SLAM入门学习笔记(持续更新)一、推荐阅读书籍视觉SLAM十四讲概率机器人

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

激光SLAM入门学习笔记

一、推荐阅读书籍

  • 视觉SLAM十四讲
  • 概率机器人
  • 机器人学中的状态估计
  • 计算机视觉中的多视图几何
  • 机器人感知:因子图在SLAM中的应用
  • 矩阵分析/MIT老爷子的线性代数课程也可
  • 点云库PCL从入门到精通

ROS

  • ROS机器人编程实践 [美] 摩根·奎格利(Morgan Quigley),布莱恩·格克(Brian,G )著

Linux

  • 鸟哥的Linux私房菜

C++

  • C++ Primer Plus
  • C++ Primer
  • 侯捷C++课程,b站有

二、推荐公众号、知乎、博客

1、公众号

  • 泡泡机器人:SLAM经典公众号
  • 计算机视觉life:分享计算机视觉类资料

2、知乎

  • 半闲居士:《视觉SLAM十四讲》作者高翔博士
  • hitcm:SLAM算法工程师,专注机器人与无人驾驶
  • 肖泽东Shon:腾讯计算机视觉(SLAM/VIO)算法工程师
  • David LEE:SLAM工程师
  • 游振兴:专注于机器人领域研究
  • bobin:专注于机器人、无人机、视觉SLAM等领域
  • 丁有爽:专注于机器人控制、SLAM、机器视觉等领域
  • Hengkai Guo:专注于计算机视觉、深度学习、SLAM领域
  • 无语西:专注于vSLAM研究
  • Encoder:专注于机器人、机器视觉等领域
  • fishmarch:专注于视觉SLAM研究
  • 原野寻踪:聚焦于移动机器人的视觉SLAM
  • 张珊珊:专注于语义SLAM研究
  • 范帝楷:专注于SLAM研究
  • 李阳阳:专注于SLAM研究
  • 杨小东:专注于SLAM、移动机器人领域

3、博客

  • 白巧克力亦唯心:CSDN博客专家,发布数十篇原创高质量博文,包含算法推导系列、SLAM、用ROS开发自己的机器人系列等
  • 半闲居士:高翔博士博客,主要包含了SLAM数学基础、基本理论以及SLAM实践
  • sylvester0510:包含OpenCV实践以及对ORB-SLAM2的详细解读等原创文章
  • 勿在浮砂筑高台:包含特征比配、图像处理、机器学习等相关原创文章
  • 冯兵的博客:专注于计算机视觉,主要包括三维重建和视觉定位
  • hitcm:包含了SLAM开源代码的解读,ROS实践
  • 李健:包含相机标定、DBoW原理介绍及应用等
  • 刘富强:关于深度滤波器的原理、实现以及对极约束进行了详细介绍
  • 五行缺帅:专注于计算机视觉、SLAM、深度学习等领域
  • 徐尚:分享OpenCV、SLAM开源框架、ROS等学习经验
  • 极品巧克力:分享SLMA数学基础、开源框架解读
  • 一索哥传奇:专注于机器人、SLAM领域的研究

三、推荐阅读论文&代码(参考泡泡机器人)

2D激光SLAM

1、Gmapping
简介
基于粒子滤波框架的激光SLAM,结合里程计和激光信息,每个粒子都携带一个地图,构建小场景地图所需的计算量较小,精度较高。可以结合《概率机器人》一起学习。
Github链接
https://github.com/ros-perception/openslam_gmapping
https://github.com/ros-perception/slam_gmapping
相关论文
Giorgio Grisetti, Cyrill Stachniss, and Wolfram Burgard: Improved Techniques for Grid Mapping with Rao-Blackwellized Particle Filters, IEEE Transactions on Robotics, Volume 23, pages 34-46, 2007.

Giorgio Grisetti, Cyrill Stachniss, and Wolfram Burgard: Improving Grid-based SLAM with Rao-Blackwellized Particle Filters by Adaptive Proposals and Selective Resampling, In Proc. of the IEEE International Conference on Robotics and Automation (ICRA), 2005.

2、Hector_slam
简介
利用优化方法进行帧间匹配的激光slam算法,不需要里程计信息,代码较短。缺点是在雷达频率不够的设备上,效果不佳。
GitHub链接
https://github.com/tu-darmstadt-ros-pkg/hector_slam
相关论文
Kohlbrecher, Stefan , et al. “A flexible and scalable slam system with full 3d motion estimation.” 2011 IEEE International Symposium on Safety, Security, and Rescue Robotics IEEE, 2011.

3、Karto
简介
图优化SLAM,包含回环,主要利用矩阵的稀疏化进行求解,在大范围环境下建图有优势。
Github链接
https://github.com/ros-perception/open_karto
https://github.com/ros-perception/slam_karto
相关论文
Olson, E. B. . “Real-time correlative scan matching.” Robotics and Automation, 2009. ICRA ’09. IEEE International Conference on IEEE, 2009.
Konolige, Kurt , et al. “Efficient sparse pose adjustment for 2D mapping.” 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems IEEE, 2010.

4、Cartographer
谷歌出品,必属佳品
简介
源自谷歌,代码优美,是非常完整的激光slam系统,包含相对鲁棒的前端,基于submap和node约束的独立的pose graph后端及各类评测工具。模块化、系统化、工程化程度很高, 封装很完善,初次学习需要一定的c++和算法基础。同时它的注释完善,各类资料与教程众多,很适合进阶学习。
Github链接
https://github.com/cartographer-project/cartographer
相关论文
Hess, Wolfgang , et al. “Real-Time Loop Closure in 2D LIDAR SLAM.” 2016 IEEE International Conference on Robotics and Automation (ICRA) IEEE, 2016.

3D激光SLAM

1、LOAM(经典)

经典之作,长期霸榜
简介
长期霸榜kitti odometry门类第一,分为前端和后端,提取线面特征进行匹配定位,很好的权衡了精度和效率。虽然原版代码已经闭源,但在该算法基础上,有多个改进的代码版本。
Github链接
loam中文注解版:https://github.com/cuitaixiang/LOAM_NOTED
相关论文:
Ji Zhang and Sanjiv Singh. “LOAM: Lidar Odometry and Mapping in Real-time.” Proceedings of Robotics: Science and Systems Conference, 2014.

2、A-LOAM(初学)

简介
将原版LOAM代码中的旋转从欧拉角改成了Eigen库中的四元数,优化使用ceres库,极大的简化了代码的复杂性,非常适合初学者进行学习。
Github链接
https://github.com/HKUST-Aerial-Robotics/A-LOAM

3、LeGO-LOAM(进阶)

简介
在LOAM的基础上细化了特征提取与优化,带有回环功能。可以在低功耗嵌入式系统上实现实时姿态估计。可以作为LOAM代码的进阶学习。
Github链接
https://github.com/RobustFieldAutonomyLab/LeGO-LOAM
相关论文
Shan T , Englot B . LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain[C]// 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2019.

4、Lio-mapping(进阶、LIO初学)

简介
使用imu预积分和LOAM融合进行SLAM,紧耦合优化框架。预积分门槛较高,适合作为LIO(激光惯性里程计)的初学者学习。
Github链接
https://github.com/hyye/lio-mapping
相关论文
Ye, Haoyang , Y. Chen , and M. Liu . “Tightly Coupled 3D Lidar Inertial Odometry and Mapping.” (2019).

5、hdl_graph_slam(入门)

简介:(hdl还有一个定位模块)
非常简单的图优化3D激光SLAM框架,前端可以使用并行处理的ICP或者NDT,带有回环,可以融合imu、GPS和路面约束等信息。论文不推荐读了,直接看代码最好。可以作为3D激光的入门代码学习。
Github链接
https://github.com/koide3/hdl_graph_slam

6、BLAM
简介
仅用激光的SLAM算法,前端使用GICP,后端使用GTSAM,效果还不错,回环速度快。
Github链接
https://github.com/erik-nelson/blam

7、SegMap
简介
利用3D CNN语义信息的3D激光SLAM框架,在某些场景比传统SLAM更具有优势。
Github链接
https://github.com/ethz-asl/segmap
相关论文
R. Dubé, A. Cramariuc, D. Dugas, J. Nieto, R. Siegwart, and C. Cadena. “SegMap: 3D Segment Mapping using Data-Driven Descriptors.” Robotics: Science and Systems (RSS), 2018.

R. Dubé, MG. Gollub, H. Sommer, I. Gilitschenski, R. Siegwart, C. Cadena and , J. Nieto. “Incremental Segment-Based Localization in 3D Point Clouds.” IEEE Robotics and Automation Letters, 2018.

R. Dubé, D. Dugas, E. Stumm, J. Nieto, R. Siegwart, and C. Cadena. “SegMatch: Segment Based Place Recognition in 3D Point Clouds.” IEEE International Conference on Robotics and Automation, 2017.

8、SuMa
简介
使用Surfel地图去实现前端里程计和闭环检测,此前Surfel地图曾被用在RGBD-SLAM中,第一次见到被用在激光SLAM中,很值得大家去了解学习。
Github链接
https://github.com/jbehley/SuMa
相关论文
J. Behley, C. Stachniss. Efficient Surfel-Based SLAM using 3D Laser Range Data in Urban Environments, Proc. of Robotics: Science and Systems (RSS), 2018.

9、Suma++
简介
在SuMa基础上,利用RangeNet++过滤动态信息,提升定位建图精度。
Github链接
https://github.com/PRBonn/semantic_suma
相关论文
Chen, Xieyuanli & Milioto, Andres & Palazzolo, Emanuele & Giguère, Philippe & Behley, Jens & Stachniss, Cyrill. (2019). SuMa++: Efficient LiDAR-based Semantic SLAM. 4530-4537. 10.1109/IROS40897.2019.8967704.

——————————2020.06.22 更新——————————

10、SC-LeGO-LOAM(应用推荐)

简介
在LeGO-LOAM基础上,利用Scan Context做回环检测,改善建图回环效果。在TX2上也可运行。
Github链接
https://github.com/irapkaist/SC-LeGO-LOAM
相关论文
LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain
Scan Context: Egocentric Spatial Descriptor for Place Recognition within 3D Point Cloud Map

11、LeGO-LOAM-BOR
简介
LeGO-LOAM的软件优化版本。提高代码的质量和性能,使其更具可读性,一致性,并易于理解和修改。
Github链接
https://github.com/facontidavide/LeGO-LOAM-BOR/tree/speed_optimization
——————————2020.07.09 更新——————————

12、LIO-SAM(LiDAR、IMU、GPS耦合)

简介
LeGO-LOAM作者新作,在LeGO-LOAM基础上,加入了LiDAR、IMU、GPS紧耦合,用gtsam库优化。在其提供的手持设备数据集上效果很好。
Github链接
https://github.com/TixiaoShan/LIO-SAM
相关论文
LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping

13、LINS(LiDAR、IMU紧耦合,快速)

简介
Lio_mapping作者新作,用ESKF优化,比lio_mapping速度提高了一个数量级。
Github链接
https://github.com/ChaoqinRobotics/LINS—LiDAR-inertial-SLAM
相关论文
LINS: A Lidar-Inertial State Estimator for Robust and Efficient Navigation

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/172341.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号