一微秒是多少秒

时间:2024-01-06 17:18:01编辑:小杰

MEMS 技术的飞速发展使得惯性导航系统(INS,简称惯导)不再是“价格昂贵”的代名词,基于低成本MEMS IMU(惯性测量单位)的GNSS/INS组合导航系统已经被广泛应用于智能手机、车载导航终端、移动机器人、旋翼无人机等智能设备的导航定位中。作为一种运动测量传感器,IMU的数据采集直接决定了INS的精度和动态响应性能上限;而在进行GNSS和INS数据融合时,两者的时间同步精度也直接影响着组合导航系统的最终导航定位精度。然而,许多组合导航系统的开发者没有意识到IMU数据采集和时间同步的重要性,没有认真对待,从而限制了IMU性能的发挥,损失了组合导航系统应有的精度。针对行业内组合导航系统开发存在的这一常见问题,我们将分两期描述和澄清GNSS/INS组合导航系统中的数据采集和时间同步这两个关键点。

IMU的时间同步

在将MEMS IMU用于GNSS/INS组合导航系统时(或者其它任何组合导航系统),一个关键步骤是进行GNSS接收机和IMU之间的时间同步。这里请注意,我们所说的时间同步是指不同传感器的数据都打上共同的时标(即采用统一的时间系统),而不是指所有传感器都同步采样(即采样时刻对齐)。传感器同步采样一方面很难落实,另一方面也没有必要,因为多传感器的不同步采样可以通过组合导航算法中惯导的时间传递(即状态转移)作用来解决。

GNSS接收机本身就具备高精度授时的功能,GNSS数据都天生具有精准的GNSS时间,因此最理想的时间同步是将IMU数据也赋予GNSS时间。一般地,通过GNSS接收机输出的1PPS信号(1Hz的秒脉冲信号,也可以是其它频率),结合本地时钟或者IMU内部时钟,即可实现高精度的硬件时间同步(更确切地说是“时标统一”,精度在微秒量级)。然而,很多应用系统不具备硬件同步的条件(即无法连接1PPS脉冲信号或IMU采样信号),那么我们只能被动地采用软件同步的方式(精度只有几十毫秒量级)。具体描述如下:

1. 硬件同步

一般地,为了保证GNSS/INS组合导航系统的精度,都采用硬件时间同步的方式,实现GNSS信号采样时标和IMU数据采集时标的严格统一。对于GNSS接收机而言,其1PPS信号严格对应其在GNSS整秒的GNSS信号采样时刻;而对于MEMS IMU,一般都具备“数据采集状态”信号接口(具体形式为脉冲输出信号)。ICM20602有中断输出引脚(INT),可配置为采样完成(Data Ready)中断信号输出;ADIS16465则直接有一个“采样完成”信号的输出接口。

下图给出IMU硬件时间同步的示意图,嵌入式MCU(单片机)同时接收IMU的“采样完成”脉冲信号和GNSS接收机的1PPS信号,各自触发中断并记录当前的本地晶振时间。利用1PPS信号所对应的本地晶振时间(例如间隔1us的计数器)和GNSS整秒时间,即可计算出本地晶振时间相对于GNSS绝对时间的偏移值;再将这个偏移值补偿给每个IMU“采样完成”信号所对应的本地晶振时间,即可将IMU的本地时标转化为GNSS绝对时标。IMU硬件时间同步的过程如公式(1)~(3)所示。最终实现IMU数据和GNSS数据的时标统一。1PPS信号的误差一般为几十纳秒,可忽略不计;本地晶振时间一般采用微秒级别的计数器,那么最终GNSS数据和IMU数据的时间同步精度即为本地时间的精度,即微秒级。

IMU硬件时间同步示意

Δt2=(C3 ? C1)× 1.0e-6 + bt=1.0 (1)

可推出:

bt=1.0 ? (C3 ? C1) ×1.0e-6 (2)

那么,IMU采样时刻的绝对时标

t2=t1 + (C2 ? C1)×1.0e-6

+ bt × (C2 ? C1)/(C3 ? C1) (3)

其中,我们假设本地时钟的额定频率为1MHz(即计数间隔为1.0e-6秒);

Δt2 :两个相邻1PPS之间的物理时间长度(即1秒);

C1:某1PPS信号对应时刻的本地时钟计数值;

C2:某IMU采样完成信号对应时刻的本地时钟计数值;

C3:下一个1PPS信号对应时刻的本地时钟计数值;

bt :本地时钟在1秒内(即两个相邻1PPS之间)的漂移值;

t1:对应于C1(即1PPS时刻)的GNSS绝对时间,是由GNSS接收机提供的已知量;

t2:对应于C2(即IMU采样完成时刻)的GNSS绝对时间,是待求量。

注:如果本地晶振的品质较高(例如优于10个ppm的TCXO),那么其在1秒内的漂移值bt可忽略不计。

2.软件同步

然而,许多GNSS/INS系统在开发过程中,没有条件连接GNSS接收机的1PPS信号或者IMU根本不具备数据采集相关的硬件信号(诸如“触发采样”、“采样完成”等信号管脚),此时就不得不退而求其次,采用软件同步。所谓的软件同步,就是把数据处理器(例如单片机、工控机等)接收到IMU数据和GNSS数据的时刻“当作”这些数据的采样时刻,记录下本地晶振时间作为其统一的时标。当然也可以进一步通过将GNSS数据接收时刻的本地时间与该GNSS数据中的GNSS绝对时标对比来获得两者的偏差量,进而将IMU的本地时标都转化为GNSS绝对时标。

软件时间同步与硬件时间同步的道理是完全一样的,只是将精准的数据采集时刻(通过1PPS信号和“采样完成”脉冲来体现)替换为数据接收时刻(有几毫秒到几十毫秒的不确定延迟)。其中GNSS数据接收时刻会受到若干因素的影响而造成延迟,包括GNSS接收机内部的信号处理时间、接收机到嵌入式处理器的接口传输时间和嵌入式处理器的解码时间,尤其是当处理器处于忙碌状态时就更加不可控;而IMU数据接收时刻的延迟也类似,只是因为每条IMU数据量很少而使得延迟较小。总之,通过软件的方式实现的时间同步具有诸多不可控因素,导致实际上通过软件实现时间同步的精度低且稳定性差。

软件同步是在确实无法实现硬件时间同步的情况下的无奈选择,对于GNSS精密定位模式下的中高速载体的组合导航(例如RTK/INS车辆导航),几十毫秒的同步误差会深刻地伤害其组合导航精度,因而是无法接受的。

3.多源导航传感器的时间同步

在多源导航定位系统中,GNSS接收机已经成为必不可少的一部分,无论是低至几块钱的导航型GNSS接收机模块,还是价值上千元的测量型板卡,都能够提供高精度的绝对授时(误差一般为几十纳秒)。因而,GNSS接收机自然就成为了多源导航定位系统中的高精度时间基准。利用GNSS接收机的1PPS信号,还可以对精度较低的MCU本地时间系统进行校正,从而得到与GNSS时间同步的高精度MCU本地时间系统(唐海亮等,2019),进而对多源导航传感器进行时间同步(即给各传感器都打上GNSS绝对时标)。举例如下:

3.1 相机的时间同步

对于相机而言,其光学信号采样对应着相机的曝光,因此记录相机的曝光时间就获得了相机图像的采样时刻。一般的相机都具有硬件触发信号接口,即通过外部信号触发相机曝光采样;相机同时输出一个反映曝光过程的事件信号。那么,我们可以利用经过GNSS时间校准后的本地时间系统,实现相机的时间同步。例如,每过一个固定的时间间隔,MCU输出一个相机触发信号;相机收到触发信号后,经过内部很小的处理延时后,开始曝光图像,同时输出曝光信号,曝光结束,直到曝光信号结束;MCU则记录曝光开始和曝光结束的两个时间,并取均值,作为最终的相机图像采样时间,这就实现了相机图像数据的时间同步。

相机时间同步原理

3.2 激光雷达(LiDAR)的时间同步

对于激光雷达而言,其时间同步方式相对简单,因为激光雷达厂商已经将大部分工作集成到激光雷达内部,为用户提供了现成的时间同步接口。一般地,我们只要给激光雷达提供GNSS接收机的1PPS信号及其对应的GNSS绝对时间消息,即可实现激光雷达点云数据的时间同步。例如,Velodyne的VLP-16激光雷达对外提供1PPS信号的输入接口和一路消息输入串口,分别连接GNSS接收机的1PPS信号和定位输出接口(输出GPRMC或GPGGA格式的NMEA消息)。而部分Livox激光雷达硬件上仅有1PPS信号输入接口,需要在上位机将额外的GPRMC消息发送给激光雷达。激光雷达通过接收的1PPS信号及其对应的GNSS定位消息中的GNSS绝对时标,再配合其内部的时间系统,即可实现激光点云数据的时间同步。

4. 时间同步总结

本节介绍了GNSS接收机、IMU以及其它多源导航传感器的时间同步,现将要点总结如下:

多源导航定位系统的时间基准应该是来自GNSS接收机的GNSS时间;利用GNSS接收机的秒脉冲信号(1PPS)和MEMS IMU的数据采样脉冲信号,结合本地时间系统,可实现GNSS定位和IMU数据的高精度时间同步(即硬件同步);应该尽量采用硬件时间同步,软件时间同步精度低、可靠性差;从GNSS/INS组合导航的常见使用需求来看,MEMS IMU数据与GNSS的时间同步误差一般应小于10毫秒,最好是小于1毫秒;基于GNSS接收机的1PPS信号和嵌入式处理器的本地时间系统,也可以实现相机和激光雷达等其它传感器与GNSS时间的硬件同步。

最后再次声明,本文所说的时间同步是指不同传感器的数据都打上共同的时标(即采用统一的时间系统),而不是指所有传感器都同步采样(即采样时刻对齐)。

上一篇:微波炉做爆米花

下一篇:applaud