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

简介¶
一句话描述:该模块用于将无人机多维度控制输入打包为标准28维控制向量,为RflySim集群控制工具链提供标准化的offboard控制输出。
RealCtrl28D是RflySim Swarm接口库中面向多无人机集群offboard控制的控制指令标准化模块,支持在NED本地坐标系下对无人机的位置、速度、加速度、偏航角、偏航角速度进行控制配置,用户可根据自身控制算法需求自由选择每个自由度的控制量类型,同时支持模拟RCC直接控制、加速度转力控制等扩展模式。该模块会根据配置解析用户输入的控制量,结合控制使能信号与模式指令,输出符合通信协议要求的28维double型控制向量,最终通过RflyUdpMavlink等通信模块将控制指令发送给PX4飞控,可同时支持仿真环境与实机集群的控制开发。
该模块主要用于RflySim工具链的高级集群控制开发场景,配合模式控制模块生成的模式指令,可实现位置控制、速度控制、加速度控制等多种offboard控制模式,适配单机复杂任务开发与多机集群协同任务开发,是连接上层自定义控制算法与底层PX4飞控通信的核心接口模块。
端口说明¶
输入端口(Inputs)¶
| 端口名 | 数据类型 | 维度 | 说明 |
|---|---|---|---|
isEnCtrl |
double/boolean |
1×1 |
控制使能信号,为真时模块输出有效控制数据,为假时所有输出信号为0 |
cmd |
double |
1×n [待确认] |
控制指令,通常由模式控制模块生成,用于offboard控制指令配置 |
Ctrls |
double |
1×4 |
四维控制输入,具体解析方式由模块参数配置决定 |
输出端口(Outputs)¶
| 端口名 | 数据类型 | 维度 | 说明 |
|---|---|---|---|
PackedCtrl |
double |
1×28 |
打包完成的28维控制数据,输出给通信模块(如RflyUdpMavlink)进行通信传输 |
参数配置(Parameters)¶
双击模块打开的 Mask 对话框中可配置以下参数:
| 参数名 | 类型 | 默认值 | 可选值/范围 | 说明 |
|---|---|---|---|---|
Select channels to control |
boolean group |
无默认值(需用户勾选) | 可选选项:x, y, z, vx, vy, vz, ax, ay, az, yaw, yawspeed |
选择需要控制的通道,每个自由度必须勾选一个控制量 |
Simulate Rcc Direct |
boolean |
false |
true/false |
是否开启直接模拟遥控器RCC控制 |
Enable Force |
boolean |
false |
true/false |
是否将加速度通道输入视为控制力而非加速度 |
Sample Time (s) |
double |
0.01 [待确认] |
>0 |
模块运行采样时间,单位为秒 |
参数设置说明¶
Select channels to control¶
该参数用于选择各个自由度的控制量:X轴自由度必须在x(位置,单位m)、vx(速度,单位m/s)、ax(加速度,单位m/s²)中勾选一个;同理Y轴、Z轴自由度也需各勾选一个;偏航自由度必须在yaw(期望偏航角,单位rad,范围-π~+π)、yawspeed(偏航角速度,单位rad/s,绕NED坐标系Z轴)中选择一个勾选,该约束是保证无人机稳定控制的必要条件。
Simulate Rcc Direct¶
勾选该选项后,模块会将四维控制输入[vx, vy, vz, yawspeed]直接映射为遥控器通道[ch1, ch2, ch3, ch4]信号,输入范围要求为[-1, 1],模块会自动映射到PWM信号范围[1000, 2000],此时四维控制输入直接作为模拟遥控器信号使用。
Enable Force¶
勾选该选项后,勾选的ax, ay, az通道输入会被解析为控制力(而非加速度),用于直接力控制场景。
Sample Time (s)¶
指定该模块的运行采样时间,单位为秒,需根据控制周期需求设置合适的数值。
模块特性(Block Characteristics)¶
| 特性项 | 值 |
|---|---|
| 支持的数据类型 | double |
| 直接馈通(Direct Feedthrough) | 是 |
| 采样时间 | 离散 |
| 代码生成支持 | 否 |
数据通信协议¶
本模块输出28维double控制向量,供后续通信模块(如RflyUdpMavlink)打包发送,模块本身不直接进行网络通信。
相关模块¶
| 模块名 | 说明 |
|---|---|
HighLevelMode |
生成该模块需要的控制指令和使能控制信号 |
RflyUdpMavlink |
接收本模块输出的28维控制数据,通过MAVLink协议发送给无人机仿真或真实无人机 |
OffboardPVA |
对本模块输出的控制指令进行进一步加工,适配MAVLink的PositionTarget协议格式 |
RflySwarmWaypoint |
可配合本模块实现多无人机航点任务控制 |
注意事项与常见问题¶
- 初始化顺序:
cmd控制指令必须由[模式控制]模块生成,不可直接自定义该输入信号,否则无法正确生成符合MAVLINK协议要求的控制标志位,会导致offboard控制失效。 - 控制通道约束:X、Y、Z三个平动自由度中,每个自由度必须从
x/vx/ax中勾选且仅勾选一个控制通道;偏航通道必须从yaw/yawspeed中勾选且仅勾选一个控制通道,不满足该约束会导致无人机控制不稳定或失控。 - 多机位置控制使能:集群场景下使用位置控制时,不可直接使用模式控制模块生成的
isEnCtrl,需要自定义使能逻辑:需在无人机解锁完成后,再使能控制,并将无人机当前位置作为初始控制指令输入,避免进入offboard模式后无人机因初始零位置指令发生意外运动。 - 采样时间匹配:模块设置的
Sample Time (s)需要与下游通信模块(如RflyUdpMavlink)以及整个offboard控制回路的采样频率匹配,不匹配会导致控制指令发送延迟或丢包,影响飞行稳定性。 - Simulate Rcc Direct模式说明:勾选该模式后,四维控制输入会被直接解析为模拟遥控器通道信号,输入范围必须保持在
[-1, 1]之间,模块会自动映射到1000~2000us的PWM输出范围,输入超出范围会导致遥控器信号异常。 - 力控制模式说明:勾选
Enable Force后,ax/ay/az输入会被解析为力而非加速度,输入量纲需要对应调整,避免控制量过大导致无人机失控。
更新日志¶
v4.1.0(2024-12-09): 初始版本发布,实现将控制指令和控制量打包为28维可通信格式,支持位置/速度/加速度/偏航角/偏航角速度多自由度控制,新增模拟RCC直接控制、力控制选项,支持自定义采样时间。