LeGO-LOAM 系列(1): LeGO-LOAM 安装以及概述
一、github
- GitHub - RobustFieldAutonomyLab/LeGO-LOAM
二、安装依赖
1. ROS
Ubuntu 64-bit 16.04 ROS Kinetic
比较常规,就不赘述了
2. gtsam
(Georgia Tech Smoothing and Mapping library, 4.0.0-alpha2)
cd ~/projects # 切换到下载目录,可以任意配置
# wget 不行,尝试直接浏览器下载
wget -O ./gtsam-4.0.0-alpha2.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip
unzip gtsam-4.0.0-alpha2.zip
cd gtsam-4.0.0-alpha2
mkdir build && cd build
cmake ..
make -j4
sudo make install # 安装至系统目录, /usr/local/include, /usr/local/lib/
3. pcl
sudo apt install libpcl-dev
三、编译
1. 下载代码至 catkin_ws
cd ~/catkin_ws/src
# LeGO-LOAM
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
2. 编译
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash
3. 可能遇到的问题
3.1 没有找到 eigen3
原因:
Eigen的安装位置是 /usr/local/include/eigen,
而ROS系统中 Eigen 的默认安装位置是 /usr/include/eigen
在ROS使用自己安装的eigen时的cmake错误_bluewhalerobot的博客-CSDN博客
解决:创建软链接
sudo ln -s /usr/local/include/eigen3 /usr/include/eigen3
3.2 找不到 cloud_msgs/cloud_info.h
原因:并行编译导致依赖的 cloud_msgs 没有完成编译
解决:
catkin_make -j1
四、运行 example
1. 数据集下载
官方链接:https://drive.google.com/drive/folders/1_t5fX5yIqY-y6sAifY8pVWX4O9LCK5R2?usp=sharing
网友链接:(LeGO-LOAM运行数据集_Wanqing_W的博客-CSDN博客)
链接:https://pan.baidu.com/s/1UswMElc81AKY8hnpmkjnrA
提取码:l5rl
2. 运行 ros
roscore
3. 启动 lego-loam
roslaunch lego_loam run.launch
4. 播放 bag
cd $DATASET_DIR # 切换至存放 bag 目录
rosbag play nsh_indoor_outdoor.bag --clock --topic /velodyne_points /imu/data
5. 效果
五、ros 节点组织
1. launch 文件解析
<launch><!--- Sim Time --><param name="/use_sim_time" value="true" />// 运行可视化<!--- Run Rviz--><node pkg="rviz" type="rviz" name="rviz" args="-d $(find lego_loam)/launch/test.rviz" /><!--- TF --><node pkg="tf" type="static_transform_publisher" name="camera_init_to_map" args="0 0 0 1.570795 0 1.570795 /map /camera_init 10" /><node pkg="tf" type="static_transform_publisher" name="base_link_to_camera" args="0 0 0 -1.570795 -1.570795 0 /camera /base_link 10" /><!--- LeGO-LOAM -->// 运行 4 个 bin <node pkg="lego_loam" type="imageProjection" name="imageProjection" output="screen"/><node pkg="lego_loam" type="featureAssociation" name="featureAssociation" output="screen"/><node pkg="lego_loam" type="mapOptmization" name="mapOptmization" output="screen"/><node pkg="lego_loam" type="transformFusion" name="transformFusion" output="screen"/></launch>
(1). 可执行文件
lego_loam: imageProjection
lego_loam: featureAssociation
lego_loam: mapOptmization
lego_loam: transformFusion
(2). 可视化
rviz
2. topic 订阅
可以看到,运行的三个可执行文件是串行方式:
imageProjection——> featureAssociation——> mapOptmization——> transformFusion
六、算法流程
预处理(imageProjection):分割,特征提取
Lidar Odometry: scan-to-scan,10Hz
Lidar Mapping:scan-to-map,2Hz
最终,两种算法输出的位姿融合,输出 10HZ 的运动轨迹
和原始 LOAM 算法区别
1. 侧重于:轻量级,地面优化
2. 引入语义分割
3. 引入了回环检测和位姿图优化,是一个完整的 SLAM 框架
LeGO-LOAM 系列(1): LeGO-LOAM 安装以及概述相关推荐
- LOAM系列——LeGO-LOAM配置、安装、问题解决及VLP16测试效果(完结版)
LOAM系列--LeGO-LOAM配置.安装.问题解决及VLP16测试效果 安装依赖 安装 VLP16 bag测试 问题解决 问题1 解决1 安装依赖 ros gtsam wget -O ~/Down ...
- LOAM系列——FLOAM配置、安装、问题解决及VLP16测试效果(完结版)
LOAM系列--FLOAM配置.安装.问题解决及VLP16测试效果 安装依赖 安装 KITTI sequence 07 VLP16 bag测试 问题解决 问题1 安装依赖 Ubuntu and ROS ...
- LOAM系列——ALOAM配置、安装、问题解决及VLP16测试效果(完结版)
ALOAM配置安装及VLP16测试效果 安装依赖 安装 bag包测试 问题解决 问题1 解决1 安装依赖 ros Ceres Solver PCL 安装 cd ~/catkin_ws/src git ...
- Ubuntu20.04下运行LOAM系列:A-LOAM、LeGO-LOAM、LIO-SAM 和 LVI-SAM
文章目录 一.安装A-LOAM 1.1 安装Ceres 1.2 修改功能包 1.2.1 修改CMakeLists.txt 1.2.2 修改源码 1.3 编译A-LOAM 1.4 运行A_LOAM示例并 ...
- 【LOAM系列】一:LOAM论文及代码阅读笔记
LOAM 2014 Ji Zhang LOAM中文注释版:https://github.com/cuitaixiang/LOAM_NOTEDLOAM 笔记及A-LOAM源码阅读:https://www ...
- 关于LOAM系列SLAM算法中IMU的去重力和坐标系变换
以下说法存在问题,待校正... 一.坐标系 LOAM系列中,IMU的坐标系和载体坐标系是对齐的,都是X向前,Y向左,Z向上的右手坐标系. 二.IMU去除重力 IMU的安装坐标系朝向和载体坐标系朝向是一 ...
- M2DGR数据集在一些SLAM框架上的配置与运行:ORB-SLAM系列、VINS-Mono、LOAM系列、FAST-LIO系列、hdl_graph_slam
文章目录 一.M2DGR数据集 二.ORB-SLAM2 2.1 配置参数 2.2 单目 三.ORB-SLAM3 3.1 配置参数 3.2 运行单目+IMU 四.VINS-Mono 4.1 配置参数 4 ...
- Git学习系列之Windows上安装Git之后的一些配置(图文详解)
不多说,直接上干货! 前面博客 Git学习系列之Windows上安装Git详细步骤(图文详解) 第一次使用Git时,需要对Git进行一些配置,以方便使用Git. 不过,这种配置工作只需要进行一次便可, ...
- CA ARCserve Backup系列(3)—安装代理(Linux篇)
step1.将安装光盘挂载 mount /dev/cdrom /mnt/ step2.执行安装cd /mnt/DataMoverandAgent/Linux ./install ########### ...
- openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍...
openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装 1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/ ...
最新文章
- Metasploit新增技巧提示功能
- 每日一皮:Bug 变 Feature !惊不惊喜,意不意外,刺不刺激!
- 写代码如坐禅:你是哪一类程序员?
- MySQL监控系统Lepus的搭建
- 高仿真 JDK Proxy手写实现
- java ee ssh三大框架知识点_详解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)...
- 走向.NET架构设计—第五章—业务层模式,原则,实践(后篇)
- Linux资源监控工具
- 苏州十大IDC机房排名,苏州idc服务商实力排名
- 4.1 NI-USRP简介
- groovy定义变量获取当前时间_groovy变量 - Groovy教程
- 陈景润定理的数学证明何处寻?
- Android蓝牙打印服务,Android 模拟蓝牙打印机
- matlab 代码转 Python
- 鸿蒙纪元1.1正式版隐藏,毁灭纪元1.1.1官方版附隐藏英雄密码
- 挣值管理名词(EV、AC、PV等)与公式详解
- 浏览器UA,浏览器标识检测
- 左旋右旋问题一次搞定!!!
- 微软杀毒软件Microsoft Security Essentials 今起可下载
- 购买运虚拟主机还是云服务器,购买运虚拟主机还是云服务器