在oe2403上编译 Cartographer ROS

系统要求

当前默认你已经在x86_64的os2403完成安装了ros2 相关的包。 Cartographer ROS 的要求与 Cartographer 的要求 相同。

当前支持以下 ROS 发行版

  • Humble

构建与安装

为了在openEuler上构建 Cartographer ROS,我们推荐使用 colcon 。为了更快的构建,我们还推荐使用 Ninja

在使用 ROS Humble 的 openEuler 上,使用以下命令安装上述工具:

sudo dnf update
sudo dnf install python3-colcon-common-extensions python3-rosdep ninja-build

安装工具后,在 ‘ros2_ws’ 中创建一个新的 cartographer_ros 工作区。

mkdir -p ros2_ws/src
cd ros2_ws/src
git clone https://gitee.com/src-openeuler/cartographer_ros.git
cd cartographer_ros
git checkout humble
tar xf ros-humble-cartographer-ros_2.0.9000.orig.tar.gz
tar xf ros-humble-cartographer-ros-msgs_2.0.9000.orig.tar.gz
tar xf ros-humble-cartographer-rviz_2.0.9000.orig.tar.gz

现在你需要给 cartographer_ros 打上补丁。

cd ros-humble-cartographer-ros-2.0.9000/
patch -p1 < ../cartographer-ros-adapt-glog-0.6.0.patch
patch -p1 < ../cartographer-ros-fix-multiple-definition-error.patch
patch -p1 < ../cartographer-ros-fix-absl.patch

还有rviz的补丁

cd ../ros-humble-cartographer-rviz-2.0.9000
patch -p1 < ../cartographer-rviz-fix-absl.patch

构建并安装。

cd ../../       # 现在你应该在 ros2_ws/下面
colcon build    # 这将花去非常多的时间,don't panic.