Cartographer_ros-0.3.0安装

本文详细介绍了在无法翻墙的环境下,如何参照官方流程安装Cartographer ROS,包括安装必要的工具、下载并修改工程代码、安装proto3、设置deb依赖、编译和测试等步骤。

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

参照cartographer官方安装流程:http://google-cartographer-ros.readthedocs.io/en/latest/index.html 。流程会依次安装proto3、ceres-solver、cartographer和cartographer_ros。安装过程需要根据实际情况(针对无法翻墙的环境)做少许修改,流程如下:

     一、安装wstool,rosdep,ninja等

           1、sudo apt-get update

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

     二、创建cartographer的工作空间

           3、mkdir catkin_ws

           4、cd catkin_ws

           5、wstool init src

     三、下载ceres-solver、cartographer、cartographer_ros工程代码。在此需要注意的一点是需要把ceres-solver的下载地址由google修改为github。

           6、到GitHub上的cartographer_ros目录下下载cartographer_ros.rosinstall文件。

                https://github.com/googlecartographer/cartographer_ros

           7、修改文件内容:

                - git: {local-name: ceres-solver, uri:'https://ceres-solver.googlesource.com/ceres-solver.git', version: '1.13.0'}

                修改为:

                - git: {local-name: ceres-solver, uri:'https://github.com/ceres-solver/ceres-solver.git', version: '1.13.0'}

            8、wstool merge -t src cartographer_ros.rosinstall

            9、wstool update -t src

     四、安装proto3.

            10、src/cartographer/scripts/install_proto3.sh

                   该脚本实际上是进行下载protobuf,编译,安装。

     五、安装deb依赖

             11、sudo rosdep init

                    如果在安装ros已经进行过初始化,可以备份后删除/etc/ros/rosdep/sources.list.d/20-default.list再执行初始化

             12、rosdep update

             13、rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y

     六、编译

             14、catkin_make_isolated --install --use-ninja

                     编译速度取决于处理器能力,一般来说编译时间十分漫长

             15、source install_isolated/setup.bash

     七、测试

             1、下载任意数据包

                   http://google-cartographer-ros.readthedocs.io/en/latest/data.html

             2、roslaunch cartographer_rosdemo_backpack_2d.launch bag_filename:=数据包路径

             3、如能正常建图,则cartographer安装成功。

    至此,cartographer安装完毕,下一步需要结合自身设备及环境进行参数配置,详情请关注cartographer在github上的项目。

### 如何安装 `cartographer_ros_msgs` ROS 包 #### 准备工作 在开始之前,确保已经完成以下准备工作: - 已经配置好 ROSROS2 的开发环境。 - 安装了必要的依赖项,例如 `python-wstool`, `python-rosdep`, 和其他构建工具。 --- #### 方法一:通过 WSTool 自动化管理功能包 可以利用 `wstool` 来自动下载和同步所需的软件包及其依赖关系。以下是具体操作: 1. 创建一个新的工作区(如果尚未创建): ```bash mkdir -p ~/carto_ws/src && cd ~/carto_ws/ ``` 2. 初始化源代码目录: ```bash wstool init src ``` 3. 合并 Cartographer 提供的 `.rosinstall` 文件来引入所需的功能包: ```bash wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall ``` 4. 更新仓库以实际拉取代码: ```bash wstool update -t src ``` 此时,`src/` 目录下会包含 `cartographer_ros` 和 `cartographer_ros_msgs` 功能包[^3]。 --- #### 方法二:单独克隆 `cartographer_ros_msgs` 软件包 如果不希望通过 `.rosinstall` 文件自动化导入整个项目,也可以手动克隆单个功能包: 1. 进入您的 Catkin/CMake 构建工作区中的 `src` 目录: ```bash cd ~/your_workspace/src ``` 2. 克隆 `cartographer_ros_msgs` 仓库: ```bash git clone https://github.com/cartographer-project/cartographer_ros.git ``` 3. 切换到指定分支或标签版本(推荐使用稳定版)。例如: ```bash cd cartographer_ros git checkout master@e5894cce1f8047d5c807158711e468b3f5550f1a ``` 这一步确保您获得的是经过验证的兼容版本[^2]。 --- #### 编译与依赖解决 无论采用哪种方法,在成功获取目标消息定义文件后都需要执行如下命令完成编译过程以及处理可能存在的外部依赖问题。 1. 解决依赖项: ```bash sudo rosdep init rosdep update rosdep install --from-paths src --ignore-src -r -y ``` 2. 执行标准 CMake 或 Catkin 构建流程: 对于 **Catkin** 用户而言, ```bash catkin_make_isolated --install --use-ninja source devel/setup.bash ``` 而对于基于 **Colcon (ROS2)** 的场景,则应运行下面这些指令代替前者: ```bash colcon build --symlink-install source install/local_setup.bash ``` 以上步骤能够有效保障所涉及的所有组件均被正确加载至当前环境中。 --- #### 验证安装成果 最后可以通过检查已发布的主题列表或者尝试调用某些服务接口等方式确认一切正常运作无误。比如发送请求给节点查询子地图数据时可参照官方文档样例实现相应逻辑[^4]: ```cpp bool Node::HandleSubmapQuery(::cartographer_ros_msgs::SubmapQuery::Request& request, ::cartographer_ros_msgs::SubmapQuery::Response& response) { absl::MutexLock lock(&mutex_); map_builder_bridge_.HandleSubmapQuery(request, response); return true; } ``` --- ### 总结 综上所述,无论是借助 `wstool` 实现批量同步还是单纯针对单一模块进行独立提取都可以达成目的即顺利部署 `cartographer_ros_msgs` 。与此同时别忘了妥善安排关联资源譬如说第三方库之类的额外要素从而保证整体架构稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值