Cartographer的原理与应用

平台

  Ubuntu 16.04
  ROS kinect
  Cartographer

Cartographer的安装

安装依赖库protobuf3

  注:这里需要安装3.6以上的版本。

1
2
3
4
5
6
7
8
9
10
11
sudo apt-get install autoconf autogen
git clone https://github.com/protocolbuffers/protobuf.git
cd protobuf
git submodule update --init --recursive
./autogen.sh
./configure
make
# 这一步可能会报错,无视就好
make check
sudo make install
sudo ldconfig

  注:需要分开依次执行,下同。
  检查安装的版本号:

1
protoc --version

安装Cartographer

  安装wstool,rosdep,ninja工具:

1
2
sudo apt-get update
sudo apt-get install python-wstool python-rosdep ninja-build

  创建工作空间carto_ws(可以是其他名字),并初始化。

1
2
3
mkdir carto_ws
cd carto_ws
wstool init src

1
2
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src

  如果报错或长时间未安装,则更改下载地址:cd src/gedit .rosinstall

  将最后一个git来源网址由https://ceres-solver.googlesource.com/ceres-solver.git改为https://github.com/ceres-solver/ceres-solver.git

  回到工作空间,重新执行:

1
wstool update -t src

1
2
3
sudo rosdep init    # 报错可忽视
rosdep update # 报错则重新执行(网络原因)
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y

  注:如果报错,未设置环境变量,则执行以下命令:

1
2
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

  重新执行:

1
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y

  最终出现:#All required rosdeps installed successfully

编译

1
2
catkin_make_isolated --install --use-ninja
source install_isolated/setup.bash

  注:如果这里报错,检查一下protoc的版本,至少是3.6的,如果不是,按照上文重新安装protoc依赖库。

测试

1
2
3
4
5
6
7
8
9
10
11
# Download the 2D backpack example bag.
wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag

# Launch the 2D backpack demo.
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag

# Download the 3D backpack example bag.
wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/with_intensities/b3-2016-04-05-14-14-00.bag

# Launch the 3D backpack demo.
roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/b3-2016-04-05-14-14-00.bag

  测试前,需打开roscore节点管理器,如果报错,检查下是否刷新了环境变量(source ~/carto_ws/install_isolated/setup.bash)。

参考博客

  博客1博客2

谢谢老板!
-------------本文结束感谢您的阅读给个五星好评吧~~-------------