1.搭建文件目录和clone代码
mkdir -p A-LOAM/src
cd A-LOAM/src
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM
cd ..
2.修改代码文件
2.1 由于PCL版本1.10,将CMakeLists.txt中的C++标准改为14:
set(CMAKE_CXX_FLAGS "-std=c++14")

2.2 将四个.cpp文件中的/camera_init修改为camera_init,/camera改成camera,/map改成map
2.3 将scanRegistration.cpp中的 #include <opencv/cv.h> 修改为#include <opencv2/imgproc.hpp>
2.4 修改kittiHelper.cpp中 CV_LOAD_IMAGE_GRAYSCALE为 cv::IMREAD_GRAYSCALE
2.5 如果编译遇到大量未找到Eigen相关错误,将四个.cpp文件中的#include <eigen3/Eigen/Dense>修改为#include <Eigen/Dense>
2.6 编译时会报错"ceres::LocalParameterization"不存在,是因为ceres版本太高了
找到报错的cpp文件替换以下内容:
ceres::LocalParameterization *q_parameterization = new ceres::EigenQuaternionParameterization();
替换为
ceres::Manifold *q_parameterization = new ceres::EigenQuaternionManifold();
3 在工作空间编译运行
catkin_make
-
刷新环境变量和运行launch文件
source ./devel/setup.bash
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
5.再打开一个终端记录地图
rosbag record -o bag_out /laser_cloud_map
6.下载数据集和运行数据集
在数据集目录下打开终端运行
rosbag play <your bag name>.bag
7.效果图

8.将记录的包转换为pcd并且查看
跑完之后ctrl+c关闭记录地图的终端会生成一个bag文件,将其转化为pcd格式
rosrun pcl_ros bag_to_pcd xxxx.bag /laser_cloud_map pcd
在生成的文件夹pcd目录下,使用pcl_viewer工具打开点云查看
pcl_viewer XXXX.pcd
效果图:
