LOAM 系列(1): A-LOAM 安装以及概述

一、github

GitHub - HKUST-Aerial-Robotics/A-LOAM: Advanced implementation of LOAM

二、安装依赖

1. ROS

Ubuntu 64-bit 16.04  ROS Kinetic

比较常规,就不赘述了

2. Ceres Solver

Installation — Ceres Solver

安装版本:

3. PCL

sudo apt install libpcl-dev

三、编译

1. 下载代码至 catkin_ws

cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git

2. 编译

cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash

LOAM 系列(1): A-LOAM 安装以及概述_第1张图片

四、运行 example

1. 启动 ros

roscore

2. 启动 loam

roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch

3. 播放 bag

cd $DATASET_DIR # 切换至存放 bag 目录
rosbag play nsh_indoor_outdoor.bag

4. 效果

LOAM 系列(1): A-LOAM 安装以及概述_第2张图片

五、ros 节点组织

1. launch 文件解析


    
    

    
    

    
    


    
    

    // 运行三个bin
    
    
    

    
    
        
    


(1). 可执行文件

aloam_velodyne: ascanRegistration

aloam_velodyne: alaserOdometry

aloam_velodyne: alaserMapping

(2). 可视化

rviz

2. topic 订阅

LOAM 系列(1): A-LOAM 安装以及概述_第3张图片

 可以看到,运行的三个可执行文件是串行方式:

ascanRegistration ——> alaserOdometry ——> alaserMapping

六、算法流程

LOAM 系列(1): A-LOAM 安装以及概述_第4张图片

ascanRegistration:特征提取

alaserOdometry:高频率的里程计(Odometry)实现粗定位

alaserMapping:低频率的里程计(Mapping)实现精定位

在第 k 次扫描周期中,lidar 获取到的所有点云集合记作  \hat{P}_k\hat{P}_k 被两个算法处理

1. lidar odometry 算法计算相邻帧的变换,且运动估计结果用于对点云去畸变,10HZ

2.  去畸变后的点云通过 lidar mapping 算法,获取相对于地图的运动,1HZ

最终,两种算法输出的位姿融合,输出 10HZ 的运动轨迹

你可能感兴趣的:(#,lidar_slam,slam)