跳转至

第9章 多机通信与智能组网

无人机通信是 6G 无线通信网络的重要组成部分,可以提高无人机任务执行效率,扩大无线网络覆盖范围。与地面通信场景相比,无人机通信场景具有独特信道特性。无人机的通信相比于其他通信系统有其相应的特点与不同之处。


9.1 背景与理论

在智能无人集群系统中,通信系统不仅是节点间数据传递的媒介,更是实现协同智能的核心支柱,贯穿感知、决策和控制等关键环节。

alt text

9.1.1 组网通信的概念与作用

无人系统的组网通信是指通过有线或无线通信技术,将多个智能体连接成一个具备数据交换、状态同步与协同控制能力的网络化系统结构,支撑环境感知信息共享、载具状态与意图同步、地面指令与信息传输、故障检测与异常通报等功能。

9.1.2 集群通信的典型应用场景

集群组网通信可根据节点数量规模划分为小规模与大规模两种典型场景。小规模集群需动态优化数据转发路径,实现功率消耗最小化、通信时延最小化和网络吞吐量最大化;大规模集群则需解决可扩展性、自组织性和抗毁性等关键问题。


9.2 框架与接口

RflySim 工具链围绕无人集群系统的通信与组网需求,构建从底层通信实现到上层集群应用的完整技术闭环。

alt text

9.2.1 通信协议选型与组网拓扑

工具链支持多种通信协议(如专用数据链、Wi-Fi、4G/5G、ZigBee、LoRa及卫星通信等)和组网拓扑结构,可根据任务环境灵活部署,满足不同规模集群的通信需求。

9.2.2 网络建模与仿真

基于 RflySim 工具链的组网通信仿真框架与接口机制,结合典型开发案例,展示集群通信协议的仿真配置、代码实现与算法验证流程,为后续的分布式协同控制研究与集群系统部署提供可复现的实验参考与工程模板。

alt text


9.3 精彩案例展示

集群通信质量仿真

无人机中继通信演示


9.4 课程配套视频

本章节公开课回放(第八期:多机通信与智能组网)

9.5 本章实验案例

本章相关验证实验与引导案例存放在 [安装目录]\RflySimAPIs\9.RflySimComm 文件夹中。

9.5.1 接口学习实验

存放在 9.RflySimComm\0.ApiExps 文件夹中,涵盖平台基础接口导学及各工具通识入门。

实验 1:RflyNetAPI接口实验

📝 实验简介: 基于RflySim平台通信框架,通过Python库NetSimAPIV4实现无人机集群网络通信,涵盖点对点、广播、数据封装及组网监测等核心方法。

实验 2:DDS组网通信

📝 实验简介: 配置DDS组网通信的Windows开发环境,编译Fast DDS的Python绑定和自定义IDL通信类型,通过Python发布端与订阅端完成DDS发布-订阅通信。

实验 3:MQTT网络通信协议实验

📝 实验简介: 本实验通过安装EMQX服务器,使用Python编写MQTT发布器和订阅器,实现基于发布/订阅模式的网络通信,学习MQTT协议基础及客户端开发。

实验 4:Redis通信模拟实验

📝 实验简介: 本实验旨在通过RflySim工具链和Redis数据库,模拟并实现基于Redis的实时通信机制,学习Redis安装配置、RESP协议以及RedisUtils类的数据存取和发布-订阅功能。

实验 5:NS3组网通信依赖环境构建与验证

📝 实验简介: 构建并验证基于NS3的组网通信依赖环境,理解UAV控制脚本与NS3网络仿真间的数据转发关系,为后续联机组网实验提供基础支撑。

实验 6:RflySim数据通信与网络仿真接口学习实验

📝 实验简介: 本实验旨在帮助学习者深入理解和掌握RflySim平台中无人机网络通信API的使用方法和原理,包括RedisUtils、NetUavAPI和NetSimAPIV4三个核心组件,实现多无人机集群通信系统的构建。

实验 7:点对点无人机数据转发实验

📝 实验简介: 本实验演示如何使用RflySim平台实现多无人机系统的点对点通信与数据转发,学习分布式仿真机制、局域网配置、Python API通信及自动/手动IP连接方式。

实验 8:多无人机广播通信实验

📝 实验简介: 本实验演示如何通过RflySim平台实现多无人机之间的广播通信,使用NetSimAPIV4和PX4MavCtrlV4库,掌握建立通信连接、配置数据广播转发、接收解析状态数据及分布式协同工作原理。

实验 9:网络缓冲区数据传输

📝 实验简介: 演示通过网络接口发送和接收二进制缓冲区数据,学习struct模块打包解包、NetSimAPI网络传输、数据校验及多无人机数据管理

实验 10:多无人机广播缓冲区数据传输

📝 实验简介: 本实验演示通过RflySim平台实现多无人机间的广播数据传输,学习NetSimAPIV4网络仿真接口和struct模块的使用,掌握无人机间缓冲区数据的发送与接收。

实验 11:NetBufAPI多无人机广播通信

📝 实验简介: 学习使用NetBufAPI实现多无人机间的数据广播与共享,掌握缓冲区数据结构设计、struct数据打包及跨平台无人机协同通信机制

实验 12:Python网络仿真API实验

📝 实验简介: 本实验通过搭建SITL仿真环境,学习使用NetSimAPI实现多无人机间的协同控制与数据共享,掌握MAVLink通信、多线程编程及编队追踪算法。

实验 13:多机组播通信状态协同监测实验

📝 实验简介: 通过RflySim平台搭建多无人机协同仿真环境,实现状态数据共享与实时监测,掌握基于网络通信的多机协同控制与组播通信机制。

实验 14:多无人机集群筛选广播通信

📝 实验简介: 实现多无人机集群环境下的筛选广播通信机制,通过请求-响应模式使1号无人机按需主动获取2、3号无人机状态数据,避免全网广播造成的数据拥塞和资源浪费,学习高效集群通信方法。

实验 15:Python多无人机组网通信实验

📝 实验简介: 通过软件在环仿真,实现多架无人机在飞行过程中相互获取状态信息,学习多机通信机制。

9.5.2 基础使用实验

存放在 9.RflySimComm\1.BasicExps 文件夹中,面向初学者提供全套配套补充教材库。

实验 1:无人机编队通信实验

📝 实验简介: 本实验通过DDS通信机制实现多无人机之间的状态信息共享,学习使用Fast DDS库创建订阅者和发布者,以获取和发布无人机飞行状态数据。

实验 2:MQTT与MAVLink四机通信实验

📝 实验简介: 本实验通过MQTT和MAVLink协议实现四架飞机间的通信组网,涵盖EMQX服务器安装、MQTT客户端创建与消息发布,以及多机编队飞行控制。

实验 3:无人机网络仿真信号质量评估

📝 实验简介: 本实验通过RflySim工具链和Redis,模拟无人机间通信网络,评估信号质量(丢包率、Ping、传输速率),并可视化展示网络性能。

实验 4:Python网络仿真API集中控制

📝 实验简介: 本实验通过Python网络仿真API实现多无人机编队飞行,学习如何建立无人机间通信实例、配置端口转发与监听,实现状态信息共享和协同控制。

实验 5:粗粒度集群组网实验

📝 实验简介: 本实验通过无人机集群组网发送数据,利用粗粒度组网规则判断数据能否到达目的无人机并计算丢包,学习MAVLink通信、CopterSim仿真、Redis数据发布订阅及协同追踪算法。

实验 6:Python网络仿真API中心控制

📝 实验简介: 本实验通过Python网络仿真API实现多无人机编队飞行,学习如何配置通信端口和IP地址,实现飞机间飞行状态信息的实时交换。

实验 7:Python网络仿真API简化包

📝 实验简介: 本实验通过Python网络仿真API简化包,实现多架无人机之间的状态信息共享与编队飞行控制,学习基于UDP组播的飞机组网机制。

实验 8:Python网络仿真器数据中转实验

📝 实验简介: 通过Python脚本创建网络仿真器实现数据中转,使用心跳通信确认飞机在线状态,并控制无人机完成起飞和飞行任务。

9.5.3 进阶开发实验

存放在 9.RflySimComm\2.AdvExps 文件夹中,进一步熟悉部分底层固件生态配置。

实验 1:多无人机MEC网络资源分配孪生与仿真系统

📝 实验简介: 构建基于RflySim的多无人机移动边缘计算网络资源分配孪生与仿真系统,集成PX4物理引擎与多智能体强化学习算法,实现动态网络拓扑、信道建模及自适应计算卸载任务的可视化验证平台。

实验 2:多无人机粗粒度组网仿真实验

📝 实验简介: 掌握RflySim工具链中多机SITL仿真环境搭建,理解基于距离的信号衰减模型、路由表计算和丢包模拟,学会用Python控制多无人机飞行并通过自定义协议通信,利用PyQt5可视化网络拓扑。

实验 3:粗粒度组网模拟Redis网络组网信号质量检测实验

📝 实验简介: 本实验通过无人机集群组网,将数据发送至Redis服务器,模拟网络组网并计算丢包,旨在学习无人机集群通信与网络质量检测方法。

实验 4:Redis无人机组网通信实验

📝 实验简介: 通过比较基于Redis的三种通信架构(发布-订阅、键值存储、多频道订阅),分析多无人机系统中数据通信的实时性、扩展性和系统性能,验证不同通信模式的实际应用。

9.5.4 高阶开发实验

存放在 9.RflySimComm\3.CustExps 文件夹中,面向高阶用户的自定义开发实验。

实验 1:虚实结合时钟同步方案及部署实验

📝 实验简介: 本实验通过部署NTP协议实现高精度虚实结合时钟同步,验证局域网内各节点系统时间误差低于1ms,提升多节点协同工作的同步性和可靠性。

实验 2:NS3网络仿真

📝 实验简介: 配置NS3环境,搭建NS3协议并创建收发端口,实现无人机集群的NS3网络通信仿真,分析端到端传输时延。

实验 3:NS3-Udp-PyQtViz通信质量可视化

📝 实验简介: 在NS3网络仿真基础上,通过PyQt实现无人机间通信质量的可视化,学习NS3环境配置、UDP通信及可视化界面开发。

实验 4:NS3-PyViz通信可视化实验

📝 实验简介: 本实验配置NS3环境,通过PyViz可视化工具展示无人机间网络通信状况,学习NS3网络仿真与通信质量可视化。

实验 5:NS3网络仿真无人机控制

📝 实验简介: 配置NS3环境,搭建网络通信并基于通信状态生成控制指令,实现无人机仿真与NS3网络仿真的联合控制。

实验 6:无人机组网通信实验

📝 实验简介: 本实验通过RflySim工具链和NS3仿真,实现多无人机之间的状态信息转发、监听与请求机制,验证组网场景下的通信效果。

实验 7:无人机组网通信实验

📝 实验简介: 本实验通过RflySim工具链和Python脚本,实现多无人机在组网场景下的状态信息转发、监听与请求机制,验证多机协同通信效果。

实验 8:无人机组网实验

📝 实验简介: 通过RflySim工具链和NS3仿真,实现多无人机状态转发、监听与请求机制,验证组网场景下的运行效果。

实验 9:无人机编队组网通信实验

📝 实验简介: 通过RflySim工具链和NS3仿真,实现多无人机编队飞行,验证状态转发、监听与请求机制在组网场景下的运行效果。