SimpleCtrl4D 模块文档¶
所属工具箱:RflySim Swarm

简介¶
一句话描述:该模块是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)¶
| 特性项 | 值 |
|---|---|
| 支持的数据类型 | double、single |
| 直接馈通(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): 初始版本发布,支持四维度无人机群体控制接口功能。