跳转至

RflySim Swarm-集群通信接口库


RflySim Swarm 库提供了一套完整的无人机集群通信与控制工具,支持多无人机之间的数据交换、协同控制和集群仿真,适用于大规模无人机编队、协同任务和集群算法验证。


模块列表

核心通信模块

模块 功能描述
Rfly UDP Fast 高速 UDP 集群通信接口,支持多机数据收发和控制指令分发
Rfly UDP Raw 原始 UDP 数据通信接口,提供底层 UDP 数据包收发能力
Rfly Serial Raw 原始串口数据通信接口,支持串口设备的数据读写
Rfly UDP MAVLink MAVLink UDP 通信接口,支持标准 MAVLink 协议的编解码

VRPN 动捕接口

模块 功能描述
Rfly VRPN Recv VRPN 动捕数据接收接口,接收动作捕捉系统的位姿数据
VRPN Data Decoder VRPN 数据解码器,将原始 VRPN 数据解析为可用格式
Real Data Decoder 实机数据解码器,处理真实无人机的状态数据

数据解码模块

模块 功能描述
Full Data Decoder 全数据解码器,解析完整的无人机状态和控制数据
Simple Data Decoder 精简数据解码器,解析核心的位置和速度数据

集群控制模块

模块 功能描述
Offboard Full Offboard 全数据控制,支持位置和姿态的协同控制
Vel NED Full NED 坐标系速度全数据控制,实现基于速度的编队控制
Vel Body Full 机体坐标系速度全数据控制,支持机体系下的速度跟踪
Pos NED Full NED 坐标系位置全数据控制,实现精确的位置编队
Real Ctrl 28D 实机 28 维控制接口,支持实机的全维度控制
Simple Ctrl 4D 精简 4 维控制接口,实现简化的位置控制
Auto Firmware API 自动固件 API,支持固件自动配置和更新
High Level Mode 高级模式控制,支持任务级和路径级的集群控制

通信协议说明

UDP 通信模式

RflySim Swarm 库支持多种 UDP 通信模式,适配不同规模和精度的集群仿真需求:

模式 数据维度 适用场景
FullData 输入15维,输出28维 中小规模集群,需要完整状态数据
SimpleData 输入5维,输出12维 大规模集群,注重通信效率
Raw 自定义 特殊协议需求,灵活配置

RflySim Swarm 库完整支持 MAVLink 协议:

  • 标准消息:支持 MAVLink 标准消息集的编解码
  • 自定义消息:支持用户自定义 MAVLink 消息格式
  • 多版本兼容:兼容 MAVLink 1.0 和 2.0 协议版本

VRPN 协议支持

针对动作捕捉系统的集成:

  • 位姿数据:接收刚体的位置和姿态数据
  • 多刚体支持:同时追踪多个刚体(多无人机)
  • 实时同步:支持高精度实时数据同步

使用场景

单机仿真

  • 控制器验证:使用 Rfly UDP Fast 与 CopterSim 通信,验证自定义控制器
  • 算法开发:在 Simulink 中开发控制算法,通过通信接口与仿真环境交互
  • 参数调优:实时调整控制参数,观察对系统响应的影响

集群编队仿真

  • 编队控制:使用 Pos NED Full 或 Vel NED Full 实现多机编队控制
  • 协同任务:通过 Rfly UDP Fast 协调多机执行协同搜索、包围等任务
  • 通信测试:验证集群通信协议在大规模场景下的性能

硬件在环仿真

  • 飞控测试:将真实飞控接入仿真回路,测试飞控算法
  • 传感器仿真:通过通信接口向飞控发送模拟的传感器数据
  • 故障测试:在 HIL 环境中安全地测试各种故障场景

实机部署

  • 实机控制:使用 Real Ctrl 28D 等模块实现 Simulink 控制器对实机的控制
  • 地面站通信:通过 MAVLink 协议与地面站进行数据交换
  • 集群实飞:实现多架真实无人机的协同控制

使用注意事项

通信配置

  1. 端口管理:确保不同模块使用的端口号不冲突,特别是在多机仿真中
  2. IP 地址设置:正确配置目标 IP 地址,本地仿真使用 127.0.0.1,分布式仿真使用实际 IP
  3. 缓冲区设置:根据数据量合理设置 UDP 缓冲区大小,避免数据丢失
  4. 超时处理:设置合理的接收超时时间,处理通信中断情况

数据同步

  1. 采样时间匹配:通信模块的采样时间需与 Simulink 模型步长匹配
  2. 时间戳处理:注意不同数据源的时间戳同步,特别是融合 VRPN 数据时
  3. 数据对齐:确保发送和接收的数据维度、顺序、单位一致
  4. 延迟补偿:对于实时性要求高的应用,考虑通信延迟的补偿

集群仿真

  1. ID 管理:为每架无人机分配唯一的 ID,避免控制指令混淆
  2. 通信拓扑:设计合理的通信拓扑结构,平衡通信负载和延迟
  3. 故障隔离:确保单点故障不会扩散到整个集群
  4. 可扩展性:设计支持动态增减节点的集群架构

实机安全

  1. 仿真验证:实机飞行前务必在仿真环境中充分验证控制算法
  2. 安全边界:设置位置、速度、姿态的安全边界,超出时自动触发保护
  3. 遥控器接管:始终保持遥控器的最高优先级控制权限
  4. 紧急停止:确保有可靠的紧急停止机制(如Kill Switch)

相关资源


注意:本文档为 RflySim Swarm 库的索引文档。各模块的详细使用说明请参考对应模块的独立文档页面。