1.编译前准备
需要提前安装Ceres solver和opencv和PCL,如果你安装的是完整版ROS那么PCL已经自动安装好了。安装好后将工程克隆到工作目录然后编译:
cd ~/catkin_ws/src/
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git aloam_velodyne
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
2.编译报错修复
(1) pcl需要c++14。这是c++编译器版本不对应引起的
解决方法:改A-LOAM下的CMakeLists.txt里的c++11为c++14

(2) fatal error: opencv/cv.h: No such file or directory。opencv版本不匹配
解决方法:改 A-LOAM/src/scanRegistration.cpp里的#include <opencv/cv.h>为#include <opencv2/imgproc.hpp>

(3) error: 'CV_LOAD_IMAGE_GRAYSCALE' was not declared in this scope。opencv版本不匹配
解决方法:改A-LOAM/src/kittiHelper.cpp里的CV_LOAD_IMAGE_GRAYCALE为cv::IMAGE_GRAYCALE

然后执行catkin_make,编译成功。

3.数据集下载
KITTI数据集下载参考:
KITTI全套数据百度云下载连接(免费永久有效)_kitti数据集下载-CSDN博客
indoor_outdoor数据集下载:
https://drive.google.com/file/d/1s05tBQOLNEDDurlg48KiUWxCp-YqYyGH/view
参考该博主提供的免费全部数据集,开个网盘加速下载很快。
4.运行demo
(1)启动ROS
cpp
roscore
(2) 启动loam launch文件
cpp
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
(3)播放rosbag
cpp
cd $DATASET_DIR # 切换至存放 bag 目录
rosbag play nsh_indoor_outdoor.bag
(4)运行结果
