ubuntu 安装cartographer
时间: 2025-06-12 08:30:22 浏览: 16
### 在 Ubuntu 上安装 Cartographer SLAM 库
#### 1. 系统环境准备
在安装 Cartographer 前,需要确保系统的软件源已更新并安装必要的工具链。对于 Ubuntu 20.04 和 ROS Noetic 的组合,可以按照以下方法操作:
```bash
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y python3-pip git build-essential cmake
pip3 install --upgrade pip setuptools wheel catkin-tools empy pyyaml
```
此部分的操作是为了准备好基础开发环境以及 Python 工具链[^1]。
---
#### 2. 安装依赖项
Cartographer 需要一些特定的依赖库来支持其功能实现。以下是针对不同版本 Ubuntu 的具体依赖列表及其安装方式:
##### **(a) 对于 Ubuntu 20.04**
由于 `libabsl-dev` 不被官方仓库支持,可以通过手动编译 Abseil-CPP 来替代该依赖。步骤如下:
1. 下载 Abseil-CPP 源码:
```bash
git clone https://github.com/abseil/abseil-cpp.git /tmp/abseil-cpp
cd /tmp/abseil-cpp
```
2. 编译并安装:
```bash
mkdir -p build && cd build
cmake ..
make -j$(nproc)
sudo make install
```
完成之后,在 `package.xml` 文件中注释掉对 `libabsl-dev` 的引用即可继续后续流程[^1]。
其他必要依赖可通过 APT 轻松获取:
```bash
sudo apt-get install -y \
libboost-all-dev \
libcairo2-dev \
libeigen3-dev \
libsuitesparse-dev \
lua5.2 \
luarocks \
protobuf-compiler \
python3-lua \
python-catkin-tools \
python-rospkg-modules \
ros-noetic-tf2-geometry-msgs \
ros-noetic-gmapping \
ros-noetic-hector-slam
```
##### **(b) 对于 Ubuntu 18.04**
如果使用的是较旧版系统,则可以直接通过脚本自动化处理大部分依赖关系。运行以下命令下载并执行官方构建脚本:
```bash
wget https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/scripts/install_prerequisites.sh
chmod +x ./install_prerequisites.sh
./install_prerequisites.sh
```
这一步会自动拉取 Eigen3、Lua 及 Ceres Solver 等核心组件[^2]。
---
#### 3. 获取 Cartographer 源码
无论目标平台为何种发行版,都需要克隆 Cartographer 主项目及相关子模块至本地工作区目录下:
```bash
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/cartographer-project/cartographer_ros.git
cd cartographer_ros
git submodule update --init --recursive
```
随后初始化 Wstool 并同步所有外部资源链接地址到当前路径结构之中:
```bash
wstool init . wstool.rosinstall
wstool update
```
---
#### 4. 构建与部署
利用 Catkin Tools 进行增量式编译过程管理,从而减少冗余计算开销时间成本:
```bash
source /opt/ros/noetic/setup.bash
cd ~/catkin_ws/
catkin_make_isolated --install --use-ninja
```
当遇到任何错误提示时,请仔细阅读日志信息定位问题所在,并参照先前提到的方法逐一排查修复[^4]。
---
#### 5. 测试验证
最后启动一个简单的 Demo 场景检验整个设置是否成功生效正常运作无误:
```bash
source ~/catkin_ws/install_isolated/setup.bash
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=<your_bag_file>
```
这里 `<your_bag_file>` 替换为你实际拥有的数据集文件全名绝对路径位置[^3]。
---
### 注意事项
- 如果发现某些第三方插件缺失或者不兼容新标准协议规范的话,可能还需要额外调整代码逻辑适配最新 API 接口定义。
- 整体过程中涉及到大量网络请求活动频繁访问远程服务器节点资源,请保持良好稳定的互联网连接状态以免中断影响进度效率。
阅读全文
相关推荐


















