ROS2-humble + TurtleBot3 + Cartographer + Nav2

本文详细介绍了如何在ROS2环境中为TurtleBot3搭建环境,包括安装必要的软件包,如Gazebo、Cartographer和Navigation2,以及如何使用键盘控制、运行地图构建和导航。重点讲解了多点导航的步骤和使用RVIZ2进行目标设定。

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

一、环境搭建

1. install Gazebo

sudo apt install ros-humble-gazebo-*

2. install cartographer

sudo apt install ros-humble-cartographer
sudo apt install ros-humble-cartographer-ros

3. install Navigation2

sudo apt install ros-humble-navigation2
sudo apt install ros-humble-nav2-bringup

4. install TurBot3 Package      Install TurBot3 via Debian Packages 

source ~/.bashrc
sudo apt install ros-humble-dynamixel-sdk
sudo apt install ros-humble-turtlebot3-msgs
sudo apt install ros-humble-turtlebot3

5. 下载键盘控制节点功能包

sudo apt-get install ros-ROS版本号-teleop-twist-keyboard

二、运行

1. 打开终端,启动机器人所在环境的启动文件

export TURTLEBOT3_MODEL=burger #我这里用的是turtlebot3的 burger模型,所以在新的终端里输入
ros2 launch turtlebot3_gazebo turtlebot3_house.launch.py

 

<think>好的,我现在需要解决用户提出的问题:在Ubuntu上找不到ros-humble-cartographer-ros包的问题,包括检查源配置和安装依赖。首先,我应该回忆一下用户提供的引用内容,特别是引用[2]中的安装命令。用户提到他们尝试安装ros-humble-cartographerros-humble-cartographer-ros,但后者找不到。这可能涉及到软件源配置的问题,或者包名是否正确。 首先,我应该考虑软件源是否配置正确。ROSHumble版本需要Ubuntu Jammy(22.04),所以用户需要确认自己的系统版本是否正确。如果系统版本不对,软件源可能不可用。接下来,用户需要确保已经添加了ROS 2的官方软件源,特别是正确的main、universe和multiverse仓库。有时候,用户可能忘记更新软件源缓存,导致找不到包,所以运行sudo apt update是必要的。 然后,检查包是否存在。用户可以通过apt search命令来查找ros-humble-cartographer-ros是否存在。如果找不到,可能需要确认包的正确名称,或者该包是否被移动或废弃。此外,有时候包可能存在于其他仓库,比如ROS的测试仓库或第三方PPA,但通常建议使用官方源。 如果软件源没问题,但包仍然找不到,可能需要安装依赖项。Cartographer可能依赖其他ROS包,如navigation2或其他相关库,用户需要安装这些依赖。此外,构建Cartographer可能需要从源代码安装,特别是如果二进制包不可用的情况下。这时需要按照官方文档的指导,克隆仓库并构建。 另外,用户的问题可能涉及到ROS 2的工作空间是否正确配置,或者是否在正确的环境中执行命令。例如,需要确保ROS 2的环境变量已经设置,比如通过source /opt/ros/humble/setup.bash。如果用户在一个没有正确配置环境的新终端中运行安装命令,可能会遇到问题。 总结一下,可能的解决步骤包括:检查系统版本、确认软件源配置、更新软件列表、搜索包名、安装依赖、尝试源码安装。需要一步步引导用户排查每个可能性,确保他们能够找到问题所在并解决。</think>### 逐步解决方案 1. **确认系统版本与ROS版本匹配** ROS Humble Hawksbill 要求 Ubuntu 22.04(Jammy Jellyfish)[^2]。若系统版本不符,需升级或更换系统。 2. **检查ROS软件源配置** 确保已正确添加ROS 2的官方源和必要的仓库: ```bash sudo apt update sudo apt install curl sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null sudo apt update ``` 若缺少 `universe` 或 `multiverse` 仓库,需启用: ```bash sudo add-apt-repository universe sudo add-apt-repository multiverse sudo apt update ``` 3. **搜索软件包是否存在** 使用以下命令确认包是否在可用列表中: ```bash apt search ros-humble-cartographer-ros ``` 若未找到,可能是包名错误或未包含在官方源中。 4. **安装依赖项** Cartographer依赖部分ROS 2导航工具链,建议先安装基础依赖: ```bash sudo apt install ros-humble-navigation2 ros-humble-nav2-bringup ``` 5. **尝试从源码构建** 若二进制包不可用,需从源码编译: ```bash mkdir -p ~/cartographer_ws/src cd ~/cartographer_ws/src git clone https://github.com/ros2/cartographer.git git clone https://github.com/ros2/cartographer_ros.git cd .. rosdep install --from-paths src --ignore-src -y colcon build --symlink-install ``` 6. **验证环境变量** 确保在安装后激活ROS环境: ```bash source /opt/ros/humble/setup.bash # 若从源码构建,还需激活工作空间 source ~/cartographer_ws/install/setup.bash ``` ### 常见问题排查 - **错误提示 `E: Unable to locate package`**:软件源未正确配置或包名错误。 - **依赖冲突**:使用 `rosdep` 自动解决依赖关系。 - **构建失败**:检查CMake日志,确认缺少的库或头文件。 ### 相关问题 1. 如何升级Ubuntu系统以匹配ROS版本要求? 2. ROS 2中如何管理多工作空间的依赖冲突? 3. Cartographer在SLAM中的具体应用场景有哪些?[^1]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值