跳转至

第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:RflyNet网络通信实验

📝 实验简介: 基于RflySim平台通信框架,通过Python库NetSimAPIV4实现无人机集群的点对点通信、广播通信、buf数据包封装转发等网络通信功能的开发与验证实验

实验 2:DDS组网通信环境配置

📝 实验简介: 配置DDS组网环境,搭建eProsima Fast DDS协议,创建收发端口实现DDS通信,学习DDS数据分发服务核心原理

实验 3:MQTT网络通信实验

📝 实验简介: 学习MQTT轻量级网络通信协议,使用Python实现消息发布和订阅功能,掌握发布/订阅模式通信方法

实验 4:Redis通信模拟实验

📝 实验简介: 学习Redis通信机制,掌握Redis服务器安装配置和Python客户端连接,实现基于RESP协议的数据存取和发布订阅功能

实验 5:RflySim网络通信API学习

📝 实验简介: 学习RflySim平台无人机网络通信API的使用方法,掌握RedisUtils数据存储、NetUavAPI心跳机制和NetSimAPIV4多无人机仿真,实现单点、广播、组播等网络通信模式

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

📝 实验简介: 演示RflySim平台实现多无人机点对点通信与数据转发功能,学习自动IP检测和手动IP指定两种连接方式。

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

📝 实验简介: 演示通过RflySim平台使用NetSimAPIV4和PX4MavCtrlV4库实现多无人机状态数据广播与接收,学习建立多无人机通信连接、配置数据广播转发及接收解析状态数据的方法。

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

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

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

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

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

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

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

📝 实验简介: 通过搭建SITL仿真环境,学习使用NetSimAPI实现多无人机协同控制与数据共享,掌握MAVLink通信机制和网络转发配置。

实验 12:Python多机组播通信协同监测

📝 实验简介: 通过RflySim平台搭建多无人机协同仿真环境,实现多架无人机状态数据共享与实时监测。学习基于网络通信的多无人机协同控制技术,理解组播通信机制,掌握分布式仿真系统的构建与调试方法。

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

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

实验 14:多无人机组网通信实验

📝 实验简介: 通过Python脚本实现多架无人机之间的Mavlink通信,使每架无人机能够获取其他无人机的飞行状态信息,学习多机通信机制

9.5.2 基础使用实验

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

实验 1:DDS多无人机组网通信

📝 实验简介: 通过DDS(数据分发服务)实现多无人机飞行状态信息共享,创建DDS订阅者订阅UavMessage类型数据,使用Fast DDS库配置DDS环境,使飞机在飞行过程中可获取其他飞机的飞行状态。

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

📝 实验简介: 使用MQTT协议和MAVlink协议进行四架无人机间的通信组网实验,学习MQTT客户端创建、消息发布订阅以及飞机间的连接配置

实验 3:Redis无人机网络通信仿真

📝 实验简介: 基于Redis和粗粒度组网模型的网络仿真实验,模拟无人机间通信的信号质量、丢包率和传输速率,评估多无人机节点的网络性能

实验 4:Python网络仿真组网控制

📝 实验简介: 通过Python网络仿真API实现多架无人机之间的通信与数据交换,学习无人机编队飞行的网络通信机制,掌握组网仿真中飞机间状态信息传递的方法。

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

📝 实验简介: 搭建Redis通信环境,使用RflySim工具链进行四架无人机集群组网仿真,实现无人机间状态数据发布订阅、通信延迟计算与协同追踪控制。

实验 6:飞机组网通信实验

📝 实验简介: 通过Python网络通信API实现多架飞机之间的飞行状态信息实时共享与编队飞行控制,掌握无人机组网数据交换机制

实验 7:飞机组网实验

📝 实验简介: 通过Python NetSimAPI实现多无人机组网通信,飞机在飞行过程中获取其他飞机的飞行状态信息,采用端到端端口转发和组播方式实现四机编队飞行控制。

实验 8:Python网络仿真与心跳通信实验

📝 实验简介: 通过创建网络仿真器实现数据中转,使用心跳通信确认飞机在线状态,学习无人机MAVLink通信初始化、网络转发服务配置和心跳服务器的启动。

9.5.3 进阶开发实验

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

实验 1:RflySim网络资源分配实验

📝 实验简介: 基于RflySim的网络孪生系统,实现多无人机网络资源分配优化,包含强化学习算法和多种优化策略模型

实验 2:NetSim4Demo组网仿真实验

📝 实验简介: 使用RflySim平台的无人机通信接口NetUavAPI实现多无人机组网仿真实验,通过网络仿真器模拟四架无人机间的网络通信,实现网络质量可视化和数据交互功能。

实验 3:Redis网络组网信号质量检测实验

📝 实验简介: 学习使用Redis实现无人机集群组网通信,通过仿真实验测试网络信号质量,掌握数据发布订阅与网络性能分析方法。

实验 4:Redis多无人机通信实验

📝 实验简介: 探索多无人机系统中基于Redis的数据通信实现方式,比较发布-订阅、键值存储、多频道订阅三种架构的实时性、扩展性和系统性能表现。

9.5.4 高阶开发实验

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

实验 1:VR时钟同步测试

📝 实验简介: 通过部署NTP时间同步协议,实现虚实结合的高精度时钟同步,验证局域网环境下各节点系统时间误差低于1ms

实验 2:NS-3网络仿真

📝 实验简介: 配置NS-3环境,搭建802.11a无线通信协议,实现无人机集群网络通信的仿真与时延分析

实验 3:NS3-Udp-PyQtViz网络通信可视化

📝 实验简介: 配置NS3网络仿真环境,搭建NS3协议实现UDP网络通信,并在上一实验基础上增加通信质量PyQt可视化功能

实验 4:NS3-PyViz网络仿真

📝 实验简介: 学习配置NS3网络仿真环境,搭建NS3协议并创建收发端口实现网络通信,掌握通信质量可视化工具的使用。

实验 5:NS3无人机控制

📝 实验简介: 配置NS3网络仿真环境,搭建NS3协议并创建收发端口实现NS3网络通信,根据通信状态决定无人机控制指令,学习离散事件模拟在无人机网络通信中的应用。

实验 6:飞机组网实验

📝 实验简介: 通过配置多架无人机的UDP端口转发,实现飞行过程中各飞机获取其他飞机的飞行状态信息,掌握多机数据交互的方法。

实验 7:飞机组网实验

📝 实验简介: 基于RflySim实现四架无人机的UDP组网通信,通过Python程序控制飞机依次起飞并获取彼此飞行状态,学习多无人机网络通信与数据转发机制。

实验 8:飞机组网实验

📝 实验简介: 本实验通过RflySim平台实现4架无人机的组网通信,使每架飞机在飞行过程中获取其他飞机的飞行状态信息,学习UDP网络转发与多机数据交互的实现方法。

实验 9:飞机组网实验

📝 实验简介: 本实验通过RflySim工具链实现多无人机组网,使每架飞机在飞行中获取其他飞机的状态信息,学习无人机间网络通信与数据转发的基本方法。