SLAM 之 cartographer 安装

Pursue
  • 环境:Ubuntu20.04->noetic

安装依赖

基本的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 \
libsuitesparse-dev \
libwebp-dev \
ninja-build \
protobuf-compiler \
python3-sphinx

对于cartographer环境安装脚本

下载压缩包carto脚本

解压缩,进入文件夹,右键空白在终端打开。

1
2
chmod +x auto-carto-build.sh		#赋予执行权限
./auto-carto-build.sh #运行脚本

等待编译完成,时间较长,耐心等待。

下载cartographer

下载

Ctrl+Alt+t打开终端

1
2
#下载项目
git clone https://github.com/xiangli0608/cartographer_detailed_comments_ws.git

将下载好的文件夹重命名为cartographer_ws

编译 cartographer

运行工作空间下的 catkin_make.sh 脚本。脚本中的内容其实就是catkin_make_isolated --install --use-ninja,外加source install_isolated/setup.bash

1
2
cd ~/cartographer_ws		#进入目录
./catkin_make.sh #进行编译

注意:每修改一次源码,就要重新删除之前编译的文件,重新编译。若要测试,请先看[测试],修改完路径再编译,省点时间。

1
2
./rm_build.sh			#删除编译生成的文件
./catkin_make.sh #进行重新编译
  • 时间很长~~~~

当没有出现报错,基本已经成功。

测试

下载bagfiles

bagfiles下载链接

这里都将使用李想大佬修改过的launch文件,进行建图。因为launch文件将会自动播放bagfile包,所以我们需要修改launch文件中的bagfile存在的路径,具体如下

修改路径

例如,我的路径是/home/<user name>/Downloads/rslidar-outdoor-gps-notf.bag
ros-sc1.png

~/cartographer_ws/src/cartographer_ros/cartographer_ros/launch/lx_rs16_2d_outdoor.launch文件中,修改下图所选路径为你文件所的路径。
ros-sc2.png

  • 修改完请重新编译。

测试

我们通过play对应的bagfile可以模拟对应的传感器的数据,而不需要连接传感器硬件,非常方便。这里我们也将使用到别人已经录制好的bagfile。

1
2
3
cd ~/cartographer_ws		#进入对应工作空间
source ./devel_isolated/setup.bash
roslaunch cartographer_ros lx_rs16_2d_outdoor.launch

ros-sc3.png

评论