3. 时间系统与时钟模型

在无人机视觉与IMU融合系统中,时间不是抽象概念,而是决定数据能否正确对齐的物理量。相机曝光时刻、IMU采样时刻、飞控输出时刻、ROS消息时间戳,若各自基于不同时间系统,融合结果就会出现系统性偏差。本节从工程视角梳理UTC、GPS时间、ROS时间、硬件时钟的差异,并建立时钟漂移与同步的基本模型。

一、四类时间系统的定位与差异

UTC(协调世界时)是人类社会统一的时间基准,由原子钟提供秒长,通过闰秒与地球自转对齐。它适合日志记录、跨设备人工比对,但不适合直接作为高频传感器的时间源,因为闰秒会造成时间轴不连续。

GPS时间由GPS卫星星座的原子钟维持,起点为1980年1月6日00:00:00,不含闰秒。GPS接收机通过解算卫星信号得到GPS周内秒(TOW)和整周计数,可提供纳秒级授时。无人机上常用的PPS(秒脉冲)就是GPS时间的硬件体现,其上升沿对应整秒时刻,精度可达数十纳秒。

ROS时间(ROS Time)是ROS系统中的逻辑时间,分为两种模式:使用系统墙钟的Wall Time,以及使用仿真或外部时钟的Sim Time。ROS消息头中的stamp字段通常记录的是ROS时间。若节点使用ros::Time::now(),其值取决于/use_sim_time参数和/clock话题。ROS时间本身不保证单调性,也不直接对应UTC,必须明确其来源。

硬件时钟是传感器或MCU内部的晶振计数器,例如IMU的采样计数器、相机的曝光触发计数器、飞控的定时器。硬件时钟频率稳定但存在漂移,且不同设备的计数器起点不同,不能直接跨设备比较。

核心结论:UTC用于人读,GPS时间用于授时,ROS时间用于消息传递,硬件时钟用于设备内部计时。四者不能混用,必须建立明确的映射关系。

二、时钟漂移与时钟同步的基本模型

任何真实时钟都不是理想时钟。设理想时间为t,设备时钟读数为C(t),则时钟模型可写为:

C(t) = f0 * t + theta + epsilon(t)

f0     : 标称频率偏差(ppm级)
theta  : 初始相位偏差(秒)
epsilon: 随机抖动与温度漂移

其中f0导致时钟“走得快”或“走得慢”,称为频率偏差;theta是上电时刻的固定偏移;epsilon是短期噪声。时钟漂移通常用ppm表示,例如20 ppm意味着每秒钟偏差20微秒,每小时偏差72毫秒。对于视觉惯性里程计,1毫秒的时间偏差就可能造成明显的尺度误差和轨迹漂移。

时钟同步的目标是估计出两个时钟之间的仿射关系:

t_master = a * t_slave + b

a : 频率比(drift ratio)
b : 时间偏移(offset)

只估计b称为偏移同步,同时估计a和b称为频率与偏移联合同步。后者对长时间运行至关重要,因为频率偏差会随时间累积成巨大的偏移。

三、典型同步链路与信号流

无人机上常见的时间同步链路如下:GPS接收机输出PPS和UTC时间报文,飞控捕获PPS并记录本地定时器计数值,同时通过串口读取UTC;相机收到触发信号后记录曝光时刻的硬件计数器;IMU以固定频率采样并记录内部计数器;机载计算机通过ROS订阅各传感器数据,并利用PPS或触发信号建立硬件计数器到ROS时间的映射。

无人机多源时间同步链路与时钟映射 GPS接收机 PPS + UTC报文 飞控定时器 捕获PPS,记录本地计数 相机 曝光触发计数器 IMU 采样计数器 机载计算机 / ROS节点 建立硬件计数器 → ROS时间映射,估计a与b 统一时间轴:t_master = a·t_slave + b 供VIO、标定、融合使用

四、时间系统对照与工程选择

时间系统 基准 是否含闰秒 典型精度 适用场景
UTC 原子时+地球自转 含闰秒 毫秒~微秒 日志、人机界面、跨系统记录
GPS时间 GPS原子钟 不含闰秒 纳秒级 授时、PPS、多传感器硬同步
ROS时间 系统墙钟或仿真时钟 取决于来源 毫秒级 ROS消息时间戳、节点间通信
硬件时钟 晶振计数器 无 微秒级(含漂移) 设备内部采样、触发、捕获

五、案例:视觉惯性标定中的时间偏差影响

假设相机与IMU进行联合标定,IMU采样率为200 Hz,相机帧率为20 Hz。若相机时间戳比IMU时间戳整体滞后5 ms,在无人机以1 rad/s角速度旋转时,姿态角误差约为0.005 rad,即0.29度。对于高精度VIO,这一误差会直接导致外参标定结果偏移,并在轨迹中表现为尺度漂移。

更隐蔽的问题是频率偏差。若IMU时钟比相机时钟快50 ppm,运行10分钟后,两者累计偏差达到30 ms,相当于6帧IMU数据错位。此时即使初始偏移已校准,系统仍会逐渐失准。因此,工程上必须同时估计偏移b和频率比a。

常见误区:只做一次时间偏移标定就长期使用。晶振频率随温度变化,无人机飞行中电机发热、气流变化都会引起ppm级漂移,必须在线估计或定期重标定。

六、时钟同步的基本方法

  1. 硬同步:利用GPS PPS或硬件触发信号,将多个设备的采样时刻对齐到同一物理边沿。精度最高,但需要硬件支持。
  2. 软同步:通过消息时间戳和统计方法估计偏移与频率比,例如最小二乘拟合、卡尔曼滤波、凸优化。实现灵活,但受网络延迟和抖动影响。
  3. 混合同步:用PPS提供粗对齐,再用软同步精修残余偏移和频率偏差。无人机视觉惯性系统常采用此方案。

无论采用哪种方法,最终都要落到一个可验证的指标:同步后的时间残差是否小于传感器采样周期的十分之一。对于200 Hz IMU,这意味着残差应小于0.5 ms;对于20 Hz相机,残差应小于5 ms。只有满足这一条件,后续的视觉惯性融合与标定才有意义。

工程建议:在ROS中统一使用ros::Time记录所有传感器时间戳,并在驱动层完成硬件计数器到ROS时间的映射。不要在上层算法中混用UTC、GPS时间和ROS时间,否则时间偏差会以难以排查的方式污染整个系统。