Cartographer是Google开源的激光SLAM项目,目前是激光SLAM方案中较为稳定的,已应用于工业机器人激光建图定位,我之前是研究视觉SLAM的,后面转到激光SLAM方案,未来的研究重心是想放在激光、IMU和视觉多传感器融合的SLAM方案上,所以目前是准备将Ccartographer作为自己激光入门的项目来做,之前有在做,但是没有好好记录,趁着这段时间可以简单记录一下。好啦,废话不多说,开始进入正题。
在学习Cartographer之前,首先我们需要部署环境以及安装相应的依赖包和库文件,然后编译运行,在这过程中我会将自己遇到的问题展示出来并阐述下自己是如何解决的,但不一定能够解决小伙伴们碰到的所有问题,因为每个人原先环境的配置都是大相径庭的。本人是在Ubuntu16.04系统下进行安装配置的。
第一步,安装Cartographer的依赖
终端命令:
sudo apt-get install -y google-mock libboost-all-dev libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.2-dev libprotobuf-dev libsuitesparse-dev libwebp-dev ninja-build protobuf-compiler python-sphinx ros-kinetic-tf2-eigen libatlas-base-dev libsuitesparse-dev liblapack-dev
第二步,安装Cartographer所依赖的库
Cartographer所依赖的库有4个,分别是Eigen,Ceres,Protobuf,Abseil。
(1)Eigen库编译安装
安装Eigen库之前,我们先要明确版本,需要Eigen3.2.9版本。附上Eigen官方的下载链接。
如果之前是已经装过Eigen3.2.9版本以上的其他版本,要先删除电脑原先存在的版本。
删除相应文件夹:
sudo rm -rf /usr/include/eigen3 /usr/include/Eigen
sudo rm -r /usr/local/share/eigen3/cmake/
若是报没有对应文件夹的错误,可以忽略,因为电脑中本身没有这个文件夹,对后续的版本切换没有影响。在完成后进入Eigen3.2.9的安装即可。
下载Eigen3.2.9之后,进入Eigen3.2.9文件夹下进行编译安装:
cd eigen3.2.9/
mkdir build
cd build
cmake ..
sudo make install
注意,Eigen的默认安装路径是在/usr/local/include下,若是遇到找不到Eigen库的原因,可以考虑下路径的问题,可以采用以下方式解决:
sudo cp -r /usr/local/include/eigen3 /usr/include/
sudo ln -s /usr/include/eigen3/Eigen /usr/include/
这里简单提一下查看Eigen版本的终端命令,可以用于判断是否安装正确版

本文详细介绍如何在Ubuntu16.04环境下安装Google开源的激光SLAM项目Cartographer及其依赖库,包括Eigen、Ceres、Protobuf等,并针对安装过程中可能遇到的问题提供了具体的解决方案。
最低0.47元/天 解锁文章
530





