跳转至

vel_ned_full 模块文档

所属工具箱:RflySim Swarm

vel_ned_full 模块外观

简介

一句话描述:该模块是RflySim Swarm接口库中基于Offboard__full封装的NED坐标系速度指令编码模块,用于生成符合协议要求的速度控制指令。

该模块是RflySim多无人机集群仿真工具链的专用指令编码模块,定位为离线控制(Offboard)场景下的速度指令处理封装单元,典型使用场景为多无人机集群速度控制仿真开发,支持开发者直接输入NED坐标系下的期望速度指令,省去自定义协议编码的步骤。该模块生成的编码指令会通过UDP通信传输给CopterSim完成飞控逻辑仿真,最终将仿真状态同步至RflySim3D实现集群飞行的可视化展示,同时也可对接真实PX4飞控硬件完成硬件在环仿真或实物集群测试。

端口说明

输入端口(Inputs)

端口名 数据类型 维度 说明
vel_ned double 1×3 NED坐标系下的速度指令,分别为北方向速度、东方向速度、下方向速度
CopterID double 1×1 要控制的无人机ID,仅当模块配置为单ID模式时为有效输入

[待确认] 若模块配置为广播所有无人机模式,CopterID输入端口不生效

输出端口(Outputs)

端口名 数据类型 维度 说明
packaged_offboard_cmd double 1×n 编码完成的离线控制指令包,可直接输入给offboard控制发送模块 [待确认]

参数配置(Parameters)

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

参数名 类型 默认值 可选值/范围 说明
Target Copter ID int 1 1~255 / 0 目标无人机ID,0表示广播给所有无人机
Yaw rate cmd double 0 任意实数 偏航角速度指令,单位为rad/s

参数设置说明

Target Copter ID

配置需要发送速度指令的无人机ID,设置为0时,模块会将指令广播给集群中所有无人机,此时无需输入CopterID信号;设置为非0值时,可通过输入端口动态输入目标无人机ID实现灵活控制。

Yaw rate cmd

模块仅支持输入NED坐标系下的三轴速度指令,偏航角速度作为固定参数在此配置,若需要动态调整偏航角速度,可通过修改模块封装实现端口输入。

模块特性(Block Characteristics)

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

数据通信协议

本模块不涉及网络通信,仅完成速度指令编码,最终输出数据会由Offboard控制类模块通过UDP协议发送给PX4仿真固件。

相关模块

模块名 说明
Offboard__full 群舞 Offboard 控制基础封装模块,本模块基于该模块二次开发
pos_ned_full NED坐标系下位置指令编码模块,同系列群舞控制编码模块
att_throttle_full 姿态油门指令编码模块,同系列群舞控制编码模块

注意事项与常见问题

  • 坐标系规范:该模块输出的速度指令基于NED坐标系,输入速度指令需要符合NED坐标系定义(北为x正方向、东为y正方向、下为z正方向),不要混淆ENU坐标系定义,否则会导致无人机飞行方向与预期完全相反。
  • 初始化顺序:需要确保整个RflySim Swarm集群仿真的Offboard模式初始化完成后,再输出该模块生成的速度指令,否则无人机可能无法进入Offboard控制模式,出现失控报错。
  • 输入范围限制:输入的速度指令幅值不要超过无人机飞控的最大速度限制,一般建议速度指令绝对值不超过10m/s,超限指令会被PX4飞控截断,导致飞行轨迹偏离预期。
  • 采样时间匹配:模块输出速度指令的采样时间需要匹配Offboard__full父模块的通信周期,建议设置为10ms~50ms,采样时间过大(超过1s)会导致Offboard控制超时,飞控自动切回手动模式。
  • 集群使用注意:在多无人机集群仿真中,每个无人机需要单独配置独立的vel_ned_full模块,不要多个无人机复用同一个模块,否则会出现指令广播错误,导致所有无人机跟随同一速度指令飞行。

更新日志

  • v4.10 (2024-06-15): 初始发布vel_ned_full封装模块,支持在Offboard__full基础上接收NED坐标系下速度指令输入。