1. Cartographer环境搭建与初步建图

Cartographer环境搭建与初步建图 学习卡片

任务目标

在Ubuntu 20.04系统上从源码安装Cartographer及其依赖,运行官方2D激光SLAM demo(backpack_2d),通过生成的轨迹与栅格地图验证环境配置正确。

环境与依赖

  • Ubuntu 20.04 + ROS Noetic(若使用其他版本,请对应调整ROS发行版名称)
  • 已安装ROS基础环境(ros-noetic-desktop-full)
  • 依赖包:ninja-build、stow、git、python3-wstool、python3-rosdep、python3-catkin-pkg-modules、python3-rosinstall-generator

安装步骤

以下命令按顺序在终端执行,完成Cartographer及其依赖的安装。

1. 安装系统依赖

sudo apt-get update
sudo apt-get install -y ninja-build stow git python3-wstool python3-rosdep python3-catkin-pkg-modules python3-rosinstall-generator

2. 创建工作空间并下载源码

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

3. 安装proto3与依赖

src/cartographer/scripts/install_proto3.sh
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=noetic -y

4. 编译与配置环境

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

运行官方Demo验证

安装完成后,运行Cartographer官方提供的2D背包数据集demo。该demo会下载测试数据并启动建图节点,最终在Rviz中显示建图过程。

roslaunch cartographer_ros demo_backpack_2d.launch

验证方法与判定标准

执行上述launch后,按以下步骤确认环境配置正确:

  1. Rviz窗口正常打开:出现可视化界面,左侧面板显示Map、Trajectory、Laser Scan等话题。
  2. 数据播放:终端持续输出处理日志,Rviz中激光点云随数据包播放而移动。
  3. 地图构建:等待约30秒后,Rviz中Map图层开始显示逐渐累积的栅格地图(黑色障碍物轮廓)。
  4. 轨迹闭合:demo数据播放结束后(约1分钟),地图中显示一条完整的行走轨迹,起点与终点区域重合,无明显漂移断裂。

若以上现象均出现,说明Cartographer安装成功且2D建图功能正常。若launch启动报错,请检查rosdep install是否完整、install_isolated/setup.bash是否已source。

常见问题

  • proto3编译失败:确认install_proto3.sh执行完成,且/usr/local/bin/protoc存在并版本为3.x。
  • rosdep找不到依赖:先执行sudo rosdep init,若提示已存在则跳过,再执行rosdep update。
  • catkin_make_isolated内存不足:可降低并行编译数,例如catkin_make_isolated --install --use-ninja -j2。