1. 安装ceres库
(1)安装依赖项
// CMake
sudo apt-get install cmake
// google-glog + gflags
sudo apt-get install libgoogle-glog-dev libgflags-dev
// Use ATLAS for BLAS & LAPACK
sudo apt-get install libatlas-base-dev
// Eigen3
sudo apt-get install libeigen3-dev
// 可选项(笔者选择了安装)
sudo apt-get install libsuitesparse-dev
(2)下载ceres库
经过尝试发现使用git指令安装的ceres版本较低,后期在A-LOAM编译时会报错,所以推荐采用手动安装。
打开Ceres Solver官网: Installation — Ceres Solver,点击You can start with the latest stable release.
(3)编译安装
tar -xvf ceres-solver-版本号.tar.gz //在下载的目录下,使用tar指令解压下载的Ceres压缩包
cd ceres-solver-版本号
mkdir build
cd build
cmake ..
make -j4
make test
sudo make install
2. 下载安装A-LOAM
(1)下载A-LOAM源码
mkdir -p aloam_ws/src
cd aloam_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM
(2)修改A-LOAM代码
这一步骤主要是为了避免后续编译报错,提前修改,顺利编译。先列举报错,然后放解决方法。
##报错1:error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope
##报错2:fatal error: opencv/cv.h: No such file or directory
##报错3:报错信息刷屏,这是c++编译器版本不对应引起的
##报错4:运行aloam时只有一条轨迹没有点云信息
针对报错1:
将A-LOAM/src/kittiHelper.cpp里的CV_LOAD_IMAGE_GRAYCALE修改为cv::IMREAD_GRAYSCALE
针对报错2:
将A-LOAM/src/scanRegistration.cpp里的#include <opencv/cv.h>修改为#include <opencv2/imgproc.hpp>
针对报错3:
将A-LOAM下的CMakeLists.txt里的c++11修改为c++14
针对报错4:
将A-LOAM/src/下所有/camera_init修改为camera_init,需要改三个.cpp文件,分别为:laserMapping.cpp、scanRegistration.cpp、laserOdometry.cpp,可以使用ctrl+h快捷键进行替换,回车进行确认。
(3)编译安装A-LOAM
cd aloam_ws/ //回到A-LOAM目录,如果上一次终端未关闭,直接cd ..返回
catkin_make
3. 运行A-LOAM
source ./devel/setup.bash
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
另起终端,播放数据包
rosbag play xxx.bag
运行结果如下:
图片数据包使用自nsh_indoor_outdoor.bag,下载链接如下:
链接: https://pan.baidu.com/s/1-jb4mxrK3OUv1dFgEFPe8w?pwd=mkzh 提取码: mkzh
--来自百度网盘超级会员v4的分享