码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 如何在Gazebo中实现多机器人编队仿真


    文章目录

    • 前言
    • 一、仿真前的配置
    • 二、实现步骤
      • 1.检查PC和台式机是否通讯成功
      • 2.编队中对单个机器人进行独立的控制
      • 3、对机器人进行编队控制


    前言

    实现在gazebo仿真环境中添加多个机器人后,接下来进行编队控制,对具体的实现过程进行记录。


    一、仿真前的配置

    本文的多机器人编队,在turtlebot3单个机器人的建图、导航等功能的基础上进行,需要在自己的远程PC和台式机中安装配置以下功能包

    (1)turtlebot3单个机器人的配置:可以看之前的文章双系统ubuntu20.04(neotic版本)从0实现Gazebo仿真slam建图

    (2)进行多机器人编队仿真前需要将已经写好的FourTB3s功能包配置在自己的工作空间src文件夹下,且成功编译,如果不知道怎么编译可以看这篇ROS如何将拷贝的功能包成功运行在自己的工作空间中

    (3)需要在自己的src文件夹中打开终端输入:

    git clone https://gitee.com/kay2022/turbot3.git
    
    • 1

    下载一个turbot3的包,如果git clone遇到问题可以参考双系统 + Ubuntu20.04 + ros2 (foxy) git clone -b连接不成功的解决记得下载完成后要重新编译。

    二、实现步骤

    1.检查PC和台式机是否通讯成功

    【PC端】 终端输入:roscore
    【台式机】终端输入:rostopic list
    通讯成功如下图(具体通信配置过程可参考:虚拟机作为master远程控制台式机中的机器人在仿真环境中进行slam地图构建与自主导航)
    【PC显示】
    在这里插入图片描述
    【台式机显示】
    台式机端

    2.编队中对单个机器人进行独立的控制

    【台式机】终端输入:roslaunch turtlebot3_gazebo test.launch 启动gazebo仿真环境(四个机器人,可以增添或减少可参考文章:在gazebo仿真环境中加载多个机器人)
    加载成功界面:
    在这里插入图片描述
    【PC】终端输入:ROS_NAMESPACE=tb3_0 roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
    注意:ROS_NAMESPACE=“后面接想要控制的机器人的名字”,这个名字要与写的加载gazebo的launch中起的机器人名字一致,启动后可通过键盘控制单个机器人移动。
    在这里插入图片描述
    可以在台式机gazebo的仿真环境中,指明某个机器人控制其独立的移动,如图控制tb3_0单个机器人的移动,若控制其他机器人同理。

    在这里插入图片描述

    在这里插入图片描述

    3、对机器人进行编队控制

    【PC】打开FourTB3文件夹,并在该文件夹下打开终端,输入:python3 FourTB3sPerform.py为方便机器人进行编队运动,可以将gazebo环境中的障碍物去掉
    在这里插入图片描述【PC端显示】
    在这里插入图片描述

    【台式机显示】
    在这里插入图片描述在这里插入图片描述
    【总览】
    在这里插入图片描述

  • 相关阅读:
    2022河南萌新联赛第(七)场:南阳理工学院 B 龍
    9月备考PMP,应该从哪里备考?
    【Python】论文中常用的Matplotlib画图(三)
    android-service生命周期的实践结果
    HTML5期末考核大作业:基于Html+Css+javascript的网页制作(化妆品公司网站制作)
    如何开发通过蓝牙技术实现灯光智能调节的小程序
    Redis篇---第二篇
    MySQL函数与控制结构
    CC1101 一款低功耗sub- 1ghz收发器芯片 适用于无线遥控智能家居
    Python数据分析案例02——泰尔指数的计算
  • 原文地址:https://blog.csdn.net/qq_45252077/article/details/132953163
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号