sensor_combined 模块文档¶
所属工具箱:Sensors and Actuators

简介¶
一句话描述:从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)¶
| 特性项 | 值 |
|---|---|
| 支持的数据类型 | double、single |
| 直接馈通(Direct Feedthrough) | 否 |
| 采样时间 | 离散 |
| 代码生成支持 | 否 |
数据通信协议¶
模块通过UDP协议与PX4硬件端的px4io服务通信,模块会向对端IP的20010 + 机号ID端口发送传感器数据请求结构体,请求格式遵循RflySim平台新版VisionSensorReq协议,校验和固定为12345,传感器类型ID对应组合传感器标识。
相关模块¶
| 模块名 | 说明 |
|---|---|
GPS_Recorder |
输出GPS定位相关原始数据 |
rangefinder |
输出测距传感器的距离测量数据 |
airspeed |
输出空速传感器的测量数据 |
OpticalFlow |
输出光流传感器的运动测量数据 |
使用示例¶
相关使用示例请参考以下路径:
请在上述路径中查看
Readme.pdf获取完整的示例说明与操作步骤。
注意事项与常见问题¶
- 初始化依赖:本模块必须在PX4硬件运行
px4io服务后才能获取到有效的传感器数据,仿真启动前请先确认PX4端服务已正常启动,否则输出将保持初始零值。 - 多机适配说明:当使用多机仿真时,本模块会自动绑定对应ID的飞控传感器数据,请确保模型配置中目标飞机ID和PX4飞控的实际编号匹配,避免读取错误的传感器数据。
- 坐标系说明:模块输出的磁力计、加速度计、陀螺仪数据均基于NED坐标系,开发控制算法时请确认自身算法的坐标系要求,避免坐标系不匹配导致控制异常。
- 单位匹配提示:各传感器输出单位与PX4原生定义保持一致:磁力计单位为高斯、加速度单位为m/s²、角速度单位为弧度/秒、气压高度对应气压单位为毫巴、时间戳单位为微秒,使用时请不要额外转换单位。
- 采样时间匹配:模块采样时间建议设置为和PX4飞控传感器实际输出频率匹配(一般陀螺仪输出频率为250Hz,对应采样时间可设为0.004s),避免采样频率过高导致重复读取,或频率过低导致数据延迟影响控制效果。
- 数据输出端口说明:模块输出端口数量由参数界面
Output Selection的勾选配置决定,勾选对应数据后才会生成对应输出端口,若使用时找不到对应传感器输出,请检查参数配置的勾选状态。
更新日志¶
v4.10(2024-08-12): 初始版本发布,支持从PX4硬件获取组合传感器数据,可选择输出磁力计、加速度计、陀螺仪、气压计数据和时间戳。