1. 环境准备与依赖安装
第一次接触Cartographer时,最头疼的就是环境配置。我在Ubuntu 20.04上实测过多次,总结出最稳定的安装方案。先确保系统已更新:
bash复制sudo apt update && sudo apt upgrade -y
核心依赖包括CMake、Eigen3和Boost库,建议手动安装而非完全依赖脚本:
bash复制sudo apt install -y cmake libeigen3-dev libboost-all-dev
ROS Noetic用户需要额外安装这些包:
bash复制sudo apt install -y ros-noetic-cartographer ros-noetic-cartographer-ros
遇到protobuf版本冲突时(这是常见坑),可以这样解决:
bash复制sudo apt install -y libprotobuf-dev protobuf-compiler
我习惯用脚本检查关键依赖版本:
bash复制cmake --version | grep "3.16" && protoc --version | grep "3.6"
注意:如果使用李想老师的注释版源码,建议先卸载系统自带的cartographer包,避免符号冲突
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 源码编译实战技巧
源码编译环节最容易卡住。推荐使用SSD硬盘编译,机械硬盘可能要多等半小时。先创建工作空间:
bash复制mkdir -p ~/carto_ws/src
cd ~/carto_ws/src
git clone --recursive https://github.com/xiangli0608/cartographer_detailed_comments_ws.git
编译时有三个关键点:
- 使用
-j参数根据CPU核心数调整编译线程(我常用-j$(nproc)) - 首次编译务必加
--use-ninja参数加速 - 内存不足时添加
-DCMAKE_BUILD_TYPE=Release
完整编译命令示例:
bash复制catkin_make_isolated --install --use-ninj
