ROS 多机器人导航RVIZ环境的配置

news/2025/2/22 11:17:45

文章目录

  • 前言
  • 一、添加多个2D Pose Estimate/2D nav Goal
  • 二、RVIZ的其他配置
    • 1.RobotModel
  • 总结


前言

前文ROS Turtlebot3多机器人编队导航仿真写了多机器人呢导航的代码实现,本文主要说明,RVIZ导航环境的配置,如何添加多个2D Pose Estimate/2D Nav Goal,以及一些主要话题的订阅。


一、添加多个2D Pose Estimate/2D nav Goal

正常情况下我们进行机器人的导航,打开RVIZ后一般只有一组2D Pose Estimate/2D nav Goal,来调整机器人的初始位置/给定导航的目标点
在这里插入图片描述但是在多机器人导航时需要同时给多个机器人发布导航的目标点,故需要在RVIZ仿真环境中添加多组2D Pose Estimate/2D nav Goal,通过修改navigation.launch加载的.rviz环境来添加:
在这里插入图片描述
在文件的最后tool标签下,复制粘贴

Tools:
    - Class: rviz/MoveCamera
    - Class: rviz/Interact
      Hide Inactive Objects: true
    - Class: rviz/Select
    - Class: rviz/SetInitialPose
      Theta std deviation: 0.2617993950843811
      Topic: tb3_0//initialpose
      X std deviation: 0.5
      Y std deviation: 0.5
    - Class: rviz/SetGoal
      Topic: tb3_0/move_base_simple/goal
    - Class: rviz/SetInitialPose
      Theta std deviation: 0.2617993950843811
      Topic: tb3_1//initialpose
      X std deviation: 0.5
      Y std deviation: 0.5
    - Class: rviz/SetGoal
      Topic: tb3_1/move_base_simple/goal
    - Class: rviz/SetInitialPose
      Theta std deviation: 0.2617993950843811
      Topic: tb3_2//initialpose
      X std deviation: 0.5
      Y std deviation: 0.5
    - Class: rviz/SetGoal
      Topic: tb3_2/move_base_simple/goal
    - Class: rviz/Measure
  Value: true

在这里插入图片描述
即可实现在RVIZ中添加多个2D Pose Estimate/2D nav Goal,注意要在Topic前面加具体的机器人名称哦!
在这里插入图片描述

二、RVIZ的其他配置

1.RobotModel

需要注意在每个robot_description和TF Prefix前加上机器人的名称,默认是没有加机器人名称的哦。
在这里插入图片描述然后是订阅机器人发布的粒子Topic
在这里插入图片描述订阅机器人局部代价地图Topic
在这里插入图片描述
LaserScan
在这里插入图片描述
Global path
在这里插入图片描述Local path
在这里插入图片描述Pose
在这里插入图片描述


总结

当然可以根据自己的需要,和想要达成的效果灵活的选用和调整RVIZ各个功能选项,不难,只要肯花时间,都能实现自己想要的功能的!


http://www.niftyadmin.cn/n/5186680.html

相关文章

Java使用Redis的几种客户端介绍

Redis是一种高性能的内存数据库,可以提供快速的数据读写操作。在Java中使用Redis,需要使用Redis客户端。目前,Java中常用的Redis客户端有以下几种: Jedis Jedis是Java中最流行的Redis客户端之一,它提供了丰富的API和…

快速弄懂C++中的深拷贝和浅拷贝

浅拷贝 浅拷贝就是单纯拷贝指向该对象的内存,所以在进行多次浅拷贝后只是相当于多了几个指向同一个对象的指针,而深拷贝相当于完全复制了一个对象副本。浅拷贝指的是复制对象的所有成员变量的值,不管这些值是指针、基本数据类型还是其他对象…

计算3D目标框的NMS

3D障碍物目标框&#xff08;中心点坐标XYZ、长宽高lwh、朝向角theta&#xff09;的非极大值抑制 #include <iostream> #include <vector> #include <algorithm> #include <opencv2/opencv.hpp>// 定义3D目标框的结构体 struct BoundingBox3D {double …

《C++避坑神器·二十》C++智能指针简单使用

智能指针&#xff0c;自动释放所指向的对象。 头文件 #include <memory>shared_ptr 允许多个指针指向同一个对象 unique_ptr 独占所指向的对象 weak_ptr 指向shared_ptr所管理的对象 作用原理&#xff1a;在函数作用域结束时调用析构函数自动释放资源。 shared_ptr: …

云性能监控的五大重要性

在当今数字化时代&#xff0c;企业越来越依赖云服务来支持其IT基础设施和业务运营。为了确保这些云服务的稳定性和性能&#xff0c;云性能监控变得至关重要。本文将探讨云性能监控的重要性。 一、实时可见性 云性能监控提供了对云基础设施和应用程序性能的实时可见性。这意味着…

Uniapp连接iBeacon设备——实现无线定位与互动体验(实现篇)

export default { data() { return { iBeaconDevices: [], // 存储搜索到的iBeacon设备 deviceId: [], data: [], url: getApp().globalData.url, innerAudioContext: n…

294_C++_

1、全部大致解析: struct alarminfo_t {unsigned int alarmid;INTF_ALARM_INFO_S pAlarm; };typedef enum{INTF_IO_ALARM_E= 0, //I/O探头告警开始INTF_MOTION_ALARM_E, //移动侦测告警开始INTF_AI_ALARM_E,

开源与闭源:大模型发展的未来之路

开源与闭源&#xff1a;大模型发展的未来之路 随着人工智能技术的飞速发展&#xff0c;大模型已经成为该领域的一项关键技术。然而&#xff0c;对于大模型的开源与闭源问题&#xff0c;业界一直存在着辩论。近期&#xff0c;特斯拉CEO马斯克也表达了自己的观点&#xff0c;认为…