Cartographer_ros编译

Cartographer_ros编译

系统要求

Cartographer_ros的安装依赖项与Cartographer相同

目前支持以下的ROS发行版本:

  • Kinetic
  • Melodic
  • Noetic

编译和安装

为了构建 Cartographer ROS,推荐使用 wstoolrosdep。 为了更快的构建,还建议使用 Ninja

在装有 ROS Noetic 的 Ubuntu Focal 上,使用这些命令来安装上述工具:

sudo apt-get update
sudo apt-get install -y python3-wstool python3-rosdep ninja-build stow

在之前的发行版上,使用以下命令:

sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build stow

在上述工作安装后,需要为Cartographer_ros创建一个工作空间并拉取代码:

mkdir catkin_ws
cd catkin_ws
wstool init src
wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src

现在需要安装 cartographer_ros 的依赖项。 首先,使用 rosdep 来安装所需的包。 如果在安装 ROS 后已经执行过‘sudo rosdep init’命令,则会打印错误信息。 这个错误可以忽略。

sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y

# 对于Ubuntu 16 / ROS Kinetic还需要执行这个脚本来安装protobuf: 
# src/cartographer/scripts/install_proto3.sh

Cartographer 使用 abseil-cpp 库,需要使用此脚本手动安装:

src/cartographer/scripts/install_abseil.sh

由于版本冲突,可能需要使用以下命令卸载 ROS abseil-cpp

sudo apt-get remove ros-${ROS_DISTRO}-abseil-cpp

之后执行编译和安装命令:

catkin_make_isolated --install --use-ninja

这将从 master 分支的最新 HEAD 构建 Cartographer。 如果需要特定版本,则需要更改 cartographer_ros.rosinstall 中的版本。

上一篇:Mybatis学习笔记 - 01


下一篇:cartographer的集中架构分析