3. 定位参考系统的基本架构与数据流
定位参考系统并不是“一个传感器直接给出坐标”的单点结构,而是一条从物理量感知到可用位置输出的完整链路。理解它的典型架构,关键在于分清三个层次各自承担什么职责、层与层之间传递什么数据、以及接口在什么条件下会失效。本节按传感器层 → 数据融合层 → 输出层的顺序展开,并重点说明数据流的方向、时间戳对齐与接口约定。
一、三层架构的职责划分
传感器层负责把物理世界的量转换为电信号或数字报文。典型成员包括:GNSS 接收机(输出经纬度、速度、定位质量因子)、IMU(输出三轴线加速度与角速度)、轮速计或里程计(输出位移增量)、磁力计(输出航向参考)、以及视觉/激光雷达等外部感知设备。这一层的核心任务是采集与预处理:完成上电自检、量程与零偏标定、原始数据滤波、时间戳打标,并按统一格式向上层推送。传感器层不负责“判断位置对不对”,只负责“如实、及时地报告测量值”。
数据融合层是系统的中枢。它接收多路异构数据,完成时间同步、坐标系统一、状态估计与误差补偿。工程上常见两种实现:松耦合(各传感器先各自解算位置/速度,再在融合层做加权或卡尔曼滤波)和紧耦合(直接使用 GNSS 伪距、伪距率与 IMU 原始量联合估计)。融合层输出的是带协方差的位置、速度、姿态估计,协方差正是后续判断“结果可不可信”的关键依据。
输出层把融合结果转换为下游可用的形式:统一坐标系下的位姿、固定频率的定位报文、以及质量标志(如定位状态、精度因子、协方差椭圆)。输出层还要处理坐标转换(例如从 ECEF 转到 ENU 局部坐标)、插值外推、以及接口协议封装(串口、CAN、以太网 UDP/TCP)。
二、数据流的方向与关键约定
从图中可以看到,数据流是自下而上单向为主、辅以参数反馈的结构。传感器层向上推送的是“测量值 + 时间戳 + 状态字”,融合层向上输出的是“估计值 + 协方差 + 融合状态”,输出层再向下游交付“位姿 + 质量标志”。反向的虚线表示标定参数下发与健康状态回传,例如融合层发现某路 IMU 零偏漂移超限,会通知传感器层重新标定或降权处理。
实际工程中最容易出问题的不是算法,而是时间戳约定。必须明确每个时间戳是“采样时刻”还是“报文发出时刻”,并统一到同一时基(如 GPS 周内秒或系统单调时钟)。若 GNSS 以 10 Hz 输出、IMU 以 100 Hz 输出,融合层需要把 IMU 数据按时间戳对齐到 GNSS 观测时刻,常用做法是缓存最近若干帧 IMU 数据并做线性插值。时间戳错位 50 ms,在 20 m/s 的车速下就对应 1 m 的位置误差,足以让融合结果明显劣化。
三、接口层面的实践要点
接口不只是“能通就行”,还要约定坐标系、单位、符号与频率。以常见的串口输出为例,一条定位报文至少应包含:时间戳、经度、纬度、高度、东/北/天速度、定位状态(如单点、差分、固定解)、参与解算的卫星数、以及水平/垂直精度因子。下面是一个示例报文结构(参数为教学示例,非实测值):
# 示例:定位输出报文(字段以逗号分隔)
$POS,172345.200,39.904210,116.407395,52.30,
0.12,-0.05,0.01,3,14,0.8,1.2*7A
# 字段含义:
# 时间(UTC) | 纬度(deg) | 经度(deg) | 高度(m)
# 东速(m/s) | 北速(m/s) | 天速(m/s)
# 定位状态(3=固定解) | 卫星数 | HDOP | VDOP
接收端解析时必须校验定位状态:状态为单点解时,水平误差可能在米级;固定解时可到厘米级。若下游控制模块不区分状态而直接使用坐标,就会出现“数据在跳、系统却以为很准”的隐患。因此输出层的质量标志不是附属信息,而是接口契约的一部分。
四、一个简化的数据流走查
假设车辆以 15 m/s 行驶,GNSS 输出 10 Hz、IMU 输出 100 Hz。某一时刻融合层收到 GNSS 观测,时间戳为 t₀,同时缓存中有 t₀−30 ms 到 t₀+20 ms 的 5 帧 IMU 数据。融合层先按时间戳插值得到 t₀ 时刻的角速度和加速度,再用 IMU 预积分结果与 GNSS 位置观测做卡尔曼更新,得到 t₀ 时刻的位姿估计及协方差。输出层随后把该结果转换到 ENU 局部坐标,按 50 Hz 插值外推,封装为报文下发。整个过程的关键判断是:更新后的协方差是否收敛、新息(观测与预测之差)是否在门限内。若新息连续超限,应触发降权或故障标志,而不是继续输出“看似正常”的坐标。
把这三层和它们之间的数据流看清楚,后续学习各传感器的误差特性、融合算法选型与接口调试时,就能准确定位问题发生在“感知不准”“融合不当”还是“输出失真”哪一环。