Ubuntu 的 ROS 操作系统 turtlebot3 SLAM仿真

news/2024/11/14 11:21:28/

引言

在这里插入图片描述


学习目标

  • 掌握在Gazebo中使用TurtleBot3进行SLAM仿真的基本操作。
  • 学会启动TurtleBot3仿真环境,并使用SLAM节点进行环境建图。
  • 掌握遥控TurtleBot3进行探索,并保存生成的地图文件。
  • ROSROS_Noetic_Ninjemys__Ubuntu_2004_Focal_FossaROS_1___UbuntuROSPython_httpsblogcsdnnetqq_45780647articledetails143581334spm1001201430015501_16">安装与自己Ubuntu版本对应的ROS版本,本文ROS Noetic Ninjemys 主要支持 Ubuntu 20.04 (Focal Fossa),其他ROS 1 版本也适用。安装前请详细参考 Ubuntu版本、ROS版本与Python 版本之间的关系。

在这里插入图片描述


学习内容

1 注意事项

1.1 兼容性注意事项
  • 注意:本文内容对应的是远程PC(桌面或笔记本电脑),用于控制TurtleBot3。 请勿将此指令应用到TurtleBot3机器人上。
  • 首次启动模拟可能需要一些时间来完成环境设置。
  • SLAM 仿真前请详细参考 ———>专栏: Linux系统之Ubuntu系统安装 。
  • SLAM 仿真前请详细参考 ———>专栏: Turtlebot3 PC端ROS环境搭建与仿真。
ROS_turtlebot3gazebo_29">1.2 ROS 系统安装、turtlebot3环境搭建与gazebo仿真

1.2.1 安装 ROS 系统与搭建turtlebot3环境

  • 🕐见专栏:Turtlebot3 PC端ROS环境搭建与仿真之 Ubuntu 的 ROS 操作系统安装与测试。
  • 🕑见专栏:Turtlebot3 PC端ROS环境搭建与仿真之 Ubuntu 的 ROS 操作系统turtlebot3环境搭建。

1.2.2 turtlebot3 gazebo仿真

  • 见专栏:Turtlebot3 PC端ROS环境搭建与仿真之 Ubuntu 的 ROS 操作系统 turtlebot3 gazebo仿真。

1.2.3 Turtlebot3 buger 硬件与操作平台

  • 见专栏:Turtlebot3 PC端ROS环境搭建与仿真之 Turtlebot3 buger 硬件与操作平台详细介绍。

2 启动Gazebo仿真环境

# 设置TurtleBot3模型
export TURTLEBOT3_MODEL=burger# 启动TurtleBot3 World环境
roslaunch turtlebot3_gazebo turtlebot3_world.launch

TurtleBot3 默认世界Gazebo仿真环境如下图所示:

在这里插入图片描述


3 运行SLAM节点

在新的终端中启动SLAM节点,默认使用Gmapping算法进行建图。

# 设置TurtleBot3模型
export TURTLEBOT3_MODEL=burger# 启动SLAM节点
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping

RViz可视化界面如下图所示:

在这里插入图片描述


4 启动遥控节点

在新的终端中启动遥控节点,通过键盘控制TurtleBot3的运动。

# 设置TurtleBot3模型
export TURTLEBOT3_MODEL=burger# 启动遥控节点
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

键盘远程控制方法如下图所示:

在这里插入图片描述
控制机器人

  • w/x:增加/减少线速度
  • a/d:增加/减少角速度
  • 空格键、s:紧急停止
  • CTRL-C:退出遥控

SLAM 的 RViz 可视化界面如下图所示:

在这里插入图片描述


5 保存地图

5.1 键盘远程控制TurtleBot3

当地图构建完成后,在新的终端中使用以下命令保存地图到本地,默认地址为 /home ,命名为map.pgm。

# 保存地图
rosrun map_server map_saver -f ~/map

构建的地图保存如下图所示:

在这里插入图片描述


小结

  • 本文详细介绍了如何在Gazebo中使用TurtleBot3进行SLAM仿真,从启动仿真环境到保存生成的地图,帮助开发者掌握SLAM仿真流程。
  • 通过遥控TurtleBot3进行探索,并利用SLAM算法构建地图,能够为后续的导航和路径规划任务打下基础。

欢迎大家评论留言!!!


友情提示:

  • 专栏:Turtlebot3 PC端ROS环境搭建与仿真
  • 下一节:Ubuntu 的 ROS 2 操作系统 turtlebot3 gazebo仿真


http://www.ppmy.cn/news/1546907.html

相关文章

AI大模型重塑软件开发流程:从自动化编码到智能协作的未来展望

目录 1. 引言:AI大模型的崛起与软件开发的变革 1.1 AI大模型的兴起与发展背景 1.2 软件开发的现状与痛点 1.3 AI大模型如何解决这些问题 2. AI大模型的工作原理与技术背景 2.1 什么是AI大模型? 2.2 深度学习与自然语言处理技术的演变 2.3 大模型…

React融合css

单纯使用tsx文件生成的页面比较单一,可以考虑结合css进行使用,需要说明的是,本人水平有限,仅对接触过的几种方式进行说明 内联样式 内联样式也有多种写法,此处仅列举两种比较简单的写法 写法一 import React from …

OAuth 2.0 鉴权调试的方法

原文链接:配置 OAuth 2.0 并直接获取访问令牌

【设计模式】行为型模式(一):模板方法模式、观察者模式

行为型模式(一):模板方法模式、观察者模式 1.模板方法模式(Template)1.1 主要特点1.2 适用场景1.3 示例1.3.1 抽象类定义模板方法1.3.2 子类实现具体步骤1.3.3 客户端1.3.4 结果输出 2.观察者模式(Observer…

k8s-service、endpoints、pod之间是怎么进行网络互通的

k8s-service、endpoints、pod之间是怎么进行网络互通的 1、service2、endpoints3、service、endpoints、pod通信图4、不同服务pod内部间访问 1、service 在K8S中,Service是一种抽象,定义了一组Pod的逻辑集合和访问这些Pod的策略。首先,我们需…

Unity3D 制作MMORPG 3D地图编辑器详解

前言 在MMORPG(大型多人在线角色扮演游戏)开发中,地图编辑器是一个至关重要的工具。它不仅能帮助开发者快速创建游戏世界,还能设计各种地形和场景。本文将详细介绍如何使用Unity3D制作一个3D地图编辑器,包括技术详解和…

图论基本术语

图论算法 —— 图论概述-CSDN博客 理论基础 —— 图_依附于顶点v是什么意思-CSDN博客 理论基础 —— 图 —— 图的存储结构_十字链表和链式前向星-CSDN博客 语雀版本 概括:图是计算机中常用的一种存储结构,图论是数学的一个分支,他以图为…

JAVA-队列

一、队列的概念 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾(Tail/Rear) 出队列&#xff1a…