3. 数据采集与预处理

无人机TinyML模型的性能上限,首先取决于训练数据的质量。在特征工程之前,原始传感器数据往往包含噪声、时间戳错位、缺失值等问题。本章聚焦于从物理世界到可用数据集的“第一公里”:如何设计采集方案、如何统一多传感器时间基准、如何通过滤波手段分离信号与噪声,以及如何稳健地处理缺失数据。这些步骤直接决定了后续窗口划分和频域特征提取的有效性。

无人机飞行数据采集与预处理链路 ① 数据采集 IMU (加速度/陀螺仪) GPS / 气压计 电机电流 / 遥控信号 采样率: 100Hz~1kHz ② 时间同步 PTP / GPS PPS 插值对齐到统一时间轴 消除时钟漂移 误差 < 1ms ③ 去噪与滤波 低通: 去除高频振动 高通: 去除直流漂移 带通: 提取目标频段 截止频率需根据物理特性 ④ 缺失值处理 线性插值 样条插值 丢弃策略 需评估缺失比例 输出:干净、对齐、连续的数据流 下游任务 窗口划分 → 频域特征提取 → 姿态标签构建 → TinyML模型训练与部署 关键设计参数 采样率 ≥ 2×信号最高频率 滤波器阶数影响相位延迟 缺失率 > 10% 需谨慎

3.1 无人机飞行数据采集方法

核心原理:无人机数据采集的核心目标是获取能够反映飞行状态的高质量原始信号。典型的数据源包括:惯性测量单元(IMU,包含三轴加速度计和三轴陀螺仪)、气压计(用于高度估计)、GPS模块(提供位置和速度)、电机电流传感器(反映推力状态)以及遥控器输入信号。采集方案设计需考虑三个关键维度:采样率、量程和同步机制。

采样率选择:根据奈奎斯特采样定理,采样率必须至少为信号最高频率成分的两倍。无人机机体振动通常在50-200Hz范围,而姿态变化频率一般在5-20Hz。因此,IMU采样率通常设置为100Hz至1kHz。若后续需要提取高频振动特征(如电机异常检测),采样率应不低于500Hz;若仅用于姿态识别,100Hz即可满足需求。

采集硬件配置:实际工程中,常用方案是采用STM32或ESP32等微控制器,通过I2C或SPI总线读取IMU数据,并利用DMA(直接内存访问)减少CPU开销。GPS数据通过UART接口接收,频率通常为5-10Hz。所有数据需附带硬件时间戳(如微控制器定时器计数),以便后续同步。

经验提示:在飞行日志中,除了传感器数据,务必同时记录电池电压和电机PWM指令。这些辅助通道在后续特征工程中可作为重要的上下文信息,例如判断飞行模式(悬停、爬升、降落)时,电机指令的变化趋势比单纯加速度值更具区分度。

3.2 时间同步:多传感器数据对齐

问题背景:不同传感器具有不同的采样率和独立的时钟源。例如,IMU以200Hz采样,GPS以5Hz采样,而气压计以50Hz采样。若直接使用原始时间戳,会导致特征向量中不同维度对应的时间点不一致,严重影响模型训练效果。

同步策略:工程上常用的同步方法有两种:硬件同步和软件同步。

  • 硬件同步:使用GPS的PPS(脉冲每秒)信号作为全局时间基准,微控制器在PPS上升沿触发所有传感器同时采样。该方法精度高(误差小于1微秒),但需要额外的硬件连线。
  • 软件同步:记录每个数据点的本地时间戳,事后通过插值算法将低频数据对齐到高频数据的时间轴上。最常用的是线性插值或三次样条插值。

操作流程:以软件同步为例,假设IMU时间轴为参考(t_imu),GPS数据需对齐到该时间轴。对于每个t_imu时刻,找到GPS时间戳中最近的前后两个点,进行线性插值计算。若GPS数据更新率为5Hz,IMU为200Hz,则每两个GPS点之间需插值40个点。

# 伪代码示例:GPS数据线性插值对齐到IMU时间轴
def sync_gps_to_imu(gps_time, gps_data, imu_time):
    aligned_data = np.interp(imu_time, gps_time, gps_data)
    return aligned_data
风险提示:软件同步的精度受限于插值方法的假设。若传感器数据在短时间内剧烈变化(如无人机急加速),线性插值可能引入较大误差。此时建议使用更高阶的插值方法,或提高低频传感器的采样率。

3.3 去噪与滤波:低通、高通与带通

噪声来源分析:无人机传感器噪声主要分为三类:高频机械振动噪声(来自电机和螺旋桨,频率通常在50-500Hz)、低频漂移(温度变化导致的传感器偏置漂移,频率低于0.1Hz)、以及电磁干扰(来自电机驱动电路,表现为尖峰脉冲)。滤波的目标是根据信号与噪声的频段差异,设计合适的滤波器。

滤波器类型与适用场景:

滤波器类型 频率特性 典型应用场景 截止频率建议
低通滤波 保留低频,衰减高频 去除电机振动噪声,提取姿态变化 20-30Hz(姿态)
高通滤波 保留高频,衰减低频 去除温度漂移,检测碰撞冲击 0.1-1Hz
带通滤波 保留特定频段 提取特定振动特征(如桨叶不平衡) 中心频率±带宽

滤波器实现方法:在TinyML场景下,滤波器需在嵌入式设备上实时运行,因此通常采用IIR(无限脉冲响应)滤波器,因其计算量小、延迟低。一阶低通滤波器的递推公式为:

y[n] = α * x[n] + (1 - α) * y[n-1]
其中 α = 1 / (1 + 2π * fc / fs)
fc为截止频率,fs为采样率

对于需要更陡峭衰减特性的场景,可使用二阶巴特沃斯滤波器,但需注意相位延迟会增大。

实战案例:某四旋翼无人机在悬停状态下,加速度计Z轴数据包含明显的电机振动噪声(约120Hz)。直接使用原始数据训练姿态分类模型,准确率仅为82%。通过设计截止频率为25Hz的二阶低通滤波器后,振动噪声被有效抑制,模型准确率提升至94%。关键参数:采样率500Hz,滤波器系数通过MATLAB的butter函数计算,并转换为C语言定点数实现,以适配MCU的浮点运算能力。

3.4 缺失值处理策略

缺失值产生原因:无人机飞行数据缺失通常由以下原因导致:无线传输丢包(数传链路不稳定)、SD卡写入延迟(高采样率下缓冲区溢出)、传感器偶发故障(I2C通信错误)。缺失模式可能是单点缺失(随机)或连续缺失(数据块丢失)。

处理方法选择:

  1. 删除法:当缺失比例低于1%且为随机缺失时,可直接删除对应时间点的数据。但需注意,删除后时间轴不再均匀,需重新插值。
  2. 线性插值:适用于短时间缺失(小于10个采样点),计算简单,在平滑信号上效果良好。
  3. 样条插值:适用于连续缺失但时长较短(0.1-0.5秒),能保持信号的一阶导数连续性,对姿态数据尤为重要。
  4. 模型预测填充:当缺失时间较长(超过0.5秒)时,可利用其他相关传感器数据(如用陀螺仪积分预测加速度计缺失值),但需谨慎使用,避免引入偏差。

处理流程:首先统计各通道缺失率,若超过10%则考虑丢弃该段数据;若低于10%,则根据缺失长度选择插值方法。插值完成后,需检查数据范围是否合理(如加速度值不应超过±16g)。

常见误区:不要对所有缺失值统一使用线性插值。在剧烈机动飞行中,加速度信号变化率极大,线性插值会严重低估峰值。此时应优先使用样条插值或基于物理模型的预测方法。此外,插值后的数据应视为“估计值”,在特征计算时可通过增加权重或标记来降低其影响。

3.5 预处理流程的完整案例拆解

场景描述:某农业植保无人机需要识别“正常巡航”与“喷洒作业”两种飞行模式。原始数据包含IMU(200Hz)、GPS(5Hz)和电机电流(50Hz)。飞行时长为10分钟,共采集约12万条IMU数据。

初始问题:数据中存在三类问题:GPS时间戳与IMU不同步(最大偏差达120ms);加速度计信号包含明显的电机振动(80-150Hz);由于数传丢包,GPS数据有3.2%的缺失。

处理步骤:

  • 步骤1:时间同步。以IMU时间轴为基准,对GPS位置和速度进行线性插值,对电机电流进行样条插值(因其变化较平滑)。同步后,所有数据统一到200Hz时间轴。
  • 步骤2:滤波处理。对加速度计数据应用截止频率为20Hz的二阶低通滤波器,消除振动噪声;对电机电流数据应用截止频率为5Hz的低通滤波,提取稳态分量。
  • 步骤3:缺失值处理。GPS数据缺失段最长连续0.4秒(约80个插值点),采用三次样条插值填充。插值后检查发现,填充值在转弯处与真实轨迹偏差小于0.5米,可接受。
  • 步骤4:数据质量验证。计算滤波前后加速度计信号的均方根误差(RMSE),从0.8g降至0.15g,确认噪声被有效抑制。

结果对比:预处理前直接提取特征训练分类模型,准确率为78%;预处理后准确率提升至96%。关键改进在于时间同步消除了GPS与IMU的错位,使得速度与加速度特征在时间上正确对应。

复盘经验:预处理环节的收益往往大于模型调参。建议在项目初期就建立标准化的预处理流水线,并保存中间结果以便回溯。同时,滤波器的截止频率应通过频谱分析确定,而非随意设定。

3.6 常见误区与总结

误区一:过度滤波。滤波会引入相位延迟,过度滤波会导致信号失真,尤其是对姿态变化快速响应的场景。建议在滤波后对比原始信号与滤波信号的时域波形,确认没有明显滞后。

误区二:忽视时间同步精度。在高速机动中,10ms的时间错位就可能导致加速度与速度特征不匹配,严重影响模型性能。务必记录每个传感器的实际采样时刻,而非假设其均匀分布。

误区三:缺失值处理一刀切。不同通道的缺失模式差异很大,应分别分析。例如,GPS缺失通常为连续块状,而IMU缺失多为单点随机。针对不同模式采用不同策略。

总结:数据采集与预处理是TinyML项目中最耗时但回报最高的环节。一个设计良好的预处理流程应具备以下特征:明确的时间基准、基于物理特性的滤波参数、稳健的缺失值处理策略,以及完整的质量验证机制。完成本章工作后,数据流将具备进入窗口划分和特征提取阶段的条件。