2、数据采集:车载传感器(GPS/IMU/轮速计)数据采集规范与格式
做轨迹回放测试,第一步就是搞定数据采集。说白了,你后面所有的分析、回放、验证,都建立在原始数据质量上。数据要是脏了,后面全是白费功夫。我个人习惯把传感器数据采集比作「打地基」——地基歪了,楼盖得再漂亮也得塌。
2.1 三大核心传感器:各自扮演什么角色?
高速场景下,我们主要依赖三种传感器:GPS、IMU、轮速计。它们各司其职,谁也替代不了谁。
| 传感器 | 核心作用 | 典型频率 | 我在项目中踩过的坑 |
|---|---|---|---|
| GPS(全球定位系统) | 提供绝对位置(经纬度、海拔) | 10Hz ~ 20Hz | 高架桥下信号丢失,位置直接漂移几十米 |
| IMU(惯性测量单元) | 提供加速度、角速度,用于姿态推算 | 100Hz ~ 200Hz | 温度变化导致零偏漂移,积分后位置误差累积 |
| 轮速计(Wheel Speed Sensor) | 提供车速脉冲,辅助推算里程 | 50Hz ~ 100Hz | 轮胎打滑时脉冲计数不准,里程直接算错 |
你想想看,GPS 更新慢,但绝对位置准;IMU 更新快,但积分会漂;轮速计在平坦路面很稳,但一打滑就完蛋。所以这三者必须融合使用,缺一不可。
2.2 数据采集规范:别让细节毁了你的数据
嗯,这里要注意。很多新手上来就接传感器,数据一通录,回头分析时才发现一堆问题。我建议你从一开始就定好规范。
2.2.1 时间同步:所有数据必须用同一个时钟
这是最容易被忽视的坑。GPS、IMU、轮速计各自有自己的时间戳,如果不做同步,回放时轨迹会「错位」。我曾经遇到过一个问题:IMU 的时间戳比 GPS 慢了 200 毫秒,结果融合出来的轨迹在弯道处直接「跳变」,排查了两天才找到原因。
解决方案: 所有传感器统一使用 GPS 的 PPS(秒脉冲)信号作为硬件同步基准。如果硬件不支持,至少要在软件层面做插值对齐。
时间同步的黄金法则:
- 所有传感器时间戳统一为 UTC 时间
- 时间戳精度至少到毫秒级(建议微秒级)
- 记录每个数据包的接收时间与传感器原始时间
2.2.2 数据格式:统一、可解析、带元信息
我个人习惯用 CSV 或 protobuf 格式。CSV 简单直观,适合小规模测试;protobuf 压缩率高,适合大规模路采。但不管用哪种,字段定义必须清晰。
下面是我常用的 GPS 数据格式示例:
# GPS 数据格式 (gps_data.csv)
timestamp, latitude, longitude, altitude, heading, speed, hdop, satellites
1672531200.123, 31.2304, 121.4737, 10.5, 45.2, 80.3, 1.2, 12
1672531200.223, 31.2305, 121.4738, 10.6, 45.1, 80.5, 1.1, 12
IMU 数据格式:
# IMU 数据格式 (imu_data.csv)
timestamp, accel_x, accel_y, accel_z, gyro_x, gyro_y, gyro_z, temperature
1672531200.000, 0.12, -0.03, 9.81, 0.001, -0.002, 0.005, 25.3
1672531200.005, 0.13, -0.02, 9.80, 0.002, -0.001, 0.004, 25.3
轮速计数据格式:
# 轮速计数据格式 (wheel_speed.csv)
timestamp, wheel_fl, wheel_fr, wheel_rl, wheel_rr, vehicle_speed
1672531200.010, 45.2, 45.1, 45.3, 45.2, 80.2
1672531200.020, 45.3, 45.2, 45.4, 45.3, 80.4
小技巧: 每个 CSV 文件头部加一行注释,写明传感器型号、固件版本、采集日期。别问我为什么——有一次我拿着三个月前的数据,死活想不起来用的是哪款 IMU,零偏参数全对不上。
2.3 数据采集流程:从上车到入库
我总结了一套标准流程,每次路采前都会走一遍:
- 设备检查: GPS 天线是否固定牢固?IMU 是否水平安装?轮速计接线是否松动?
- 静态初始化: 车辆静止 2-3 分钟,记录 IMU 零偏和 GPS 初始位置。
- 动态校准: 开一段直线 + 几个弯道,验证传感器数据是否正常。
- 正式采集: 按测试场景行驶,全程监控数据质量。
- 数据导出: 采集完成后立即备份,并生成数据质量报告。
警告: 千万不要在车辆行驶过程中拔插传感器线缆!我曾经亲眼见过有人这么干,结果 IMU 数据直接「炸了」,整段数据作废。
2.4 数据质量检查:录完了不等于能用了
数据采集完,第一件事不是急着做回放,而是做质量检查。我一般会看这几个指标:
- GPS 卫星数: 低于 8 颗的时段标记为「低质量」
- HDOP(水平精度因子): 大于 2.0 的时段需要谨慎使用
- IMU 温度变化: 超过 5°C 的时段可能存在零偏漂移
- 轮速计脉冲连续性: 出现跳变或丢失的时段需要剔除
说白了,数据质量检查就是「排雷」。把有问题的数据段提前标记出来,后面做轨迹融合时才能有针对性地处理。
2.5 核心知识体系:一张图看懂
下面这张图是我自己整理的,涵盖了数据采集阶段的核心逻辑。你照着这个框架走,基本不会漏掉关键环节。
这张图把整个数据采集的链路串起来了。从三大传感器出发,经过时间同步、格式统一、规范采集,最后落到质量检查。每一步都不可或缺。
核心要点总结:
- GPS、IMU、轮速计必须同步采集,时间戳统一
- 数据格式要规范,带元信息,方便后续处理
- 采集前做设备检查和静态初始化,采集后做质量检查
- 数据质量比数据量更重要——宁可少录一段,也不要录一段脏数据
好了,数据采集这块就聊到这儿。下一章我们开始讲数据预处理——说白了,就是把原始数据「洗干净」,为后面的轨迹融合做准备。
可可精品资料库