八.激光SLAM框架学习之LeGO-LOAM框架---框架介绍和运行演示
专栏系列文章如下:
一: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框架---框架介绍和运行演示相关推荐
- 十一.激光惯导LIO-SLAM框架学习之LIO-SAM框架---框架介绍和运行演示
专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...
- 激光SLAM入门学习笔记
激光SLAM入门学习笔记 激光SLAM入门学习笔记 一.推荐阅读书籍 二.推荐公众号.知乎.博客 1.公众号 2.知乎 3.博客 三.推荐阅读论文&代码(参考泡泡机器人) 2D激光SLAM 3 ...
- python表单提交的两种方式_Flask框架学习笔记之表单基础介绍与表单提交方式
本文实例讲述了Flask框架学习笔记之表单基础介绍与表单提交方式.分享给大家供大家参考,具体如下: 表单介绍 表单是HTML页面中负责数据采集功能的部件.由表单标签,表单域和表单按钮组成.通过表单,将 ...
- Django框架学习(一)Django框架安装和项目创建详解
Django框架学习(一)Django框架安装和项目创建详解 文章目录 Django框架学习(一)Django框架安装和项目创建详解 一.简介 1.1介绍 1.2 URL 1.3.框架原理 二.安装 ...
- SSM框架学习总结第零篇--框架是什么
SSM框架系列文章: SSM框架学习总结第零篇–框架是什么 SSM框架学习总结第一篇–MyBatis SSM框架学习总结第二篇–Spring SSM框架学习总结第三篇–Spring MVC SSM框架 ...
- 彻底搞懂基于LOAM框架的3D激光SLAM全套学习资料汇总!
地图定位算法是自动驾驶模块的核心,而激光SLAM则是地图定位算法的关键技术,其重要性不言而喻,在许多AI产品中应用非常多(包括但不限于自动驾驶.移动机器人.扫地机等).相比于传统的视觉传感器,激光传感 ...
- 激光slam课程学习笔记--第11课:3D激光SLAM介绍
前言:这系列笔记是学习曾书格老师的激光slam课程所得,这里分享只是个人理解,有误之处,望大佬们赐教.这节课主要介绍一些3d slam数学知识,以及典型代表loam. 1. 3d激光SLAM 1.1 ...
- 激光slam课程学习笔记--第7课:基于滤波的SLAM方法(Grid-based)
前言:这系列笔记是学习曾书格老师的激光slam课程所得,这里分享只是个人理解,有误之处,望大佬们赐教.这节课主要介绍基于滤波的slam方法,重点学习其中的滤波数学理论,而非应用在slam. [当前的实 ...
- 激光slam课程学习笔记--第2课:2D激光slam
前言:这系列笔记是学习曾书格老师的激光slam课程所得,这里分享只是个人理解,有误之处,望大佬们赐教.这节课介绍的是2D激光slam. 1. 2d激光slam的介绍 激光slam的输入:IMU数据,里 ...
最新文章
- 外观模式 - 设计模式学习
- python中execute函数_在python中函数的调用
- 一加7t人脸识别_一加7T跑分及配置信息曝光;新款iPad Pro曝光增加3D ToF镜头
- centos下rmp包离线下载
- PLSQL developer 连接64位oracle 11.2G
- SpringBoot 热部署
- 【快速幂】小明解密码 (jzoj 2146)
- android 活动销毁不了,即使活动已经销毁,AsyncTask也不会停止
- Attention模型:我的注意力跟你们人类不一样
- 改变 this 指向的 call 和 apply
- 作者:王雨华(1970-),男,中国科学院昆明植物研究所研究员、副所长
- php编译成jphp,php编译脚本安装
- 用PHP编写提供性别的发法,第6节 Laravel-通过模型处理性别
- 计算机网络与通信pdf谢希仁_考情分析|2020年同济大学计算机考研考情分析
- 联想m7216更换墨粉流程图_联想M7216打印机更换墨后继续显示需更换
- CANoe——CAPL
- Sublime Text 3.0汉化教程
- (软件构造) 关于JDK版本更换问题(附jdk下载链接以及jdk环境变量全教程)
- 学习笔记【基金】【理财】【定投】...
- NBU(NetBackup)备份vmware虚拟机
热门文章
- [C++] c language 23 keywords
- 任务调度-java普通工程通过Timer实现
- 甲骨文推出MySQL Fabric,简化MySQL的高可用性与可扩展性
- js的正则表达,只允许数字和特殊
- html文件怎么保存链接,如何使用beautifulsoup将链接的html保存在文件中,并对html文件中的所有链接执行相同的操作...
- 新西兰计算机专业研究生一年,【新西兰计算机专业研究生】 - 教外新西兰留学网...
- Python项目实战:爬去所有相关的音乐文件播放链接
- 怎样用JS来添加CSS样式
- Server.MapPath()
- 大一matlab知识整理,MATLAB基础课程 第二章 MATLAB绘图知识(5)