# 无人机集群控制方案
## 集群控制简介
多机器人群体控制系统一般分为**集中式控制结构**和**分布式控制结构**。
![img](https://github.com/Yangchengshuai/Uav-swarm-formation/blob/main/image/contorlType.jpg)
**集中式控制结构:**
一个主控单元,集中掌握了环境中全局信息和所有机器人的信息,进行集中式处理任务与资源分配由主控单元合理分配给每一个机器人,每个机器人只需负责数据的输入和输出,数据的存储和控制处理由主控执行。结构较为简单,系统管理方便。
**缺点:**(1)计算复杂度增大,反应速度慢,机器人工作效率降低;(2)主控单元出现故障,会导致整个系统陷入瘫痪。
**分布式控制结构**:系统不存在控制与被控关系,机器人之间对等,互相信息交互。自主处理实时数据并根据数据规划出一条路径。分布式控制结构可以增加机器人的数目,灵活性较高,适用于动态环境下的工作空间。
**缺点**:缺乏全局时钟性,机器人之间的协调合作难,获取信息有限难以实现全局最优解。
**混合式控制结构**:一个主控单元控制所有机器人,获取机器人当前位置、环境信息、处理数据和制定策略等,为每一个机器人提供最新的全局信息,而每一个机器人采用分布式控制结构,都是一个独立平等的“个体”,与其他机器人实现信息的交流和互换,由主控单元获取的全局信息自主规划路径。混合式结构中即包含统一全局的中央管理模块,也采用分布式结构中每个成员机器人之间的通信方式。可以看出混合式结构集中了集中式与分布式结构的优点,这样的控制结构避免了成员机器人之间的任务冲突同时又加强了合作。
## 本系统所用方案优劣式介绍
**方案介绍**:本系统采用混合式集群控制模式,主控机接收处理所有无人机的状态信息,并且发送任务指令给到无人机。无人机分为leader机和follower机,leader机一架, follower机若干架。无人机接收主控机的任务指令,自主处理实时数据并根据数据规划出一条路径。
**优点**:本机的机载编队算法,具有效率高、节省资源等特点,能够为使用者节省更多的开销,更加快速使单体无人机达到目标点。通讯模块主要采用socket通讯,传输数据为字节级,传输数据可自定义,数据量小,传输数据时间短,性能高。避障模块采用基于球形几何体的编队避障算法,具有高效、低算力的特性,避障算法会对两个无人机施加一个弹簧的力,将两个无人机分离,再结合原始规划路径实现高灵敏避障。
**缺点**:避障模块只有机间避障,没有对障碍物的路径规划模块,需要后续进行优化。定位模块因为采用的是双目视觉,所以对光照变化和动态场景有一定的敏感性。
## 硬件方案
### 飞行平台介绍
飞行平台的硬件包括一个笔记本(主控机)和若干架无人机,无人机搭载的传感器包括:T265双目相机、JETSON Xavier NX板载计算机、深度相机D435i、WiFi模块,内置基于PX4-ROS的控制模块和SLAM、编队、避障等多种算法。适用于无GPS环境下基于视觉的无人机编队定位/导航/避障算法的验证与开发。
### 无人机集群编队
#### 通信硬件系统
目前机器人常用的通讯架构包括B/S,C/S,MQTT,ROS通讯等。Browser/Server,这个也是我们在日常生活当中经常用到一个服务架构模式,最常见的就是我们在浏览网站的时候,我们以Browser的身份向Server服务器发起访问,从而看到我们想看到的内容。而Client/Server中Socket套接字是C/S架构的实现方式,主要是TCP/UDP通讯,socket通信机制,可以应用于计算机不同进程之间通信,包括同一台计算机和网络中不同计算机之间的进程之间通信,结果就是支持分布在网络中的各个服务端/客户端的通信。MQTT(消息队列遥测传输协议),是一种基于发布/订阅模式的”轻量级”通讯协议,该协议构建于TCP/IP协 议上。ROS通讯包含的话题、服务、动作机制三种通讯方式。
本系统通讯采用WiFi无线通讯,主控机与无人机需要安装WiFi模块,在同一WiFi路由下进行socket字节流通讯和ROS话题、服务通讯。另外可以扩展添加UWB机间测距信号,用相对距离来保持编队队形。
#### 软件系统结构
![img](https://github.com/Yangchengshuai/Uav-swarm-formation/blob/main/image/Distributed_uav_swarm.png)
![img](https://github.com/Yangchengshuai/Uav-swarm-formation/blob/main/image/topic.png)
**软件运行流程**:
```shell
# startup.sh文件内容
gnome-terminal -x bash -c "source $HOME/mavros_ws/devel/setup.bash;roslaunch px4_realsense_bridge bridge.launch;exec bash"
sleep 3s
gnome-terminal -x bash -c "roslaunch mavros px4.launch;exec bash"
sleep 3s
gnome-terminal -x bash -c "cd /home/unionsys/Desktop;python follower_all.py;exec bash"
sleep 2s
gnome-terminal -x bash -c "cd /home/unionsys/Desktop;python Yfollower1_300-3.py;exec bash"
wait
exit 0
```
1. 无人机开启t265定位模块
2. 无人机开启mavros通信模块,进行PX4飞控和ROS机的通信
3. 无人机开启多进程,发送自身位置坐标和等待接受主控机的指令信息。
4. 笔记本(主控机)开启键盘控制程序
**使用步骤:**
1. 设置IP地址,已便主控机与无人机进行通讯
2. 设置好编队飞行时期望的从机相对于主机的位置,可根据无人机的数量自定义编队形状
![\[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DSa8WJQg-1668588615413)(https://vipkshttps12.wiz.cn/editor/fa89fad0-2e2f-11ec-8668-3755f68e41df/d8957571-cc1d-4a95-8e64-92a8ae1d5cab/resources/8QT1SUulbA0YqNPNxXJgXwTU3ukjnPsr_IAR4AO7Tpo.png?token=W.dJxBp3XaPW50CsJoP0PwSuBIYjDNTAW7C1dSgTs4iBkLEGzdlbawu3fiO3rPhLk)\]](https://img-blog.csdnimg.cn/adf5d517d23d4ae7969e4d340dbc99d4.png)
3. 将无人机按照程序设定摆好位置,开机
4. 在无人机上运行startup.sh文件,启动通讯模块和定位模块
5. 将无人机调成position模式
6. 笔记本(主控机)上运行commander.py文件,开启键盘控制
#### 集群编队方案
**定位:**
T265是一个尺寸小、功耗低的完整的嵌入式SLAM解决方案,它将视觉特征与惯性测量单元 (IMU) 结合起来,使用视觉惯性里程计来计算其在3D空间中的方向和位置,亦即六自由度。T265直接输出位置信息,定位精度答厘米级。
根据定位方式的不同, 还可以拓展其他集群编队的方案,例如是GPS(RTK)编队、UWB编队和动捕编队等
**避障:**
在高速运动过程当中无人机可能会和其他无人机路线相交叉,一些无人机采取将本机的路线广播出去,其它无人机再针对每一架无人机做出机间避障路径,这是效率低的,并且会增加无人机算力消耗和增加编队网络中的数据传输量,导致延迟高,控制不灵敏等特点。机载算法搭载基于球形几何体的编队避障算法,每个无人机只需将其本机实时目标位置广播出去,其他无人机进入主体无人机球形几何体就会触发避障算法,避障算法会对两个无人机施加一个弹簧的力,将两个无人机分离,再结合原始规划路径实现高灵敏避障算法。
**通讯方式:**
![\[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C1ow7Mio-1668588615413)(https://github.com/Yangchengshuai/Uav-swarm-formation/blob/main/image/communication1.jpg)\]](https://img-blog.csdnimg.cn/bcf7cea2c3304f1f9c23a55348ab2410.jpeg)
主控机与无人机之间用s
没有合适的资源?快使用搜索试试~ 我知道了~
无人机集群编队飞行.zip
共39个文件
py:16个
png:6个
launch:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 23 浏览量
2024-05-05
21:39:30
上传
评论
收藏 238.91MB ZIP 举报
温馨提示
无人机最强算法源码,易于部署和学习交流使用
资源推荐
资源详情
资源评论
收起资源包目录
无人机集群编队飞行.zip (39个子文件)
open_weiwurenji
Distributed_swarm
rosComannder.py 2KB
commander.py 1KB
leader
Yformation_dict.py 3KB
leader_300-1.py 11KB
Yformation_dict.pyc 3KB
startup
startup.sh 426B
px4_realsense_bridge.cpp 3KB
bridge.launch 2KB
px4.launch 1022B
node.launch 1024B
rs_t265.launch 3KB
follower
Yformation_dict.py 3KB
follower1.py 12KB
多机通讯配置与ROS节点重命名.md 2KB
image
Distributed_uav_swarm.png 727KB
contorlType.jpg 22KB
topic.png 50KB
output2.gif 94.31MB
直线编队飞行.png 1.16MB
三角编队飞行.png 739KB
follower1.png 399KB
output1.gif 97.75MB
output.gif 41.78MB
formation.png 28KB
communication2.jpg 479KB
communication1.jpg 1.54MB
PV.jpeg 51KB
Hybrid_swarm
startup.sh 562B
comannder.py 6KB
follower1
follower_all.py 1KB
Yformation_dict.py 3KB
Yfollower1_300-3.py 7KB
follower2
follower_all.py 1KB
Yfollower2_300-5.py 7KB
Yformation_dict.py 3KB
Leader
follower_all.py 1KB
Yformation_dict.py 3KB
Yfollower0_300-1.py 7KB
README.md 13KB
共 39 条
- 1
资源评论
极致人生-010
- 粉丝: 3405
- 资源: 3074
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功