cartographer功能包安装及错误总结

1.安装:主要参考https://blog.csdn.net/weixin_39539851/article/details/88699296

补充:在安装之前一定要新建工作空间,否则只新建文件夹就按包装的话,到最后无法运行roslaunch,并且无法添加~/.bashrc

2.问题:

(1)Unrecognized syntax identifier "proto3". This parser only recognizes "proto2:

提示proto版本不对,卸载proto2,安装proto3。参考https://www.cnblogs.com/penuel/p/11334421.html

补充:protoc3安装后,protoc文件默认在/usr/lib/bin中,复制protoc到/usr/bin下,否则会提示找不到proto

(2)Could not find a package configuration file provided by "pcl_conversions":

参考:https://blog.csdn.net/subiluo/article/details/86251734

(3)cannot launch node of type [cartographer_ros/cartographer_node]

在~/.bashrc最后添加 source /工作空间/install_isolated/setup.bash\

<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. **数据集路径问题** - 使用绝对路径避免权限错误 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值