1. 课程导入与水下定位数据认知
水下定位是海洋工程、水下机器人和潜器作业的基础能力。无论是ROV(遥控水下机器人)在管线巡检中的位置记录,还是AUV(自主水下航行器)在测绘任务中的航迹输出,最终交付给用户的往往不是"声学信号"本身,而是一串按时间排列的定位数据。清洗这些数据之前,必须先弄清楚:一条水下定位数据到底由哪些字段构成,每个字段从哪里来、代表什么物理量,以及哪些字段一旦出错会直接毁掉定位结果。
学习目标
完成本章后,你应当能够:说清水下定位数据的基本构成与各字段的物理含义;识别常见异常类型及其对定位解算的影响路径;理解"数据清洗"在整个定位处理链路中的位置,而不是把它当成孤立的后期修补;并能根据一段原始数据初步判断问题可能出在传感器、时间同步还是解算环节。本章不涉及具体算法实现,重点是建立数据认知框架,为后续章节的异常检测、滤波与修复方法打基础。
水下定位数据的基本构成
一条典型的水下定位记录,通常包含四类信息。第一类是时间戳,它是所有数据对齐的基准。水下定位系统常见多源异步采样:USBL(超短基线)声学观测可能5 Hz输出,IMU姿态200 Hz,深度计1 Hz,DVL(多普勒计程仪)速度约1~4 Hz。若时间戳来自不同时钟源且未统一到同一时基,后续融合就会出现"用错时刻的姿态去修正位置"的问题。第二类是位置信息,包括经纬度、局部坐标(如以作业船为原点的东北天坐标)、深度,以及对应的定位方差或协方差。第三类是姿态信息,即横滚、俯仰、航向,它决定了声学观测方向与载体运动方向的换算关系。第四类是声学观测,包括斜距、方位角、声速、传播时延、信标编号与观测质量因子等。
需要特别强调参照约定:本课程统一采用"北-东-天"局部坐标系,航向以北为0°、顺时针为正;深度以水面为0、向下为正。后续所有图示与公式均遵循这一约定,切换参照系时会明确说明。
异常数据如何影响定位结果
异常对定位的影响不是"数据不好看"这么简单,它会沿着解算链路逐级放大。以USBL为例:声学观测给出斜距与方位,需要结合姿态把载体坐标系下的观测矢量旋转到北东天坐标系,再叠加载体位置得到目标位置。若航向存在5°误差,在100 m斜距上就会产生约8.7 m的横向位置偏差;若某个历元的斜距因多径反射偏大20 m,该历元解算位置会直接跳出去,而滤波器若把它当作真实观测,还会把误差"拖"进后续若干历元。时间戳问题更隐蔽:当声学观测与姿态的时间戳错位0.5 s,而载体以1 m/s运动时,位置换算就会引入约0.5 m的系统性偏差,且这种偏差在数据上看起来"平滑合理",很难靠肉眼发现。
因此,清洗的目标不是把所有看起来"跳"的点都删掉,而是区分三类情况:可修复的随机误差(如单历元野值,可用邻域一致性判断后插值或降权)、需标记的系统性偏差(如深度计零点漂移,应整体校正而非逐点剔除)、不可恢复的缺失(如长时间姿态中断,只能标记为无效区间,避免污染融合结果)。这个判断贯穿后续所有章节。
清洗流程的整体框架
本课程将清洗流程组织为五个环节:数据接入与字段解析、质量评估、异常检测、修复与剔除、结果验证。数据接入阶段要完成单位统一(如深度由压力换算、角度由弧度转度)、时基统一与坐标系标识核对;质量评估阶段统计缺失率、采样间隔分布、各字段取值范围,先形成"数据体检报告";异常检测阶段根据异常类型选择阈值法、统计法或模型法;修复阶段对可修复异常做插值、滤波或降权,对不可修复区间做标记;验证阶段则回到轨迹层面,检查残差分布、速度连续性、闭合误差等指标是否合理。
一个教学示例
假设某次ROV作业记录中,USBL以5 Hz输出,IMU以100 Hz输出,深度计1 Hz。原始文件按行存储,每行包含时间戳、斜距、方位角、横滚、俯仰、航向、深度与质量因子。初步检查发现:第1200~1215行时间戳出现回退约0.8 s;第3400行斜距由常态的45 m突增至92 m,而前后历元均在46 m附近;深度字段在整段数据中比作业船吃水记录系统性偏大约1.2 m。这三类问题分别对应时间同步异常、声学野值与系统性偏差,处理策略完全不同——前者需重排或剔除错位区间,中者可用邻域中值一致性判定后降权,后者应做整体零点校正而非逐点删除。这个例子说明:清洗的第一步永远是"看懂数据在说什么",而不是急着套算法。
本章建立的字段认知、异常分类与流程框架,将作为后续各章的方法选择依据。当你面对一段新的水下定位数据时,先问三个问题:时间基准是否统一?各字段的物理含义与参照约定是否明确?异常属于随机、系统还是缺失?回答清楚这三个问题,清洗就有了方向。