跳转至

SimpleCtrl4D 模块文档

所属工具箱:RflySim Swarm

SimpleCtrl4D 模块外观

简介

一句话描述:该模块是RflySim Swarm接口库中提供的群体无人机仿真基础控制接口模块,用于快速搭建多无人机四维控制逻辑。

该模块是RflySim工具链面向群体无人机仿真开发的核心接口组件,主要面向多无人机协同控制算法的Simulink仿真开发场景,支持开发者在Simulink中快速对接多无人机的控制需求,灵活自定义多无人机协同任务逻辑。在仿真流程中,该模块可配合CopterSim完成多无人机飞控动力学仿真,同时可将仿真状态信息同步至RflySim3D实现群体无人机任务的三维可视化,也可与PX4飞控固件对接完成硬件在环或者纯仿真的群体无人机任务验证。

端口说明

输入端口(Inputs)

端口名 数据类型 维度 说明
CtrlInput double 1×4 四通道无人机控制输入,一般对应横滚、俯仰、偏航、油门四个控制量

输出端口(Outputs)

端口名 数据类型 维度 说明
ActuatorOut double N×1 无人机执行器输出信号,维度N对应无人机的旋翼数量,适配四旋翼及多旋翼无人机 [待确认]

参数配置(Parameters)

双击模块打开的 Mask 对话框中可配置以下参数:

参数名 类型 默认值 可选值/范围 说明
CopterID int 1 1~255 集群中当前无人机的ID编号
ControlMode enum Attitude Attitude/Rate 控制模式选择,Attitude为姿态控制模式,Rate为角速率控制模式
UseIndividualGain bool false true/false 是否使用自定义的PID控制增益
RollKp double 4.0 >0 横滚通道比例增益,仅在开启自定义增益时生效
RollKi double 0.05 >=0 横滚通道积分增益,仅在开启自定义增益时生效
RollKd double 0.02 >=0 横滚通道微分增益,仅在开启自定义增益时生效
PitchKp double 4.0 >0 俯仰通道比例增益,仅在开启自定义增益时生效
PitchKi double 0.05 >=0 俯仰通道积分增益,仅在开启自定义增益时生效
PitchKd double 0.02 >=0 俯仰通道微分增益,仅在开启自定义增益时生效
YawKp double 2.5 >0 偏航通道比例增益,仅在开启自定义增益时生效
YawKi double 0.05 >=0 偏航通道积分增益,仅在开启自定义增益时生效
YawKd double 0.01 >=0 偏航通道微分增益,仅在开启自定义增益时生效

参数设置说明

CopterID

指定当前模块对应的无人机在集群中的编号,用于匹配仿真环境中对应无人机的状态反馈与执行器输出通道,不同无人机模块需要设置不同的ID以实现区分。

ControlMode

选择控制接口的工作模式:姿态控制模式下输入四个通道为期望横滚角(deg)、期望俯仰角(deg)、期望偏航角速率(deg/s)、期望油门百分比;角速率控制模式下四个输入为横滚角速率(deg/s)、俯仰角速率(deg/s)、偏航角速率(deg/s)、期望油门百分比。

UseIndividualGain

默认关闭时使用仿真全局配置的PID控制增益,开启后可针对当前无人机单独设置三个通道的PID控制增益,适配不同无人机的调试需求。

模块特性(Block Characteristics)

特性项
支持的数据类型 doublesingle
直接馈通(Direct Feedthrough)
采样时间 继承
代码生成支持

数据通信协议

本模块通过UDP协议和RflySim swarm仿真核心通信,接收仿真状态数据、发送四维控制指令。默认接收端口为9000 + (无人机ID-1)*10,默认发送端口为8000 + (无人机ID-1)*10。 接收数据格式:按顺序为无人机n飞机状态(16个double元素,依次为n号无人机的东北天位置、机体坐标系三轴速度、四元数姿态、机体坐标系三轴角速度) 发送数据格式:4个double元素,对应四维控制通道指令,通常为油门、滚转、俯仰、偏航控制量。

相关模块

模块名 说明
UAVState4DGet 获取集群单架无人机的四维状态信息,配合本模块使用
SwarmInfoGet 获取整个无人机集群的基础配置信息
SimpleGCS_Swarm 提供集群仿真的地面站控制功能
UDPCommsSwarm 实现集群仿真的UDP数据通信收发

注意事项与常见问题

  • 初始化顺序:本模块为RflySim Swarm集群控制模块,需要在整个仿真模型初始化完成、RflySim平台完成集群通信连接后,才会启动控制量输出逻辑。请勿将本模块放置在模型初始化优先级高于RflySim核心集群通信模块的位置,否则可能导致控制量输出异常,无人机无响应。
  • 采样时间匹配:本模块的输出控制量采样周期需要和集群UDP通信的收发周期、RflySim仿真的步长保持匹配,建议将本模块采样时间设置为和集群通信模块一致,避免因采样率不匹配导致控制指令更新延迟或指令丢包,影响集群控制效果。
  • 无人机ID匹配:本模块输出的4D控制指令对应指定ID的无人机,需要在模块参数中正确填写目标无人机的集群ID,若ID填写错误,会导致控制指令发送给错误的无人机,出现集群控制逻辑混乱。
  • 控制维度说明:本模块仅支持生成四维标准化控制指令,若需要输出更多维度的控制量或自定义控制指令,请切换使用RflySim Swarm库的通用集群控制模块,本模块不支持自定义扩展控制维度。
  • 仿真停连问题:若仿真过程中更换了集群无人机数量,需要重新初始化整个仿真模型,本模块不会自动跟随集群规模变化更新内部状态,可能出现模块输出报错的问题。

更新日志

  • v4.10 (2024-12-09): 初始版本发布,支持四维度无人机群体控制接口功能。