如何在Gazebo中实现多机器人编队仿真

文章目录


前言

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


一、仿真前的配置

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

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

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

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

cpp 复制代码
git clone https://gitee.com/kay2022/turbot3.git

下载一个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端显示】

【台式机显示】

【总览】

相关推荐
一人の梅雨1 小时前
1688 拍立淘接口深度开发:从图像识别到供应链匹配的技术实现
人工智能·算法·计算机视觉
dundunmm1 小时前
【数据集】WebQuestions
人工智能·llm·数据集·知识库问答·知识库
却道天凉_好个秋2 小时前
OpenCV(五):鼠标控制
人工智能·opencv·鼠标控制
IT_陈寒2 小时前
Redis性能优化:5个被低估的配置项让你的QPS提升50%
前端·人工智能·后端
Christo32 小时前
关于K-means和FCM的凸性问题讨论
人工智能·算法·机器学习·数据挖掘·kmeans
飞翔的佩奇2 小时前
【完整源码+数据集+部署教程】 水果叶片分割系统: yolov8-seg-dyhead
人工智能·yolo·计算机视觉·数据集·yolov8·yolo11·水果叶片分割系统
小许学java2 小时前
Spring AI快速入门以及项目的创建
java·开发语言·人工智能·后端·spring·ai编程·spring ai
人工智能技术派3 小时前
Qwen-Audio:一种新的大规模音频-语言模型
人工智能·语言模型·音视频
lpfasd1233 小时前
从OpenAI发布会看AI未来:中国就业市场的重构与突围
人工智能·重构
春末的南方城市3 小时前
清华&字节开源HuMo: 打造多模态可控的人物视频,输入文字、图片、音频,生成电影级的视频,Demo、代码、模型、数据全开源。
人工智能·深度学习·机器学习·计算机视觉·aigc