跳转至

sensor_combined 模块文档

所属工具箱:Sensors and Actuators

sensor_combined 模块外观

简介

一句话描述:从PX4飞控获取组合原生传感器数据,供Simulink中自定义无人机控制算法开发使用。

该模块属于RflySim工具链的Sensors and Actuators接口库,用于对接PX4飞控(Pixhawk硬件)的底层传感器数据,支持用户根据需求灵活选择输出磁力计、加速度计、陀螺仪、气压计数据以及陀螺仪启动后的时间戳,所有输出数据均对齐NED坐标系并带有标准单位,可直接用于自定义飞行控制算法的开发与验证。

该模块需要PX4硬件运行px4io服务以获取有效传感器信号,既可以搭配真实PX4飞控完成硬件在环仿真,也可配合CopterSim、RflySim3D完成软件在环仿真,是RflySim工具链中支持用户自定义控制开发的核心传感器接口模块。

端口说明

输入端口(Inputs)

本模块无输入端口。

输出端口(Outputs)

输出端口由参数对话框中Output Selection区域的配置决定,启用对应选项后会生成对应输出端口:

端口名 数据类型 维度 说明
Magnetometer single/double [待确认] 1×3 磁力计输出,NED坐标系下的磁场数据,单位为高斯
Accelerometer single/double [待确认] 1×3 加速度计输出,NED坐标系下的线加速度数据,单位为m/s²
Gyroscope single/double [待确认] 1×3 陀螺仪输出,机体坐标系下的角速度(p,q,r),单位为弧度/秒
Barometer single/double [待确认] 1×1 气压计输出,已进行温度补偿的气压值,单位为毫巴,也可输出对应海拔高度
Timestamp double 1×1 时间戳输出,陀螺仪启动以来的运行时间,单位为微秒

参数配置(Parameters)

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

参数名 类型 默认值 可选值/范围 说明
CopterID int 1 1~255 绑定的无人机ID,用于获取对应无人机的传感器数据
Sample time double 0.01 >0 模块采样时间,单位为秒
Magnetometer(x,y,z) bool false true/false 是否输出磁力计数据
Accelerometer(x,y,z) bool false true/false 是否输出加速度计数据
Gyroscope(x,y,z) bool false true/false 是否输出陀螺仪数据
Barometer(Altitude) bool false true/false 是否输出气压计数据
uORB and RunTime(timestamp) bool false true/false 是否输出运行时间戳

参数设置说明

Output Selection 区域

该区域可勾选需要输出的传感器数据类型,每勾选一个选项,模块会自动生成一个对应的输出端口,可根据控制算法需求选择需要的传感器数据输出。

Sample time

该参数用于设置模块读取传感器数据的采样频率,通常设置为和PX4飞控传感器输出频率一致即可,仿真环境下可保持默认值0.01

CopterID

当仿真场景中存在多架无人机时,通过该参数指定当前模块要获取哪一架无人机的传感器数据,单无人机仿真时保持默认值1即可。

模块特性(Block Characteristics)

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

数据通信协议

模块通过UDP协议与PX4硬件端的px4io服务通信,模块会向对端IP的20010 + 机号ID端口发送传感器数据请求结构体,请求格式遵循RflySim平台新版VisionSensorReq协议,校验和固定为12345,传感器类型ID对应组合传感器标识。

相关模块

模块名 说明
GPS_Recorder 输出GPS定位相关原始数据
rangefinder 输出测距传感器的距离测量数据
airspeed 输出空速传感器的测量数据
OpticalFlow 输出光流传感器的运动测量数据

使用示例

相关使用示例请参考以下路径:

[RflySim安装路径]/RflySimAPIs/5.RflySimFlyCtrl/0.ApiExps/5.PSPOfficialExps/Readme.pdf

请在上述路径中查看 Readme.pdf 获取完整的示例说明与操作步骤。

注意事项与常见问题

  • 初始化依赖:本模块必须在PX4硬件运行px4io服务后才能获取到有效的传感器数据,仿真启动前请先确认PX4端服务已正常启动,否则输出将保持初始零值。
  • 多机适配说明:当使用多机仿真时,本模块会自动绑定对应ID的飞控传感器数据,请确保模型配置中目标飞机ID和PX4飞控的实际编号匹配,避免读取错误的传感器数据。
  • 坐标系说明:模块输出的磁力计、加速度计、陀螺仪数据均基于NED坐标系,开发控制算法时请确认自身算法的坐标系要求,避免坐标系不匹配导致控制异常。
  • 单位匹配提示:各传感器输出单位与PX4原生定义保持一致:磁力计单位为高斯、加速度单位为m/s²、角速度单位为弧度/秒、气压高度对应气压单位为毫巴、时间戳单位为微秒,使用时请不要额外转换单位。
  • 采样时间匹配:模块采样时间建议设置为和PX4飞控传感器实际输出频率匹配(一般陀螺仪输出频率为250Hz,对应采样时间可设为0.004s),避免采样频率过高导致重复读取,或频率过低导致数据延迟影响控制效果。
  • 数据输出端口说明:模块输出端口数量由参数界面Output Selection的勾选配置决定,勾选对应数据后才会生成对应输出端口,若使用时找不到对应传感器输出,请检查参数配置的勾选状态。

更新日志

  • v4.10 (2024-08-12): 初始版本发布,支持从PX4硬件获取组合传感器数据,可选择输出磁力计、加速度计、陀螺仪、气压计数据和时间戳。