A-LOAM工程笔记(一):工程编译及运行(ubuntu20.04 + ros_noetic)

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

roscore

  (2)   启动loam launch文件

roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch

(3)播放rosbag

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

(4)运行结果