激光雷达SLAM

Gmapping 

框架

具体实现

调试测试

改进

GMapping原理分析_liuyanpeng12333的博客-CSDN博客_gmapping概念:      1、Gmapping是基于滤波SLAM框架的常用开源SLAM算法。      2、Gmapping基于RBpf粒子滤波算法,即将定位和建图过程分离,先进行定位再进行建图。      3、Gmapping在RBpf算法上做了两个主要的改进:改进提议分布和选择性重采样。优缺点:     优点:Gmapping可以实时构建室内地图,在构建小场景地图所需的计算量较小且...https://blog.csdn.net/liuyanpeng12333/article/details/81946841

Catographer 

框架

Cartographer — Cartographer documentationhttps://google-cartographer.readthedocs.io/en/latest/

具体原理实现

论文:

Sci-Hub | [IEEE 2016 IEEE International Conference on Robotics and Automation (ICRA) - Stockholm, Sweden (2016.5.16-2016.5.21)] 2016 IEEE International Conference on Robotics and Automation (ICRA) - Real-time loop closure in 2D LIDAR SLAM | 10.1109/icra.2016.7487258

cartographer系列----cartographer论文_喵喵三三的博客-CSDN博客_cartographer论文看完这篇论文很久了,现在再做一下学习笔记。希望大家一起交流学习呀~这篇论文的重点在于分支定界算法回环检测时对CSM相关算法的搜索加速。论文中文翻译可看:real-time loop closure in 2D LIDAR SLAMI.INTRODUCTION讲这篇论文的重点在于减少在计算回环约束时的计算量。II.RELATED WORK提出几种常用的回环检测时用到的扫描匹配...https://blog.csdn.net/weixin_40863346/article/details/90764254

google cartographer的论文《real-time loop closure in 2D LIDAR SLAM》翻译_LilyNothing的博客-CSDN博客_cartographer论文cartographer论文翻译初衷因为自己看了两天论文毫无头绪,就想着那就先把这篇论文翻译一下,然后加上自己的一些理解。看看能不能得出点啥来。摘要便携式激光测距仪(也就是LIDAR)以及实时定位和绘图(slam)都是比较有效的一种建立平面图的方法。实时生成和绘制平面图能很好的评估捕获的数据的质量。因此建立一个在有限的资源下可接入的平台是非常有必要的。这篇论文提供了一种在mapping 平台后台使用https://blog.csdn.net/lilynothing/article/details/60875825

Google Cartographer SLAM 原理 (Real-Time Loop Closure in 2D LIDAR SLAM 论文详细解读)_梦凝小筑的博客-CSDN博客_cartographer 回环检测本文前言 *转载请注明出处@梦凝小筑 本人的研究方向为激光SLAM,因此对于Google Cartographer 的经典算法十分感兴趣,但是苦于该算法的论文是英文写作,且该论文有着公式多,解释少的特点。因此在看了原论文和网上的各种论文解读,都没有能够完全把这块硬骨头吃下去。 机缘巧合,本人研究生课程高等运筹学大作业需要运用和Google Cartographer 中的闭环检测...https://blog.csdn.net/weixin_36976685/article/details/84994701传感器交互

传感器预处理

预测

局部建图

scan match

        scan-to-map,优化方程是啥?

        

         M是双三次插值法(bicubic interpolation):

用于数字成像的双三次插值技术 - 知乎双三次插值是使用三次或其他多项式技术的2D系统,通常用于锐化和放大数字图像。在图像放大、重新采样时,或是在软件中润饰和编辑图像时也会使到用它。当我们对图像进行插值时,实际上是在将像素从一个网格转换到另…https://zhuanlan.zhihu.com/p/322393329建立submap关键帧

        submap之间怎么切分的?如果一个scan在时间连续上的多个submap都有匹配呢(不是回环),怎么处理的,滑窗吗,如果是滑窗,那内存不是占用更多?

        有了submap还要把雷达原始数据放到关键帧里,不是重复了吗?

构建因子图

        位姿+submap?

全局建图

回环检测

        Real-Time Correlative Scan Matching完全解析(CSM帧匹配算法)

        论文:
https://april.eecs.umich.edu/pdfs/olson2009icra.pdfhttps://april.eecs.umich.edu/pdfs/olson2009icra.pdf

Real-Time Correlative Scan Matching完全解析(CSM帧匹配算法) - 知乎找遍全网,似乎都没有这篇paper [1]的高质量解析,作为激光帧匹配算法中的经典之作,有点可惜... 写这篇文章,正是希望以最直观的语言把 Correlative Scan Matching 帧匹配算法讲透(透到看不见的透)。读者对象:…https://zhuanlan.zhihu.com/p/336807140        效率的回环检测工具:分支定界法(BBS)

全局位姿优化

        最优化方程是啥?SPA

        imu/里程计/landmark怎么参与到后端优化去的?

        论文:

http://ais.informatik.uni-freiburg.de/publications/papers/konolige10iros.pdfhttp://ais.informatik.uni-freiburg.de/publications/papers/konolige10iros.pdf

代码

ceres_scan_matcher_2d的Match函数主要是在有一个初值的情况下,匹配点云和栅格地图,需要详细去看实现;

correlative_scan_matcher_2d

fast_correlative_scan_matcher_2d

real_time_correlative_scan_matcher_2d

调试测试

安装

catographer最终输出的是静态链接库(libcartographer.a文件)

catographer无ROS安装测试_妄想出头的工业炼药师的博客-CSDN博客sudo apt-get install -y python-wstool python-rosdep ninja-buildsudo apt-get install stow安装abslcd scripts./install_abseil.shGitHub - cartographer-project/cartographer: Cartographer is a system that provides real-time simultaneous localization and .https://blog.csdn.net/z15f34/article/details/123446954?spm=1001.2014.3001.5501如果使用的话,需调用库文件,ros提供使用catographer静态库的示例。

注意:catographer选择2.0发布版本,catographer_ros不要选择1.0发布版本,直接从master获取最新代码,从时间上去选版本。不然报错类似以下的各种文件缺失:

lidar_ws/src/cartographer_ros-1.0.0/cartographer_ros/cartographer_ros/assets_writer.cc:24:10: fatal error: cartographer/common/make_unique.h: 没有那个文件或目录
 #include "cartographer/common/make_unique.h"

Cartographer ROS Integration — Cartographer ROS documentationhttps://google-cartographer-ros.readthedocs.io/en/latest/#改进

Loam

Loam_Velodyne(最原始版本)

https://github.com/cuitaixiang/LOAM_NOTEDhttps://github.com/cuitaixiang/LOAM_NOTED

Floam

https://github.com/wh200720041/floamhttps://github.com/wh200720041/floam

LOAM编译时出现BUG: #error PCL requires C++14 or above

CMakeLists.txt加上set(CMAKE_CXX_STANDARD 14)即可

BUG:fatal error: opencv/cv.h:

解决办法:

安装opencv3.4.6,并且将安装路径改为

cmake -D CMAKE_INSTALL_PREFIX=/home/zf/LIBS/opencv_lib ..

在CMakeLists.txt中增加:

set(OpenCV_DIR  "/home/zf/LIBS/opencv_lib/share/OpenCV")

将lego-loam 包编译出错opencv fatal error: cv.h: No such file or directory | 易学教程

编译ALOAM时,遇到BUG:

/home/zf/ROS_PROJECT/src/3D_odom/LOAM/A-LOAM/src/kittiHelper.cpp:91:64: error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope
   91 |         cv::Mat left_image = cv::imread(left_image_path.str(), CV_LOAD_IMAGE_GRAYSCALE);
      |                                                                ^~~~~~~~~~~~~~~~~~~~~~~

编译GitHub上的A-LOAM开源项目出现error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope_ROS fans的博客-CSDN博客 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在MATLAB中,激光雷达SLAM(Simultaneous Localization and Mapping)是通过使用激光雷达传感器来同时定位和构建地图的技术。激光雷达SLAM在机器人导航和自主驾驶等领域具有重要的应用。 在MATLAB中,可以使用Robotics System Toolbox来实现激光雷达SLAM。该工具箱提供了一组函数和类,用于处理激光雷达数据、建立地图和执行定位。 要在MATLAB中进行激光雷达SLAM,您可以按照以下步骤进行操作: 1. 导入激光雷达数据:使用`rosbag`函数导入保存有激光雷达数据的ROS包,或者使用`laserscan`函数直接加载激光雷达数据。 2. 预处理激光雷达数据:使用`preprocessLidarData`函数进行激光雷达数据的去噪处理、重采样和点云滤波。 3. 构建激光雷达地图:使用`occupancyMap`函数初始化一个占据栅格地图对象,并使用`insertRay`函数将激光雷达数据插入地图中。 4. 运行激光雷达SLAM算法:使用`slamAlgorithm`函数以及其他相关函数(如`updatePose`和`updateMap`)执行激光雷达SLAM算法,同时更新机器人的姿态和地图。 5. 可视化SLAM结果:使用`show`函数可视化机器人的轨迹、地图以及激光雷达数据。 请注意,以上步骤仅为激光雷达SLAM的一个基本流程示例,具体的实现方式可能会因应用场景和实际需求而有所不同。在MATLAB的官方文档和示例中,您可以找到更详细的教程和代码示例,以帮助您更好地理解和实现激光雷达SLAM。<span class="em">1</span> #### 引用[.reference_title] - *1* [python编写的2D激光扫描SLAM程序](https://download.csdn.net/download/zhwb9190/16674134)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值