跳转至

pos_ned_full 模块文档

所属工具箱:RflySim Swarm

pos_ned_full 模块外观

简介

一句话描述:该模块是RflySim Swarm接口库中,基于Offboard__full模块封装的NED坐标系位置控制指令编码模块。

该模块是RflySim无人机集群 swarm 开发工具链中的专用编码模块,支持开发人员直接输入NED坐标系下的位置控制指令,为集群多无人机的位置控制场景提供了便捷封装。该模块生成的标准化Offboard控制指令可通过配套通信接口发送给PX4飞控,同时对接CopterSim仿真引擎与RflySim3D可视化环境,可直接在RflySim全仿真链路中完成集群位置控制算法的验证与测试,典型使用场景为多无人机集群编队、集群协同航路跟踪等基于位置控制的集群任务开发。

端口说明

输入端口(Inputs)

端口名 数据类型 维度 说明
NED Position Setpoint double 1×3 NED坐标系下的目标位置指令,依次为北方向位置、东方向位置、下方向位置
Yaw Setpoint double 1×1 目标偏航角指令,单位为rad

输出端口(Outputs)

端口名 数据类型 维度 说明
Encoded Offboard Command double 1×N 编码后的全量离线控制指令,可直接接入Offboard__full模块的指令输入端口 [待确认]

参数配置(Parameters)

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

参数名 类型 默认值 可选值/范围 说明
CopterID int 1 1~255 目标无人机的ID,用于集群场景中指定控制对象

参数设置说明

CopterID

该参数指定当前位置控制指令对应的无人机编号,在多无人机集群仿真中,需要为每架无人机的指令编码模块配置唯一匹配的CopterID,保证指令正确发送给对应无人机。

模块特性(Block Characteristics)

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

数据通信协议

该模块为集群Offboard控制指令编码模块,输出编码后的指令数据通过UDP协议发送给RflySim仿真端,遵循RflySwarm集群通信协议格式,默认使用集群控制通信端口。

相关模块

模块名 说明
Offboard__full RflySim Swarm集群基础Offboard控制封装模块
vel_ned_full NED坐标系下集群速度控制指令编码模块
att_sp_full 姿态期望指令集群编码模块
thrust_sp_full 推力期望指令集群编码模块
RflyUdpSendSwarm 集群控制指令UDP发送模块

注意事项与常见问题

  • 坐标系一致性:该模块输出的控制指令基于NED坐标系,输入位置指令时需保证输入坐标与NED坐标系定义一致,不可直接输入ENU坐标系坐标,否则会出现无人机位置控制方向相反的错误。
  • 与Offboard__full模块依赖关系:该模块是Offboard__full模块的封装衍生模块,使用前需确保模型中已正确配置Offboard__full模块的通信参数(如无人机ID、UDP通信端口等),否则模块无法正常发送位置指令。
  • 初始化顺序:该模块需在RflySim Swarm环境和Offboard__full通信模块初始化完成后再输出位置指令,不可在仿真初始步直接输出非零期望位置,否则可能导致无人机失控触发锁死保护。
  • 采样时间匹配:该模块的采样时间需与模型中Offboard__full通信模块的采样时间保持一致,不建议使用差异超过10倍的采样率,否则会出现指令丢包或者控制滞后问题。
  • 群体组网使用限制:当在多机集群仿真中使用多个pos_ned_full模块时,需要为每个无人机对应配置独立的无人机ID,避免不同无人机指令冲突导致位置控制异常。

更新日志

  • v4.1.0 (2023-06-15): 初始版本,新增支持NED坐标系下位置控制指令输入的pos_ned_full封装模块。