尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【ROS2】 Jazzy + TurtleBot3 自动建图完整指南
【ROS2】 Jazzy TurtleBot3 自动建图完整指南这篇指南将带你从零开始在 ROS2 Jazzy 环境下使用 TurtleBot3 完成自动探索建图。我们将从源码编译explore_lite包开始解决常见的依赖和编译问题并最终实现机器人的全自动建图。️ 第一步获取源码并清理环境首先我们需要获取专为 ROS2 适配的explore_lite源码并清理掉任何可能引起冲突的旧文件。# 1. 进入工作空间的 src 目录cd~/turtlebot3_ws/src# 2. 删除旧的或错误的包确保环境干净rm-rfm-explore m-explore-ros2 explore_lite# 3. 使用国内镜像加速克隆 ROS2 版本的 explore_litegitclone https://ghfast.top/https://github.com/robo-friends/m-explore-ros2.git 第二步安装依赖并重新编译这是解决“找不到包”或“消息包丢失”等报错的核心步骤。我们将彻底清理缓存安装依赖并正确编译。# 1. 返回工作空间根目录cd~/turtlebot3_ws# 2. 强制删除旧的构建产物和日志防止缓存干扰rm-rfbuild/explore_lite build/explore_lite_msgs\install/explore_lite install/explore_lite_msgs\log# 3. 安装系统依赖 (如果提示 rosdep 未找到请先运行: sudo apt install python3-rosdep)rosdepinstall--from-paths src --ignore-src-r-y# 4. 编译 explore_lite 及其消息包colcon build --packages-select explore_lite_msgs explore_lite# 5. 编译成功后刷新当前终端的环境变量sourceinstall/setup.bash 第三步启动自动建图四终端法现在环境已经准备就绪。请打开4个新的终端并按顺序执行以下命令。终端 1启动 Gazebo 仿真环境exportTURTLEBOT3_MODELwaffle_pi ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py终端 2启动 SLAM 建图# 修正点直接使用 slam_toolbox 的原生启动文件更稳定ros2 launch slam_toolbox online_async_launch.py use_sim_time:true终端 3启动 Nav2 导航栈作用提供代价地图 (/global_costmap/costmap)这是explore_lite能够工作的先决条件。ros2 launch nav2_bringup navigation_launch.py use_sim_time:true终端 4启动自动探索节点ros2 run explore_lite explore --ros-args-pcostmap_topic:/global_costmap/costmap 第四步启动 RViz 进行监控最后打开第五个终端启动 RViz 来可视化整个过程。rviz2在 RViz 中你需要手动添加以下显示项来观察效果Map: 话题为/map查看 SLAM 构建的地图。LaserScan: 话题为/scan查看雷达数据。Map: 话题为/global_costmap/costmap查看导航用的代价地图。RobotModel: 显示机器人模型。 一键启动脚本每次手动打开四个终端确实很麻烦。下面是一个 Bash 脚本可以帮你一键启动所有节点。1. 创建脚本文件在你的主目录下创建一个名为start_auto_mapping.sh的文件。nano~/start_auto_mapping.sh2. 粘贴脚本内容将以下内容复制并粘贴到文件中然后按CtrlO保存再按CtrlX退出。#!/bin/bash# 脚本功能一键启动 TurtleBot3 自动建图所需的所有节点# 使用方法在终端中运行 source ~/start_auto_mapping.shecho----------------------------------------echo正在启动 TurtleBot3 自动建图环境...echo请确保你已经在 ~/turtlebot3_ws 中编译并 source 过环境。echo----------------------------------------# 设置模型exportTURTLEBOT3_MODELwaffle_pi# 启动 Gazebo 仿真 (终端 1)gnome-terminal--tab--titleGazebo Sim--commandbash -c source /opt/ros/jazzy/setup.bash; source ~/turtlebot3_ws/install/setup.bash; ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py; exec bash# 等待几秒让 Gazebo 有时间初始化sleep5# 启动 SLAM (终端 2)gnome-terminal--tab--titleSLAM Toolbox--commandbash -c source /opt/ros/jazzy/setup.bash; source ~/turtlebot3_ws/install/setup.bash; ros2 launch slam_toolbox online_async_launch.py use_sim_time:true; exec bash# 启动 Nav2 (终端 3)gnome-terminal--tab--titleNav2 Stack--commandbash -c source /opt/ros/jazzy/setup.bash; source ~/turtlebot3_ws/install/setup.bash; ros2 launch nav2_bringup navigation_launch.py use_sim_time:true; exec bash# 启动 Explore Lite (终端 4)gnome-terminal--tab--titleExplore Lite--commandbash -c source /opt/ros/jazzy/setup.bash; source ~/turtlebot3_ws/install/setup.bash; ros2 run explore_lite explore --ros-args -p costmap_topic:/global_costmap/costmap; exec bashecho----------------------------------------echo所有节点已启动echo现在请手动打开一个新的终端并运行 rviz2 来查看效果。echo----------------------------------------3. 赋予脚本执行权限chmodx ~/start_auto_mapping.sh4. 如何使用以后你只需要在任意终端中运行以下命令所有四个终端就会自动弹出并启动相应程序source~/start_auto_mapping.sh注意这个脚本假设你使用的是gnome-terminal。如果你使用的是其他终端如konsole或xterm需要相应地修改脚本中的命令。
RELATED

相关推荐

Mistral-7B-Instruct-v0.3_rai_1.7.1_hybrid与原版模型对比:AMD混合量化技术带来的8大性能提升

Mistral-7B-Instruct-v0.3_rai_1.7.1_hybrid与原版模型对比:AMD混合量化技术带来的8大性能提升

Mistral-7B-Instruct-v0.3_rai_1.7.1_hybrid与原版模型对比:AMD混合量化技术带来的8大性能提升 【免费下载链接】Mistral-7B-Instruct-v0.3_rai_1.7.1_hybrid 项目地址: https://ai.gitcode.com/hf_mirrors/amd/Mistral-7B-Instruct-v0.3_rai_1.7.1_hybrid …

📅 2026/9/12 17:41:46
Agentic BI架构深度解析:HENGSHI SENSE 6.2技术全景

Agentic BI架构深度解析:HENGSHI SENSE 6.2技术全景

引言企业级BI系统正在经历一场范式重构。从传统报表到交互式仪表盘,再到AI驱动的智能分析,每一次演进都重新定义了数据分析的价值边界。衡石科技发布的HENGSHI SENSE 6.2,以Agentic BI(智能体商业智能)为核心架构理念&…

📅 2026/9/12 17:42:22
Science Bulletin解读:NPY-Y2R 神经免疫通路揭示三叉神经痛发病机制,云克隆 ELISA 助力

Science Bulletin解读:NPY-Y2R 神经免疫通路揭示三叉神经痛发病机制,云克隆 ELISA 助力

研究背景三叉神经痛(TN)是临床致残性重度口面部神经病理性疼痛,发作时电击样剧痛,轻微触碰、进食即可诱发,全球发病率达 0.16%,患者长期伴随焦虑、抑郁,生活质量严重受损。目前卡马西平等一线药…

📅 2026/8/20 20:36:35
MORE NEWS

更多资讯

📰

如何在 aspnetcore 的 Helix 测试矩阵中新增一个操作系统队列

如何在 aspnetcore 的 Helix 测试矩阵中新增一个操作系统队列 【免费下载链接】aspnetcore ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux. 项目地址: https://gitcode.com/GitHub_Trending…

📰

VB.NET中List(Of T)的使用与性能优化指南

1. VB.NET中的List(Of T)基础概念在VB.NET中,List(Of T)是System.Collections.Generic命名空间中最常用的集合类型之一。它本质上是一个动态数组,提供了比传统数组更强大的功能。我第一次接触List(Of T)是在处理一个需要动态增删数据的项目时&#xff0c…

📰

从 next_delay 到 retry_times:DeepSeek-Reasonix 指数退避重试调度的 API 契约与集成实战

从 next_delay 到 retry_times:DeepSeek-Reasonix 指数退避重试调度的 API 契约与集成实战 【免费下载链接】DeepSeek-Reasonix DeepSeek-native AI coding agent for your terminal. Engineered around prefix-cache stability — leave it running. 项目地址: h…

📰

SpringBoot汽车销售管理系统:实时库存与电子合同实践

1. 项目背景与核心价值汽车销售行业正经历从传统线下模式向数字化管理的转型浪潮。去年我参与改造某4S店管理系统时,亲眼目睹了手工台账导致的库存混乱——销售员A刚签下一台宝马3系的订单,销售员B却在同一时间把同一辆车卖给了另一位客户。这种尴尬局面…

📰

RetroArch Android TV 控制器配置指南:从遥控器到多玩家手柄的完整设置

RetroArch Android TV 控制器配置指南:从遥控器到多玩家手柄的完整设置 【免费下载链接】RetroArch Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3. 项目地址: https://gitcode.com/GitHub_Trending/re/RetroArch 手柄接上电…

📰

棋盘格相机标定实战:从内参矩阵到畸变校正的关键细节

简介:相机内参标定是计算机视觉的基础环节,直接影响图像畸变校正与三维测量精度。这份练习包面向需要快速上手单目相机标定的学生、研究者或开发者,定位明确:通过棋盘格图像与Python脚本,解决相机焦距、主点坐标及畸变…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬