当前位置: 首页 > news >正文

Ubuntu 的 ROS 操作系统 turtlebot3 导航仿真

引言

在这里插入图片描述


学习目标

在这里插入图片描述


学习内容

1 注意事项

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

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

1.2.2 turtlebot3 gazebo仿真

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

1.2.4 Turtlebot3 buger 硬件与操作平台

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

2 启动Gazebo仿真环境

使用以下命令启动 Gazebo 环境,在 TurtleBot3 World 环境下进行导航仿真。

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

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

在这里插入图片描述


3 运行SLAM节点

在新的终端中启动导航节点。

# 设置TurtleBot3模型
export TURTLEBOT3_MODEL=burger# 启动导航节点,地图配置文件位置为 HOME/map.yaml
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml

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

在这里插入图片描述


4 估计初始位置

在运行导航节点之前,必须进行初始位置估计,以便为 AMCL(自适应蒙特卡洛定位)提供初始数据。如果没有进行初始位置估计,那么机器人无法确定自己的位置,自然不能到达目标点。

4.1 Gazebo与RViz可视化界面

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

在这里插入图片描述

4.2 2D Pose Estimate

过点击 RViz 中的“2D Pose Estimate”按钮(上图箭头)来实现。在地图上点击机器人所在的位置,并拖动绿色箭头至机器人当前的朝向。重复几次后,激光雷达(LDS)传感器数据正确重叠在保存的地图上。

2D Pose Estimate操作如下图所示:

在这里插入图片描述

初始位置标记后显示如下图所示:

在这里插入图片描述

4.3 键盘遥控精确定位机器人

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

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

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

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

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

注意:完成后,按Ctrl + C停止遥控节点,以避免多个节点发布不同的 cmd_vel 数据。


5 导航

5.1 设置导航目标

通过 RViz 设置机器人导航目标。点击 RViz 界面上的“2D Nav Goal”按钮(蓝色箭头),然后在地图上点击目标位置并拖动绿色箭头设置目标的朝向。

  • 绿色箭头的根部表示目标的 x, y 坐标,箭头的方向表示目标的角度 θ。
  • 设置完毕后,TurtleBot3 将立即开始向目标位置移动。

导航目标设定如下图所示:

在这里插入图片描述

5.2 到达设定目标

导航目标设置完成后,机器人通过设定好的路径规划方法进行导航,最终到达设定目标位置,朝向设定方向。

到达设定目标后如下图所示:

在这里插入图片描述


小结

  • 本文详细讲解了在 ROS 操作系统下使用 TurtleBot3 进行导航仿真的步骤。
  • 从加载仿真环境、启动导航节点,到通过 AMCL 进行初始定位,再到使用 RViz 设置导航目标,可以顺利完成导航。
  • 此外,通过键盘遥控和精准定位,可以更好地控制机器人并进行目标导航任务。这些操作提供了高效的测试与调试工具,适用于机器人导航算法的开发与验证。

欢迎大家评论留言!!!


友情提示:

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


http://www.mrgr.cn/news/75196.html

相关文章:

  • 38配置管理工具(如Ansible、Puppet、Chef)
  • VTK知识学习(7)-纹理贴图
  • 什么是量化交易
  • 深度解析 Linux 系统下的 top 命令
  • Redis简介、数据结构、高性能读写、持久化机制、分布式架构
  • 数据结构中数据有序性/ 单调性 ——二分查找
  • 输出1~100内的所有偶数C++
  • SpringSecurity入门
  • ubuntu连接orangepi-zero-2w桌面的几种方法
  • 深入浅出C#编程语言
  • 速盾:高防 CDN 的缓存机制是什么?
  • 优选算法 - 3 ( 位运算 模拟 分治 11000 字详解 )
  • docker .vhdx文件压缩
  • LeetCode297.二叉树的序列化和反序列化
  • 搜维尔科技:SenseGlove触觉反馈手套开箱+场景测试
  • IDL脚手架遇到的cwgo问题
  • 黑马智数Day8
  • 机器学习 ---模型评估、选择与验证(1)
  • cache中命中率和平均访问时间
  • RK3568平台开发系列讲解(platform虚拟总线驱动篇)platform总线模型
  • Shell脚本的使用
  • CPLD架构
  • KPaaS洞察|统一管理模式下跨系统用户权限修改流程详解
  • python进阶-01-利用Xpath来解析Html
  • 除自身以外数组的乘积
  • 关于GCC内联汇编(也可以叫内嵌汇编)的简单学习