专栏系列文章如下:

一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN博客

二.激光SLAM框架学习之A-LOAM框架---介绍及其演示_goldqiu的博客-CSDN博客

三.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---1.项目文件介绍(除主要源码部分)_goldqiu的博客-CSDN博客

四.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---2.scanRegistration.cpp--前端雷达处理和特征提取_goldqiu的博客-CSDN博客

五.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---3.laserOdometry.cpp--前端雷达里程计和位姿粗估计_goldqiu的博客-CSDN博客

六.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---4.laserMapping.cpp--后端建图和帧位姿精估计(优化)_goldqiu的博客-CSDN博客

七.激光SLAM框架学习之A-LOAM框架---速腾Robosense-16线雷达室内建图_goldqiu的博客-CSDN博客

一. 框架介绍

LeGO-LOAM是Tixiao Shan提出的⼀种基于LOAM的改进激光SLAM框架,主要是为了实现小车在多变地形下的定位和建图,其针对前端和后端都做了⼀系列的改进。

前端的改进有:

1. 对地⾯点进⾏分类和提取,避免⼀些异常边缘点的提取

2. 应⽤点云聚类算法,剔除了⼀些可能产生的outlier

3. 两次迭代求解前端帧间⾥程记,在不影响精度的情况下减轻计算负载,保障了嵌⼊式平台的实时性。

后端的改进有:

1. 使⽤slam关键帧的概念对后端部分进⾏了重构

2. 引⼊回环检测和位姿图优化概念,使得地图的全局⼀致性更好

框架和实物如下:

二. LeGO-LOAM运行演示

1. 首先要安装 ROS

Ubuntu 64-bit 16.04 or 18.04. ROS Kinetic or Melodic

2.安装gtsam

wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip
cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
cd ~/Downloads/gtsam-4.0.0-alpha2/
mkdir build && cd build
cmake ..
sudo make install

3.下载编译LeGO-LOAM

cd ~/catkin_ws/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ..
catkin_make -j1

4. 播放 bag 包运行

roslaunch lego_loam run.launch
rosbag play *.bag --clock --topic /velodyne_points /imu/data

效果如下:

5.报错解决

error: static assertion failed: Error: GTSAM was built against a different version of Eigen static_assert

说明GTSAM默认编译并没有使用系统eigen

解决办法:在CMakeLists.txt文件中if(GTSAM_USE_SYSTEM_EIGEN)判断的前边添加如下代码:

set(GTSAM_USE_SYSTEM_EIGEN ON)

八.激光SLAM框架学习之LeGO-LOAM框架---框架介绍和运行演示相关推荐

  1. 十一.激光惯导LIO-SLAM框架学习之LIO-SAM框架---框架介绍和运行演示

    专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...

  2. 激光SLAM入门学习笔记

    激光SLAM入门学习笔记 激光SLAM入门学习笔记 一.推荐阅读书籍 二.推荐公众号.知乎.博客 1.公众号 2.知乎 3.博客 三.推荐阅读论文&代码(参考泡泡机器人) 2D激光SLAM 3 ...

  3. python表单提交的两种方式_Flask框架学习笔记之表单基础介绍与表单提交方式

    本文实例讲述了Flask框架学习笔记之表单基础介绍与表单提交方式.分享给大家供大家参考,具体如下: 表单介绍 表单是HTML页面中负责数据采集功能的部件.由表单标签,表单域和表单按钮组成.通过表单,将 ...

  4. Django框架学习(一)Django框架安装和项目创建详解

    Django框架学习(一)Django框架安装和项目创建详解 文章目录 Django框架学习(一)Django框架安装和项目创建详解 一.简介 1.1介绍 1.2 URL 1.3.框架原理 二.安装 ...

  5. SSM框架学习总结第零篇--框架是什么

    SSM框架系列文章: SSM框架学习总结第零篇–框架是什么 SSM框架学习总结第一篇–MyBatis SSM框架学习总结第二篇–Spring SSM框架学习总结第三篇–Spring MVC SSM框架 ...

  6. 彻底搞懂基于LOAM框架的3D激光SLAM全套学习资料汇总!

    地图定位算法是自动驾驶模块的核心,而激光SLAM则是地图定位算法的关键技术,其重要性不言而喻,在许多AI产品中应用非常多(包括但不限于自动驾驶.移动机器人.扫地机等).相比于传统的视觉传感器,激光传感 ...

  7. 激光slam课程学习笔记--第11课:3D激光SLAM介绍

    前言:这系列笔记是学习曾书格老师的激光slam课程所得,这里分享只是个人理解,有误之处,望大佬们赐教.这节课主要介绍一些3d slam数学知识,以及典型代表loam. 1. 3d激光SLAM 1.1 ...

  8. 激光slam课程学习笔记--第7课:基于滤波的SLAM方法(Grid-based)

    前言:这系列笔记是学习曾书格老师的激光slam课程所得,这里分享只是个人理解,有误之处,望大佬们赐教.这节课主要介绍基于滤波的slam方法,重点学习其中的滤波数学理论,而非应用在slam. [当前的实 ...

  9. 激光slam课程学习笔记--第2课:2D激光slam

    前言:这系列笔记是学习曾书格老师的激光slam课程所得,这里分享只是个人理解,有误之处,望大佬们赐教.这节课介绍的是2D激光slam. 1. 2d激光slam的介绍 激光slam的输入:IMU数据,里 ...

最新文章

  1. 外观模式 - 设计模式学习
  2. python中execute函数_在python中函数的调用
  3. 一加7t人脸识别_一加7T跑分及配置信息曝光;新款iPad Pro曝光增加3D ToF镜头
  4. centos下rmp包离线下载
  5. PLSQL developer 连接64位oracle 11.2G
  6. SpringBoot 热部署
  7. 【快速幂】小明解密码 (jzoj 2146)
  8. android 活动销毁不了,即使活动已经销毁,AsyncTask也不会停止
  9. Attention模型:我的注意力跟你们人类不一样
  10. 改变 this 指向的 call 和 apply
  11. 作者:王雨华(1970-),男,中国科学院昆明植物研究所研究员、副所长
  12. php编译成jphp,php编译脚本安装
  13. 用PHP编写提供性别的发法,第6节 Laravel-通过模型处理性别
  14. 计算机网络与通信pdf谢希仁_考情分析|2020年同济大学计算机考研考情分析
  15. 联想m7216更换墨粉流程图_联想M7216打印机更换墨后继续显示需更换
  16. CANoe——CAPL
  17. Sublime Text 3.0汉化教程
  18. (软件构造) 关于JDK版本更换问题(附jdk下载链接以及jdk环境变量全教程)
  19. 学习笔记【基金】【理财】【定投】...
  20. NBU(NetBackup)备份vmware虚拟机

热门文章

  1. [C++] c language 23 keywords
  2. 任务调度-java普通工程通过Timer实现
  3. 甲骨文推出MySQL Fabric,简化MySQL的高可用性与可扩展性
  4. js的正则表达,只允许数字和特殊
  5. html文件怎么保存链接,如何使用beautifulsoup将链接的html保存在文件中,并对html文件中的所有链接执行相同的操作...
  6. 新西兰计算机专业研究生一年,【新西兰计算机专业研究生】 - 教外新西兰留学网...
  7. Python项目实战:爬去所有相关的音乐文件播放链接
  8. 怎样用JS来添加CSS样式
  9. Server.MapPath()
  10. 大一matlab知识整理,MATLAB基础课程 第二章 MATLAB绘图知识(5)