其他算法参考栏目:
SLAM常用2D、3D算法复现以及在搭建的Gazebo环境仿真汇总-CSDN博客
1.安装依赖
sudo apt-get install cmake
sudo apt-get install libgoogle-glog-dev libgflags-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libsuitesparse-dev
2.安装编译Ceres
下载ceres链接:Installation — Ceres Solver (ceres-solver.org)
点击latest stable release下载最新ceres,本文版本为2.2.0,下载完后复制解压到home
cd ceres-solver-2.2.0
mkdir build
cd build
cmake ..
#由于编译很慢,因此采用多线程编译-j8代表多线程编译,线程不够可以make编译或者减少线程数
make -j8
#检查文件
make test
sudo make install
测试ceres是否安装成功,测试ceres-solver-2.2.0/data下的problem-16-22106-pre.txt文件
cd ceres-solver-2.2.0/build
bin/simple_bundle_adjuster ../data/problem-16-22106-pre.txt
显示出运行结果,则安装成功
3.下载编译A-LOAM
创建a-loam_ws的工作空间
cd a-loam_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git
cd ..
catkin_make
直接catkin_make进行编译会出现大量的报错,先进行如下操作修改配置参数文件
如果我们下载下来源码之后直接对其编译,是会发生报错的,因此我们需要对源码进行一些修改
1.将home/a-loam_ws/src/A-LOAM/src下面的4个.ccp文件中的/camera_init全部查找替换成camera_init。
2.将scanRegistration.cpp文件中的include <opencv/cv.h>替换成#include <opencv2/imgproc.hpp>
3.修改kittiHelper.cpp中的CV::IMREAD_GRAYSCALE大写改成cv::IMREAD_GRAYSCALE
4.如果编译遇到大量未找到Eigen相关错误,将四个.cpp文件中的#include <eigen3/Eigen/Dense>修改为#include <Eigen/Dense>
完成后重新catkin_make进行编译
打开一个终端
cd a-loam_ws
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
打开新终端运行播放数据集
rosbag play 2017-06-08-15-50-45_1.bag
###数据集可在我复现lego_loam的博客上下载或者下载官方的