Cartographer安装步骤与demo测试

本文详细介绍了如何在ROS环境中安装和配置Cartographer,一个由谷歌开源的即时定位与地图建模库,支持二维和三维SLAM。通过步骤指导,帮助读者理解如何创建工作空间、安装依赖、编译功能包,并提供了官方2D和3D SLAM demo的测试流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cartographer为谷歌开源的即时定位与地图建模库,使用该库可实现二维和三维的定位与建图。Cartographer基于图网络的优化算法,Cartographer目前主要基于激光雷达来实现SLAM。

一、Cartographer安装

1.安装工具

更新软件源:

sudo apt-get update

安装一系列工具:

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

2.创建并初始化工作空间

为了不与已有功能包冲突,首先要为Cartographer专门创建一个工作空间:

mkdir catkin_google_ws

然后在终端输入以下命令,进入工作空间路径:

cd catkin_google_ws

再初始化工作空间,生成src文件:

wstool init src

3.加入cartographer_ros.rosinstall并更新依赖

在catkin_google_ws目录下,输入终端命令:

wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall

完成cartographer_ros.rosinstall的加入

输入完该命令后需要改文件的下载地址,另起终端输入:

gedit carto_ws/src/.rosinstall

将最后一个git来源网址由https://ceres-solver.googlesource.com/ceres-solver.git改为https://github.com/ceres-solver/ceres-solver.git

然后开始克隆:

wstool update -t src

4.安装依赖并下载cartographer相关功能包

更新ROS依赖:

rosdep update

安装ROS依赖:

rosdep install --from-paths src --ignore-src --rosdistro=melodic -y

5.编译并安装

对功能包进行编译与安装:

catkin_make_isolated --install --use-ninja

然后设置环境变量:

source install_isolated/setup.bash

每次运行demo都需要输入一遍该命令,否则系统找不到launch文件。(在当前终端有效)

要想避免每次都要输入该命令,可使用编辑bashrc文件的方法:

sudo gedit ~/.bashrc

然后在文本的末尾添加以下语句(根据自身情况修改),并保存:

source /home/jms/catkin_google_ws/install_isolated/setup.bash

二、官方demo测试

(1)2D slam demo

从外国网站下载数据包:

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag

运行数据包:

roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag

(2)3D slam demo

从外国网站下载数据包:

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/b3-2016-04-05-14-14-00.bag

运行数据包:

roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/b3-2016-04-05-14-14-00.bag
<think>好的,我需要帮助用户了解Cartographer安装使用方法。首先,我应该回顾用户提供的引用内容,特别是引用[1]、[3]、[4]中的相关信息,因为这些直接涉及Cartographer的项目结构、安装指南和数据集使用。用户可能希望从基础安装步骤开始,然后是如何使用,可能还需要数据集的支持。 首先,安装Cartographer通常需要依赖项,比如ROS、Protobuf、Ceres等。用户可能使用的是ROS 2,但根据引用[3],Cartographer_ROS的项目地址提到的是ROS版本,可能需要确认是否支持ROS 2。不过用户提供的引用[1]提到的是Cartographer ROS 2项目教程,所以需要明确安装ROS 2的步骤。但根据我的知识,Cartographer官方主要支持ROS 1,可能用户引用的资料有误,或者存在社区移植版本。这里可能需要说明两种情况,或者以ROS 1为例进行安装,避免混淆。 接下来,用户需要安装CartographerCartographer_ROS的源码。引用[3]的项目地址可能链接有问题(显示为gh_mirrors/car/cartographer_ros),正确的地址应该是gh_mirrors/cartographer-project/cartographer_ros。不过用户可能不需要直接访问,但安装步骤通常包括从GitHub克隆仓库,使用catkin_make进行编译。 然后,数据集的使用,引用[4]提到国内下载的数据集,适用于机器人导航、自动驾驶等场景,用户可能需要下载这些数据集进行测试安装完成后,运行示例数据集是验证安装是否成功的有效方法,所以需要包含这部分内容。 另外,用户可能需要了解如何配置参数和启动节点,这部分可以参考引用[1]中的目录结构介绍,以及引用[2]提到的应用指南。需要提醒用户注意依赖项的版本兼容性,比如Protobuf 3.0.0可能和系统自带版本冲突,需要编译安装指定版本。 最后,常见问题如依赖项冲突、编译错误、数据集路径设置等,应该给出解决方案。例如,推荐使用Docker避免环境问题,或者提供调试建议。 总结步骤安装依赖→创建工作空间→克隆源码→编译→配置环境→测试数据集。需要确保每一步命令正确,并符合用户的环境(如Ubuntu版本、ROS版本)。同时,引用相关引用来源,如引用[1][3][4]来支持步骤的可靠性。</think>### Cartographer SLAM 安装使用指南 #### 一、安装前准备 1. **系统环境要求** - Ubuntu 18.04/20.04(推荐) + ROS 1(Noetic/Melodic)[^3] - 若使用ROS 2,需确认社区支持版本(部分功能可能受限)[^1] 2. **安装依赖项** ```bash sudo apt-get install -y \ cmake \ g++ \ git \ google-mock \ libboost-all-dev \ libcairo2-dev \ libceres-dev \ libeigen3-dev \ libgflags-dev \ liblua5.3-dev \ libsuitesparse-dev \ ninja-build \ python3-sphinx \ ros-${ROS_DISTRO}-abseil-cpp ``` 3. **Protobuf 3.0.0 安装** ```bash git clone https://github.com/protocolbuffers/protobuf.git cd protobuf git checkout v3.0.0 mkdir build && cd build cmake -G Ninja -DCMAKE_POSITION_INDEPENDENT_CODE=ON .. ninja sudo ninja install ``` --- #### 二、Cartographer 源码编译 1. **创建工作空间** ```bash mkdir -p ~/cartographer_ws/src cd ~/cartographer_ws/src git clone https://gitcode.com/gh_mirrors/cartographer/cartographer.git git clone https://gitcode.com/gh_mirrors/cartographer/cartographer_ros.git ``` 2. **编译安装** ```bash cd ~/cartographer_ws rosdep update rosdep install --from-paths src --ignore-src -y catkin_make_isolated --install --use-ninja source install_isolated/setup.bash ``` --- #### 三、数据集下载测试 1. **国内数据集下载** - 通过引用[4]提供的百度网盘链接获取2D数据集(如`backpack_2d`) - 解压数据集至本地目录(例如 `~/Downloads/cartographer_dataset`) 2. **运行示例** ```bash roslaunch cartographer_ros demo_backpack_2d.launch \ bag_filename:=${HOME}/Downloads/cartographer_dataset/backpack_2d.bag ``` - 若成功,RViz中将显示实时建图效果[^4] --- #### 四、参数配置自定义使用 1. **配置文件路径** - Cartographer参数:`cartographer_ros/configuration_files` - 修改`trajectory_builder_2d.lua`调整SLAM精度性能平衡[^1] 2. **启动自定义地图** ```bash roslaunch cartographer_ros offline_backpack_2d.launch \ bag_filenames:=${PATH_TO_YOUR_BAG} ``` --- #### 五、常见问题解决 1. **Protobuf版本冲突** - 若系统存在其他版本,通过`export PROTOBUF_PROTOC_EXECUTABLE=/usr/local/bin/protoc`指定路径 2. **编译错误** - 确保所有子模块更新: ```bash cd ~/cartographer_ws/src/cartographer git submodule update --init --recursive ``` 3. **数据集路径问题** - 使用绝对路径避免权限错误 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值