2. 导航传感器与数据源
导航数据记录系统的第一道关口,是弄清楚“数据从哪里来”。飞行器上真正参与导航解算的传感器并不是单一设备,而是一组物理原理、输出频率、误差特性和时间基准都不同的数据源。它们各自回答不同的问题:惯性测量单元(IMU)回答“机体如何运动”,卫星导航接收机回答“我在哪里、速度多少”,气压高度表回答“相对气压基准的高度是多少”,磁力计回答“机头指向哪里”,地磁与视觉辅助则回答“在卫星信号弱或惯性漂移时,如何用环境特征修正位置与姿态”。记录系统必须按各数据源的固有节拍采集,并保留足够的时间戳与状态字,否则后续误差分析会失去可追溯性。
一、惯性测量单元:高频、自主、但会漂移
IMU 通常由三轴陀螺仪和三轴加速度计组成,输出角速度和比力。它的核心记录特点是频率高、短时精度好、长期存在零偏与随机游走。典型航空级 IMU 输出频率在 100~400 Hz,MEMS 器件可达 1 kHz 以上。记录时不能只存原始十六进制帧,而应同时记录量程、标度因数、零偏估计值、温度以及采样时刻。
例如某 MEMS IMU 配置为:陀螺量程 ±2000 °/s,加速度计量程 ±16 g,输出频率 200 Hz,通过 SPI 读取,每帧包含 6 个 16 位有符号整数。记录系统按 200 Hz 写入二进制日志,每 1 秒插入一次温度与状态字。若陀螺零偏在 25 ℃ 下为 0.8 °/s,而温度升至 45 ℃ 时漂移到 1.5 °/s,后续姿态解算若不做温补,10 秒内就会产生约 7° 的姿态误差。因此 IMU 记录中温度通道与时间戳必须与惯性通道同帧或严格对齐,否则无法做零偏温度建模。
二、卫星导航接收机:低频、绝对、但易受遮挡
卫星导航接收机输出位置、速度、时间(PVT)以及卫星可见数、载噪比、定位模式、精度因子等。它的记录特点是频率低(通常 1~10 Hz)、绝对精度高、但更新间隔内需要惯性或其它传感器补足。记录内容至少应包括:UTC 时间、经纬高、地速、航迹角、垂直速度、定位类型(单点/差分/RTK)、参与解算卫星数、HDOP/VDOP、以及每颗卫星的伪距残差或载噪比。
实际记录中常见一个陷阱:接收机通过串口输出 NMEA 语句,而 NMEA 的 UTC 时间只有整秒,若直接用它给 IMU 打时间戳,会引入最大 1 秒的错位。正确做法是用接收机的 PPS 秒脉冲作为硬件触发,将 IMU 采样计数器与 PPS 对齐,并在日志中同时记录“接收机 UTC”和“本地单调计数器”。这样即使卫星失锁,也能用本地计数器维持时间连续性。
三、气压高度表与磁力计:慢速、环境敏感、需校准
气压高度表通过静压孔测量大气压力,再按标准大气模型换算高度。它的记录特点是频率低(通常 10~50 Hz)、相对高度变化敏感、但受气流、温度、舱压和天气影响大。记录时应同时保存静压、温度、气压高度、以及是否经过 QNH 修正。若飞行器穿越强上升气流,气压高度会出现“滞后”或“突跳”,这些异常必须在日志中保留原始静压值,以便事后判断是传感器问题还是真实大气变化。
磁力计输出三轴磁场强度,用于航向参考。它的记录特点是易受机载电流、电机、金属结构干扰。记录时除了三轴磁场值,还应保存磁力计温度、是否开启硬铁/软铁校准、以及当前航向解算结果。一个实用做法是:在起飞前做一次“8 字校准”,记录校准系数;飞行中若磁力计模值偏离校准值超过 20%,就在日志中打上“磁干扰疑似”标记,供后续误差分析筛选。
四、地磁与视觉辅助:环境匹配、低频修正
地磁辅助通常利用预先构建的地磁图,将实时磁力计读数与地图匹配,得到位置修正;视觉辅助则用下视或前视相机提取特征点,与已知地图或相邻帧匹配,输出位置或速度修正。它们的共同记录特点是输出频率低、计算延迟大、但能提供绝对位置约束。记录内容应包括:匹配成功/失败标志、匹配残差、置信度、处理耗时、以及所用地图版本号。若匹配失败,必须记录失败原因(特征不足、光照过暗、地图超时等),否则无法区分“传感器故障”和“环境不匹配”。
五、多源记录的时间对齐与字段设计
上述五类数据源的输出频率从 1 Hz 到 1 kHz 不等,若各自独立打时间戳,事后做误差分析时会出现“同一时刻”对不上的问题。工程上通常采用统一时基 + 插值/外推策略:以 GNSS 的 PPS 为绝对时间基准,以本地高频计数器为相对时间基准,所有传感器采样时刻都换算到同一单调时间轴上。记录格式可采用“每源独立日志 + 全局时间索引”的方式,避免因某一源丢帧而破坏整个文件结构。
一个可参考的记录字段设计如下(以 IMU 和 GNSS 为例):
IMU 记录帧(200 Hz):
t_mono_us : 本地单调时间,微秒
t_utc_ms : 最近一次 PPS 对齐后的 UTC 毫秒
gx,gy,gz : 陀螺原始值,int16
ax,ay,az : 加速度计原始值,int16
temp_c : 温度,0.1 ℃ 分辨率
status : 位标志(量程、自检、饱和)
GNSS 记录帧(5 Hz):
t_utc_ms : UTC 毫秒
lat,lon,alt : 纬度、经度、椭球高
vn,ve,vd : 东北天速度
fix_type : 0=无,1=单点,2=差分,4=RTK
num_sat : 参与解算卫星数
hdop,vdop : 精度因子
pps_flag : 本秒 PPS 是否有效
记录时还应注意:原始值优先于解算值。例如 IMU 应保存原始 int16 计数,而不是直接保存转换后的 °/s;气压高度表应保存静压 ADC 值,而不是只保存高度。这样在事后发现标度因数或零偏假设有误时,仍可重新解算。对于视觉辅助,若存储带宽有限,至少应保存匹配残差、置信度和处理耗时,而不是只存最终位置。
六、数据源记录特点对比
| 数据源 | 典型频率 | 核心输出 | 主要误差 | 记录要点 |
|---|---|---|---|---|
| IMU | 100~1000 Hz | 角速度、比力 | 零偏、随机游走、温漂 | 原始值、温度、时间戳同帧 |
| GNSS 接收机 | 1~10 Hz | 位置、速度、UTC | 多路径、遮挡、电离层 | PPS 对齐、DOP、卫星数 |
| 气压高度表 | 10~50 Hz | 静压、高度 | 气流、温度、QNH 误差 | 原始静压、温度、基准 |
| 磁力计 | 10~100 Hz | 三轴磁场、航向 | 硬铁/软铁、电流干扰 | 校准系数、干扰标志 |
| 地磁/视觉辅助 | <10 Hz | 位置/速度修正 | 地图误差、特征误匹配 | 残差、置信度、耗时 |
理解这些记录特点,是后续做误差分析的前提。IMU 的漂移需要温度与时间信息才能建模;GNSS 的跳变需要 DOP 和卫星数才能判断是环境问题还是接收机问题;气压高度的突跳需要原始静压才能区分气流与传感器故障;磁力计的异常需要校准系数和干扰标志才能定位;视觉辅助的失败需要残差和置信度才能判断是算法问题还是场景问题。记录系统不是简单“把数据存下来”,而是为每一种误差保留可追溯的上下文。