跳转至

HighLevelMode 模块文档

所属工具箱:RflySim Swarm

HighLevelMode 模块外观

简介

一句话描述:面向无人机集群开发的高阶飞行控制模式管理模块,为PX4飞控提供加工后的控制指令与期望控制量输出,同时提供飞行安全保障机制。

该模块是RflySim Swarm工具链中面向无人机高阶控制的核心预处理模块,支持仿真与实飞场景下的通用调用,既可为初学者提供基础飞行控制的安全保障,也可满足进阶用户的差异化控制需求,兼容位置、速度、加速度三类主流控制模式。模块需配合模式切换模块获取输入指令,会对PX4所需的解锁、上锁、Offboard切换等指令进行重加工,默认按1秒间隔重复发送指令,兼顾指令传输可靠性与网络传输稳定性,同时会结合无人机状态校验结果、当前飞行模式对输出控制量进行限制:非Flying模式下不会输出用户自定义控制量,状态校验未通过时所有输出清零,避免起飞异常或误操作风险。

该模块可对接PX4飞控,通过RflyUdpMavlink模块完成与CopterSim仿真引擎或实机飞控的信息交互,输出标准化总线格式的控制指令与期望控制量,可直接供后续控制逻辑调用,支持单无人机开发与多无人机集群控制场景,预留16维控制输入可扩展复杂自定义控制任务。

端口说明

输入端口(Inputs)

端口名 数据类型 维度 说明
cmd double 1×1 飞控控制指令输入,必须由模式切换模块生成,用于发送解锁、上锁、起飞、模式切换等指令
mode double 1×1 控制模式选择输入,1为位置控制模式、2为速度控制模式、3为加速度控制模式
ctrls double 1×16 控制量输入,前四维对应控制目标,剩余12维预留扩展,默认填0即可
takeoff_height double 1×1 自动起飞目标高度,兼容NED坐标系(向下为正),室内起飞到1m高度一般设置为-1
check_pass double 1×1 无人机状态校验标志输入,为未通过时模块所有输出置0

输出端口(Outputs)

端口名 数据类型 维度 说明
outBus Bus 非标 输出控制总线,包含加工后的控制指令、使能标志以及对应控制模式下的期望控制量

参数配置(Parameters)

本模块无可配参数。

模块特性(Block Characteristics)

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

数据通信协议

本模块不涉及网络通信。

相关模块

模块名 说明
ModeSwitch 生成HighLevelMode模块所需的模式控制指令输入
RflyUdpMavlink 输出无人机状态校验标志,可连接到本模块的check_pass输入端口

注意事项与常见问题

  • 初始化与输入来源:本模块的cmd指令输入必须由RflySim Swarm库的模式切换模块生成,不支持自定义直接输入指令,否则无法正确实现飞控指令的定时重发和模式逻辑处理。
  • 坐标系与高度符号:本模块兼容NED坐标系,向下为高度正方向,若需要起飞到1m高度,起飞高度参数应设置为-1,设置符号错误会导致起飞高度异常,出现撞地或者起飞过高问题。
  • 控制模式匹配输入:仅支持mode=1(位置控制)、mode=2(速度控制)、mode=3(加速度控制)三种模式,ctrls控制输入仅需填充前四维,剩余12维必须置0;不同模式下仅对应类型的期望控制量输出有效,非对应模式的输出将保持为0,不要使用无效输出作为控制输入。
  • 状态校验逻辑:必须接入RflyUdpMavlink模块输出的check_pass状态校验信号,若校验未通过,本模块所有输出都会置0,不会输出任何控制指令,属于正常安全逻辑,不属于模块故障。多机集群场景下任意一架无人机校验未通过,对应无人机都不会执行控制指令,保障飞行安全。
  • 指令发送规则:本模块默认按1s间隔重发飞控指令,切换模式后首次立即发送一次指令,之后间隔1s重发,不要在外部逻辑中高频重复发送相同指令,避免触发飞控故障或网络拥塞。
  • 安全使用建议:位置控制模式(mode=1)适合初学者使用,速度控制(mode=2)和加速度控制(mode=3)需要使用者具备相应的控制算法基础,手动控制场景下不建议直接使用速度/加速度模式,避免发生飞行异常。
  • 非Flying模式安全逻辑:未切换到Flying模式时,本模块会屏蔽所有外部输入的控制量,所有控制输出保持为0,属于预设的安全保障机制,不需要额外调整。

更新日志

  • v4.20 (2024-12-09): 初始版本发布,支持位置/速度/加速度三种控制模式输出,集成飞控指令重发机制与状态校验功能,输出标准化控制总线适配集群仿真开发。