前言
提示:我的版本为ubuntu18.04 + Ros Melodic
官网地址为:cartographer官网
一、为cartographer安装依赖
代码如下:
sudo apt-get update
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-melodic-tf2-eigen libatlas-base-dev libsuitesparse-dev liblapack-dev
sudo apt-get install -y python-wstool python-rosdep ninja-build stow
二、下载Cartographer源码
1.初始化空间
mkdir catkin_google_ws
cd catkin_google_ws
wstool init src
2.从我的gitee上下载代码
cd src
git clone https://gitee.com/liu_xiao_eu/cartographer.git
git clone https://gitee.com/liu_xiao_eu/cartographer_ros.git
三、安装ceres-solver
版本为ceres-solver-1.13.0,其他的没试过,其他的有可能会出现版本匹配不对的问题
1.在上述建好的src文件夹下,获取源码
wget ceres-solver.org/ceres-solver-1.13.0.tar.gz
2.解压
tar xvf ceres-solver-1.13.0.tar.gz
3.编译
cd ceres-solver-1.13.0
mkdir build
cd build
cmake ..
make
测试并安装依赖
make test
sudo make install
三、 安装 cartographer_ros 的依赖
返回到工作空间的目录下,并在工作空间的目录下进行后面操作:
sudo rosdepc init
rosdepc update
初始化,这里还是强烈建议用小鱼,简直就是yyds;注意这里的rosdepc 就是小鱼的
具体安装方式请自行解决
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
四、 安装库并编译
Cartographer 需要 abseil-cpp library
方式为:
src/cartographer/scripts/install_abseil.sh
有的可能还需要执行这句:sudo apt-get remove ros-${ROS_DISTRO}-abseil-cpp
我这没有执行也成功;
catkin_make_isolated --install --use-ninja
build完成就结束了,以后每次改动文件都要重新执行此命令。
安装不报错的话基本上就可以了。
五、 下载测试包测试建图
下载官网提供数据包测试:
wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag
此时的应在工作空间的目录下,执行测试:
source install_isolated/setup.bash
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag