Cartographer 是google于2016年9月开源的一套激光雷达slam算法,精度和效果在业界处于领先水准。本文将演示在ROS JADE版中的安装使用方法。
操作步骤:
1.安装依赖包
# Install the required libraries that are available as debs.
sudo apt-get update
sudo apt-get install -y \
cmake \
g++ \
git \
google-mock \
libboost-all-dev \
libcairo2-dev \
libeigen3-dev \
libgflags-dev \
libgoogle-glog-dev \
liblua5.2-dev \
libprotobuf-dev \
libsuitesparse-dev \
libwebp-dev \
ninja-build \
protobuf-compiler \
python-sphinx
2.安装ceres solver
cd ~/Documents
git clone https://github.com/BlueWhaleRobot/ceres-solver.git
cd ceres-solver
mkdir build
cd build
cmake ..
make -j
sudo make install
3.安装cartographer
cd ~/Documents
git clone https://github.com/BlueWhaleRobot/cartographer.git
cd cartographer
mkdir build
cd build
cmake ..
make -j
sudo make install
4.安装cartographer_ros
cd ~/Documents/ros/src #请修改路径到自己的ROS catkin工作空间
git clone https://github.com/BlueWhaleRobot/cartographer_ros.git
cd ..
catkin_make
5.安装已完成,开始下载测试用的bag文件
点击下述链接下载文件,保存到桌面
https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag
6.启动demo演示,正常可以看到rviz启动并开始建图
根据个人平台计算能力不同,本demo完整运行时间一般为半个小时到1个小时之间
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Desktop/cartographer_paper_deutsches_museum.bag
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/cartographer_paper_deutsches_museum.bag
7.保存地图,结束测试
rosservice call /finish_trajectory "stem: 'test'"
现在在home目录下的.ros文件夹内会生成建立的地图文件,这两个文件(pgm 和 yaml)在ros中的map_server中可以加载使用