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

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.kler.cn/a/398714.html

相关文章:

  • 计算机组成与原理(2) basic of computer architecture
  • 安全见闻(完整版)
  • AWTK-WIDGET-WEB-VIEW 实现笔记 (4) - Ubuntu
  • 【STL】set,multiset,map,multimap的介绍以及使用
  • 类与对象;
  • 【异常解决】Linux shell报错:-bash: [: ==: 期待一元表达式 解决方法
  • 走进嵌入式开发世界
  • NoSQL大数据存储技术测试(4)Cassandra的原理和使用
  • InfluxDB时序数据库笔记(一)
  • vue2项目中在线预览csv文件
  • Brave127编译指南 Windows篇:部署Node.js(五)
  • 云计算虚拟化-kvm创建虚拟机
  • Spring Boot框架助力电商系统设计
  • 3. langgraph中的react agent使用 (在react agent添加系统提示)
  • 羲和小医生0.1
  • ASP.NET 部署到IIS,访问其它服务器的共享文件 密码设定
  • Executor和Service
  • 跨平台WPF框架Avalonia教程 九
  • 如何让手机ip变成动态
  • 【论文复现】基于扩散模型的无载体图像隐写术
  • 关于linux中strip去除相关符号表的问题
  • 受害者缓存(Victim Cache)
  • ffmpeg 遇见错误
  • 机器学习—再次决定下一步做什么
  • Layer1公链介绍:Solana
  • MCU中的定时器