跳转至

RealCtrl28D 模块文档

所属工具箱:RflySim Swarm

RealCtrl28D 模块外观

简介

一句话描述:该模块用于将无人机多维度控制输入打包为标准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直接控制、力控制选项,支持自定义采样时间。