基于gazebo实现多机器人编队仿真(三)

2023-05-16

基于gazebo实现多机器人编队仿真(三)——三角编队与一字编队的实现

  • 前言
  • 原理简图
  • 代码实现
    • 虚拟坐标的发布
    • 跟随者消息接收
  • 总结

前言

前文已经阐述了多机器人的编队模型实现与多辆小车跟随的实现,本文以通过tf通信建立相对于领航机器人的虚拟坐标,通过broadercaster发布虚拟坐标,最后使跟随者收听虚拟坐标,再对虚拟坐标进行跟随,这样就把编队问题转换为了跟随着对目标点的追踪问题。

原理简图

在这里插入图片描述

代码实现

虚拟坐标的发布

广播发布模板代码可见前文或者古月居ros21讲,这边发布虚拟机器人的坐标只需要设定相对与领航机器人的相对位置,即Vector3(0, -1.0, 0.0)中的内容。

    transform0.setOrigin( tf::Vector3(0, 1.0, 0.0) );//初始化  相距1.0米
    transform0.setRotation( tf::Quaternion(0, 0, 0, 1) );
    transform1.setOrigin( tf::Vector3(0, -1.0, 0.0) );//初始化  相距1.0米
    transform1.setRotation( tf::Quaternion(0, 0, 0, 1) );//广播,指明相对关系和数据
    br0.sendTransform(tf::StampedTransform(transform0, ros::Time::now(), "tb3_0", "virtual_0"));
    br1.sendTransform(tf::StampedTransform(transform1, ros::Time::now(), "tb3_0", "virtual_1"));
    rate.sleep();

跟随者消息接收

listerner程序与前文中的大致相同,只需要修改跟随者的跟随目标即可,修改区域代码如下:

listener.waitForTransform("/tb3_2", "/virtual_1", ros::Time(0), ros::Duration(3.0));
listener.lookupTransform("/tb3_2", "/virtual_1", ros::Time(0), transformfl);

总结

当掌握了最基本的tf发布与接听与tf原理之后,实现本文的小车跟随就比较简单。用本文的代码虽然虚拟坐标定义在了领航机器人的两边,但是由于ros发布与机器人的跟随有延迟,当领航车一直在运动时,后车永远不会到目标点,实现的其实是三角编队;若想要实现一字形编队,需要把虚拟坐标设置的领航车的左前方与右前方。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于gazebo实现多机器人编队仿真(三) 的相关文章

随机推荐

  • python随机漫步

    随机漫步 这次我们将使用python生成随机漫步数据 xff0c 然后用matplotlib的方式将这些数据呈现出来 随机漫步每次行走都完全是随机的 xff0c 没有明确的方向 xff0c 结果是由一系列随机决策决定的 你可以这样认为 xf
  • python基础

    python基础 文章目录 python基础基础语法关键字标识符多行语句数据类型 字符串输出import 与from import基本数据类型多个变量赋值标准数据类型Number xff08 数字 xff09 数值运算数学函数随机数函数三角
  • Debian简介与Debian源

    1 Deiban是一套自由操作系统 使用Linux内核 xff0c 大部分基本工具来自GNU计划 因此称Deiban为Debian GNU Linux Debian是第一个使用包管理系统的Linux发行版 xff0c 是的安装和删除软件变得
  • cloudmusic:网易云爬虫

    文章目录 cloudmuscic xff1a 网易云音乐爬虫安装使用music对象1 music对象属性2 music对象方法3 music对象函数 user对象1 user对象属性2 user对象方法3 获取user对象函数 cloudm
  • 链家深圳二手房房价数据分析

    文章目录 链家深圳二手房房价数据分析1 链家数据爬取源码2 雷达图的绘制2 1 源码2 2 雷达图效果图 3 饼状图的绘制3 1 源代码3 2 饼状图效果图 4 多维散点图4 1 源码4 2 多维散点图效果图 5 玫瑰图5 1 源码5 2
  • UNIX基础知识

    文章目录 UNIX基础知识1 1 引言1 2 UNIX体系结构1 3 登录1 4 文件和目录1 5 输入和输出1 6 程序和进程1 程序2 进程和进程ID3 进程控制4 线程和线程ID 1 7 出错处理出错恢复 1 8 用户标识1 用户ID
  • 栈和队列——小猫钓鱼

    星期天A和B在一起玩扑克牌 xff0c 他们在玩一个古怪的扑克牌游戏 小猫钓鱼 游戏的规则是这样的 xff0c 将一副扑克牌平均分成两份 xff0c 每人拿一份 A先拿出手中的第一章牌放在桌上 xff0c 然后B也从手里拿出一张牌放在桌上
  • 二叉树与二叉树遍历

    树的介绍 你可能回文树和图有什么区别 xff1f 这个称之为树的东西和无向图差不多嘛 树其实就是不包含回路的连通无向图 图画的不好啊 xff0c 把箭头忽略一下将就看一下 xff0c 上面这个图左边就是一棵树 xff0c 而右边就是一个图
  • 广度优先搜索

    在前面的迷宫中 xff0c 我们使用了深度优先搜索的方法 xff0c 这里介绍一个新的方法来解决这个问题 广度优先搜索 xff0c 也称为宽度优先搜索 这里还是用一个二维数组来存储迷宫 xff0c 最开始的时候A也是在迷宫 0 0 处 xf
  • 图的遍历--深度优先搜索

    深度优先搜索和广度优先搜索 xff0c 其实都是针对图的变量而言的 简单来说 xff0c 图就是一些圆点和连接这些圆点的直线组成 例如上图的这五个定点和四条边 我们现在从1号顶点开始遍历整个图 xff0c 遍历指的就是把图的每一个顶点都访问
  • 暴力的枚举

    枚举算法又叫穷举算法 xff0c 光听名字就是能知道这个很暴力 有一个题 xff1a 3 6528 61 3 8256 xff0c 在两个方框里面填入相同的数字使得等式成立 你可能会觉得这个很简单 xff0c 3行代码就可以搞定 xff1a
  • 虚拟机的使用及基本命令

    虚拟机的使用 kiosk 64 foundation0 Desktop rht vmctl view desktop 显示虚拟机 kiosk 64 foundation0 Desktop rht vmctl start desktop 打开
  • 【虚拟机网络问题】关于怎么解决Ubuntu上Linux网络突然失灵这个问题的若干方案汇总

    虚拟机网络问题 关于怎么解决Ubuntu上Linux网络突然失灵这个问题的若干方案汇总 PS xff1a 本文仅是针对个人使用基于Ubuntu18 04上的Linux系统问题相关记录 xff0c 便于遇到此类问题快速解决 前言 本篇文章在参
  • sublime text 3+mingw搭建C++编译环境

    sublime text 3 43 mingw搭建C 43 43 编译环境 附上Sublime Text下载地址和MinGW下载链接 目录 sublime text 3mingw搭建C编译环境 目录安装MinGW系统配置环境 配置参数简单测
  • React 属性验证 propTypes

    React 组件可以根据预先设置进行属性验证 React prop验证使用 propTypes xff0c 它可以保证我们的应用组件被正确使用 xff0c React PropTypes 提供很多验证器 validator 来验证传入数据是
  • 【2023年最新版】Kali安装详细教程

    一 前期准备 kali镜像下载地址 前排提醒 xff1a 文末有绿色安装包领取 xff01 二 VMware虚拟机配置 1 打开vmware xff0c 点击创建新的虚拟机 2 选择自定义 高级 选项 xff0c 点击下一步 3 继续下一步
  • 七段码 蓝桥杯 python

    这题我是跟着别人的写出来的 xff0c 也就是暴力出来的 xff0c 真不清楚别人怎么将dfs bfs应用进去的 记得7根一根根亮的7中情况 xff0c 和7根都亮的1种情况 整题非常暴力 xff0c 即将2到6的所有组合写出来 xff0c
  • 矩池云上使用nohup和&让任务后台运行

    1 nohup 用途 xff1a 不挂断地运行命令 语法 xff1a nohup Command Arg amp 无论是否将 nohup 命令的输出重定向到终端 xff0c 输出都将附加到当前目录的 nohup out 文件中 如果当前目录
  • Ubuntu系统安装完nvidia显卡驱动后黑屏,不能进入系统

    昨天想看显卡 xff0c 更新了下驱动 xff0c 发现服务器重启进不去 步骤 1 开机按esc 进入 选项界面 2 进去以后选择一个括号里面带recovery mode的选项 3 然后它自动黑屏出现代码 xff0c 然后弹出一个选择框 x
  • 基于gazebo实现多机器人编队仿真(三)

    基于gazebo实现多机器人编队仿真 xff08 三 xff09 三角编队与一字编队的实现 前言原理简图代码实现虚拟坐标的发布跟随者消息接收 总结 前言 前文已经阐述了多机器人的编队模型实现与多辆小车跟随的实现 xff0c 本文以通过tf通