新手入门系列4——MEMS IMU原始数据采集和时间同步的那些坑

发布时间:[2022-01-25] 来源:[唐海亮 张全 牛小骥] 点击量:[25580]

    随着MEMS惯导器件的发展和普及,越来越多惯导领域之外的同行开始使用MEMS IMU。一些IMU前端数据采集环节往往会被忽视,例如IMU的数据采样率和时间同步问题。这些细节看似无伤大雅,但却足以造成我们的系统设计从底层深刻地伤害MEMS惯导的推算能力!因此有必要及时澄清。


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

    我们将以工业级MEMS IMU模块(ADI的ADIS16465)和消费级MEMS IMU芯片(InvenSense的ICM20602)为例,介绍如何科学严谨地进行IMU 数据采集以符合导航定位要求,以及如何科学严谨地进行IMU与其它导航定位传感器的时间同步。由于涉及到若干技术细节需要交代和解释,因此本文篇幅较长。不关心细节的读者可直接跳到文末看总结出的要点。


1 IMU的数据采集

1.1 IMU输出数据类型

    一般来说,消费级MEMS芯片仅能输出速率形式的测量值,对应陀螺输出的是角速度(常用单位为deg/s),加速度计输出的是加速度(严格说应该是比力,常用单位为m/s2或g)。对于工业级MEMS模块而言,除了能够输出速率形式的测量值以外,有些还能够输出增量形式的测量值,对应陀螺输出的是角度增量(deg),加速度计输出的是速度增量(m/s)。

    事实上,离散化后的INS机械编排解算,需要的正是增量形式的测量值。因此,如果IMU提供增量形式的测量值,我们推荐直接使用;否则,我们需要人为地将速率形式的测量值转为增量形式。一般地,在采样率足够的情况下,可以使用前后两个IMU历元的速率测量值的平均值乘上时间间隔(梯形积分),即可得到对应区间的增量测量值。

1.2 IMU原始采样

    MEMS IMU内部的原始采样频率一般都大于1000Hz,例如:ADIS16465的原始采样频率为2000Hz;ICM20602的陀螺最高采样率为8000Hz,加速度计为4000Hz。按照奈奎斯特采样定理,IMU数据的原始采样频率必须高于载体动态频率范围(即信号带宽)的两倍,但实际工程应用中一般取5~10倍。而对于IMU采样,为了确保不因为离散化采样的信息损失而对惯导精度造成任何伤害,往往会采用10~20倍(甚至更高)的原始采样率。因此,只要条件允许,IMU的原始采样率应直接使用该器件的最高采样率,具体取决于载体动态情况,对于车载不能低于200Hz。当然,后续的惯导解算环节不可能也没必要采用这么高的数据率,因此就需要在高频采集IMU原始数据后,以合理的方式尽快降采样到一个合适的数据率(见1.3节),包括将数据格式转化成惯导算法所需的增量形式(如1.1节所述)。

1.3 IMU数据降采样

    MEMS IMU原始采样率要足够高,然而考虑到计算资源的消耗,一般并不会以这么高频率进行惯导解算。为此需要对高频率的IMU原始数据进行降采样,以得到低频率的IMU数据。降采样的方式按照IMU输出数据类型而异:对于速率形式的采用平均降采样的方式实现,而对增量形式的则采用累加降采样。这里值得指出的是,对于很多工业级MEMS模块而言,可以直接对其进行合理的参数配置即可输出降采样后的IMU数据;然而,对于消费级MEMS芯片,一般不具有这样的功能,用户需要自己采集高频率的原始数据,再在解算前进行对应的降采样处理。具体描述如下:

1.3.1 IMU自主降采样

    工业级MEMS IMU模块,都是为专业的导航或测量应用设计,因此往往既可以直接输出高频率的原始IMU数据,也可以根据用户的需要配置输出降采样之后的IMU数据。例如:ADIS16465有一个平均/降采样滤波器(Averaging/Decimating Filter,如图1所示),用户可以配置降采样的参数,从而将2000Hz的原始IMU数据平均降采样为低频率的数据。例如:配置降采样寄存器值(DEC_RATE)为9,则输出频率为2000Hz/(9+1)=200Hz。

1643471537103069834.png

图1:ADIS16465平均/降采样滤波器 


    如果配置MEMS IMU输出增量形式的数据,那么其内部同样是使用了所有的高频原始IMU数据降采样后输出低频增量形式测量值。图2给出了ADIS16465的陀螺角度增量降采样输出的计算公式,对于加速度计的速度增量其形式相同。基本思路就是计算前后两个原始速率测量值的均值,除以采样频率(或乘以采样间隔)得到增量值,然后累积降采样区间内的所有值,最终输出区间内的增量测量累积值。

1643471597353043032.png

图2:ADIS16465增量角输出计算公式 


1.3.2 IMU手动降采样

    对于消费级MEMS IMU芯片而言,一般无法通过参数配置在芯片内部进行平均降采样,因此需要采集原始高频IMU数据后,再在数据采集环节进行平均降采样处理。对于一般的嵌入式系统而言,采样频率过高意味着更高的通信接口负载,因而原始采样频率也不能过高,对于ICM20602,陀螺和加速度计数据的原始采样频率可取1000Hz。得到原始的高频率IMU数据后,我们再对其进行平均降采样处理,同时转化为增量形式,最后输出低频率的IMU数据,并以此频率的IMU数据进行惯导解算。

1.3.3 降采样输出频率的选择

    前面讲到,IMU原始采样率应该要足够高(至少应该是被测信号带宽的10~20倍),再通过平均降采样的方式得到低频的IMU测量值。但是,即使是这种合理的降采样方式也是有限度的,那么降采样到多少Hz合适呢?在GNSS/INS组合导航实测数据处理中,仿真GNSS短期中断(例如1~2分钟),考察定位漂移误差的统计值,即可定量评估组合导航的内在精度水平 [Niu Xiaoji, 2010],该方法可被用于确定某种载体在某种运动条件下能够接受的最低IMU降采样输出频率。例如:针对旋翼无人机载体,GNSS仿真中断实验结果表明,在IMU原始采样率足够的前提下(相对于无人机的旋翼抖动频率而言),采用平均降采样方式最多可以降低IMU输出频率至20~25Hz而不会对组合导航精度产生影响 [蔡磊等,2016];而对于车载或者轮式机器人载体而言,由于其运动更平稳,因此IMU降采样后的数据率可以低至5~10Hz。需要强调的是,为了准确评估某种载体在某种运动轨迹下的IMU降采样后的最低数据率,最严谨的方式仍然是通过模拟GNSS中断的方式,评估不同数据率下的位置漂移误差统计值有没有明显恶化,具体问题具体分析。

1.4 禁用低通降噪滤波器

    MEMS IMU中除了有前述平均/降采样滤波器外,还有为了对原始信号进行降噪的低通滤波器(例如ADIS16465中的FIR滤波器),它会造成数据的延迟,进而伤害惯导推算性能,应该被禁用。事实上,INS机械编排算法内部带有积分环节,本身就具有极强的低通滤波效果 [Yalong Ban, 2013],因此对IMU原始数据进行低通滤波降噪是完全没有必要的。如果这种滤波器是默认必选,则应当将其带宽(Cut-off frequency)配置到最高,从而最大限度地减少滤波造成的时滞效应。

1.5 IMU采样总结

    本节我们以市场上两款常用的产品为例,对MEMS IMU的数据采集进行了详细介绍,相关要点总结和补充如下:

1. IMU原始采样率要足够高,必须充分满足采样定律,即达到载体动态频率的10~20倍,越高越好;

2. 可以通过平均降采样的方式(而不是抽样方式),将高频率的IMU原始数据降低至惯导解算的数据率;而惯导解算的最低数据率是以不影响该GNSS/INS组合导航系统的精度为限的;

3. 不要使用低通降噪滤波器,如果无法禁用,则应配置最高的带宽(Cut-off frequency);

4. IMU数据需保留最长的有效位数,切勿随意截取;

5. IMU数据读取的优先级要有所保障,以免造成IMU数据采集间隔不稳定甚至丢数;IMU数据必须保证连续稳定的采集(例如:对于普通车辆载体,不允许出现连续0.1s的丢数现象,且出现丢数时要有标记;IMU数据的丢数率和坏数率均应小于1e-5)。


2 IMU的时间同步

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

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

2.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数据的时间同步精度即为本地时间的精度,即微秒级。

1643471754947032090.png

图3:IMU硬件时间同步示意 [唐海亮等,2019]


Δ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秒);

C11PPS信号对应时刻的本地时钟计数值;

C2IMU采样完成信号对应时刻的本地时钟计数值;

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

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

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

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

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


2.2 软件同步

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

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

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

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

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

2.3.1 相机的时间同步

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

1697467378401075495.png

图4:相机时间同步原理


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

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

2.4 时间同步总结

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

1. 多源导航定位系统的时间基准应该是来自GNSS接收机的GNSS时间;

2. 利用GNSS接收机的秒脉冲信号(1PPS)和MEMS IMU的数据采样脉冲信号,结合本地时间系统,可实现GNSS定位和IMU数据的高精度时间同步(即硬件同步);

3. 应该尽量采用硬件时间同步,软件时间同步精度低、可靠性差;

4. 从GNSS/INS组合导航的常见使用需求来看,MEMS IMU数据与GNSS的时间同步误差一般应小于10毫秒,最好是小于1毫秒;

5. 基于GNSS接收机的1PPS信号和嵌入式处理器的本地时间系统,也可以实现相机和激光雷达等其它传感器与GNSS时间的硬件同步。

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


参考文献

[1] InvenSense/ICM-20602 Data Sheet [EB/OL]. [2016-10-03].  [PDF]

[2] Analog Devices, Inc. ADIS16465 Data Sheet [EB/OL]. [2017-12].  [PDF]

[3] Niu X, Zhang H, Shi C, et al. A proposed evaluation standard for the navigation results of MEMS INS/GPS integrated systems[C]//Proceedings of the International Symposium on GPS/GNSS. 2010: 1-5.

[4] 蔡磊, 牛小骥, 张提升, 等. MEMS 惯导在旋翼飞行器中导航性能的实验分析[J]. 传感技术学报, 2016, 29(5): 711-715.

[5] Ban Y, Zhang Q, Niu X, et al. How the integral operations in INS algorithms overshadow the contributions of IMU signal denoising using low-pass filters[J]. The Journal of Navigation, 2013, 66(6): 837-858.

[6] 唐海亮, 张提升, 包林封, 等. 面向旋翼无人机的高精度组合导航模块设计与评估[J]. 传感技术学报, 2019, 32(6): 838-843.


版权所有:武汉大学多源智能导航实验室(微信公众号:i2Nav) 当前访问量: 技术支持:武汉楚玖科技有限公司