一、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 安装以及概述相关推荐

  1. LOAM系列——LeGO-LOAM配置、安装、问题解决及VLP16测试效果(完结版)

    LOAM系列--LeGO-LOAM配置.安装.问题解决及VLP16测试效果 安装依赖 安装 VLP16 bag测试 问题解决 问题1 解决1 安装依赖 ros gtsam wget -O ~/Down ...

  2. LOAM系列——FLOAM配置、安装、问题解决及VLP16测试效果(完结版)

    LOAM系列--FLOAM配置.安装.问题解决及VLP16测试效果 安装依赖 安装 KITTI sequence 07 VLP16 bag测试 问题解决 问题1 安装依赖 Ubuntu and ROS ...

  3. LOAM系列——ALOAM配置、安装、问题解决及VLP16测试效果(完结版)

    ALOAM配置安装及VLP16测试效果 安装依赖 安装 bag包测试 问题解决 问题1 解决1 安装依赖 ros Ceres Solver PCL 安装 cd ~/catkin_ws/src git ...

  4. 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示例并 ...

  5. 【LOAM系列】一:LOAM论文及代码阅读笔记

    LOAM 2014 Ji Zhang LOAM中文注释版:https://github.com/cuitaixiang/LOAM_NOTEDLOAM 笔记及A-LOAM源码阅读:https://www ...

  6. 关于LOAM系列SLAM算法中IMU的去重力和坐标系变换

    以下说法存在问题,待校正... 一.坐标系 LOAM系列中,IMU的坐标系和载体坐标系是对齐的,都是X向前,Y向左,Z向上的右手坐标系. 二.IMU去除重力 IMU的安装坐标系朝向和载体坐标系朝向是一 ...

  7. 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 ...

  8. Git学习系列之Windows上安装Git之后的一些配置(图文详解)

    不多说,直接上干货! 前面博客 Git学习系列之Windows上安装Git详细步骤(图文详解) 第一次使用Git时,需要对Git进行一些配置,以方便使用Git. 不过,这种配置工作只需要进行一次便可, ...

  9. CA ARCserve Backup系列(3)—安装代理(Linux篇)

    step1.将安装光盘挂载 mount /dev/cdrom /mnt/ step2.执行安装cd /mnt/DataMoverandAgent/Linux ./install ########### ...

  10. openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍...

    openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装 1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/ ...

最新文章

  1. Metasploit新增技巧提示功能
  2. 每日一皮:Bug 变 Feature !惊不惊喜,意不意外,刺不刺激!
  3. 写代码如坐禅:你是哪一类程序员?
  4. MySQL监控系统Lepus的搭建
  5. 高仿真 JDK Proxy手写实现
  6. java ee ssh三大框架知识点_详解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)...
  7. 走向.NET架构设计—第五章—业务层模式,原则,实践(后篇)
  8. Linux资源监控工具
  9. 苏州十大IDC机房排名,苏州idc服务商实力排名
  10. 4.1 NI-USRP简介
  11. groovy定义变量获取当前时间_groovy变量 - Groovy教程
  12. 陈景润定理的数学证明何处寻?
  13. Android蓝牙打印服务,Android 模拟蓝牙打印机
  14. matlab 代码转 Python
  15. 鸿蒙纪元1.1正式版隐藏,毁灭纪元1.1.1官方版附隐藏英雄密码
  16. 挣值管理名词(EV、AC、PV等)与公式详解
  17. 浏览器UA,浏览器标识检测
  18. 左旋右旋问题一次搞定!!!
  19. 微软杀毒软件Microsoft Security Essentials 今起可下载
  20. 购买运虚拟主机还是云服务器,购买运虚拟主机还是云服务器

热门文章

  1. SSH信任关系配置(免密码登录)
  2. 七夕送什么蓝牙耳机?时尚好用的蓝牙耳机推荐
  3. 【高效程序员系列】3、别碰鼠标——让键盘飞起来
  4. 亚马逊echo中国使用_如何设置和配置您的Amazon Echo
  5. 幼儿园计算机培训心得,幼儿教师培训心得体会
  6. waf 防火墙限制_waf防火墙
  7. 生死看淡,不服就干,小米终于迎来了久违的大幅反弹
  8. CCF201809-3 元素选择器
  9. vue-element-admin安装依赖失败问题
  10. 网络兼容性是什么意思