一种位置和姿态测量系统的软件时间同步方法转让专利

申请号 : CN201010623900.3

文献号 : CN102183253B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 房建成刘占超刘百奇钟麦英李建利曹全

申请人 : 北京航空航天大学

摘要 :

一种位置和姿态测量系统(Position and Orientation System,POS)的软件时间同步方法。位置和姿态测量系统由惯性测量单元、POS导航计算机、GPS接收机等构成;该时间同步方法首先利用GPS接收机发出的GPS秒脉冲和时间计数器将POS导航计算机系统时间同步到世界协调时,然后通过对惯性测量单元的数据采集脉冲时钟分频周期进行修正的方法实现惯性测量单元数据采集时刻与世界协调时的同步,从而完成位置和姿态测量系统的时间同步。本发明通过改变数据采集脉冲时钟分频周期的方法解决了时钟漂移导致位置和姿态测量系统短时间内时间同步精度下降的问题,使得本发明具有精度高、抗干扰能力强的特点。

权利要求 :

1.一种位置和姿态测量系统的软件时间同步方法,其特征在于步骤如下:

(1)在POS导航计算机中利用GPS秒脉冲、世界协调时时间数据和时间计数器将POS导航计算机时间同步到世界协调时;

(2)在POS导航计算机中利用GPS秒脉冲、IMU发送给POS导航计算机的数据采集时间同步脉冲和时间计数器,计算IMU时间误差修正量,然后由POS导航计算机向IMU发送时间误差修正命令;

(3)IMU响应POS导航计算机发来的时间误差修正命令,对IMU的数据采集脉冲时钟分频周期进行修正,完成IMU时间与世界协调时的同步;

(4)IMU利用其与世界协调时同步的数据采集脉冲对陀螺仪、加速度计和温度传感器进行数据采集,使POS中GPS接收机和IMU数据的获取时间统一于世界协调时,实现位置和姿态测量系统数据的整体时间同步;

(5)判断POS工作是否结束,如果没有结束,则继续执行步骤(1)至步骤(4),直至结束;

所述步骤(1)中所述的将POS导航计算机时间同步到世界协调时的实现步骤如下:

a.由POS导航计算机内部的时间计数器记录GPS秒脉冲到来时间;

b.在POS导航计算机内以连续两个GPS秒脉冲时间间隔为基准,根据该时间间隔内时间计数器数值增量计算出POS导航计算机系统时钟的漂移率,实时标定出POS导航计算机的系统时钟误差,使得后续时间同步过程中POS导航计算机各部分因时钟漂移导致的时间同步误差最小,假设POS导航计算机系统时钟标称频率为f,在连续的两个GPS秒脉冲时间间隔内时间计数器的增量为n,则POS导航计算机系统时钟周期误差计算公式为:

1000000×(n-f)/(n×f),单位为:微秒;

c.由POS导航计算机的时间计数器记录POS导航计算机系统事件发生时刻,然后根据时间计数器的数值及POS导航计算机系统时钟误差计算POS导航计算机系统事件发生时刻相对于GPS秒脉冲的时间差,进而根据GPS秒脉冲对应的世界协调时数据计算获得POS导航计算机系统事件时间,实现POS导航计算机时间与世界协调时的同步;

d.在GPS秒脉冲到来时,将前一个GPS秒脉冲对应的世界协调时数据加上两个GPS秒脉冲之间的绝对时间间隔,即获得当前GPS秒脉冲的世界协调时数据;

所述步骤(2)中IMU时间误差修正量的计算过程如下:假设当IMU的数据采集时钟分频周期为a时相应的数据采集脉冲时间长度短于GPS秒脉冲,当IMU的数据采集时钟分频周期为a+1时相应的数据采集脉冲时间长度长于GPS秒脉冲,则POS导航计算机通过时间计数器获取GPS秒脉冲与IMU发来的数据采集时间同步脉冲的时间差,然后POS导航计算机根据该时间差计算出IMU的数据采集脉冲时钟分频周期分别为a的个数和a+1的个数,以便在下一个GPS秒脉冲到来时IMU的数据采集时间同步脉冲与GPS秒脉冲对齐,时间差为零,根据当前的IMU时钟分频周期及计算出的时钟分频周期可获得IMU的数据采集脉冲时钟分频周期误差,即IMU的时间误差修正量;

所述步骤(3)中对IMU的数据采集脉冲时钟分频周期进行修正过程如下:IMU在接收到POS导航计算机通过串口发来的时间误差修正量后自行对其下一阶段的数据采集脉冲时钟分频周期进行修正,具体可分为两种模式,第一种为当数据采集脉冲时钟分频周期为a的个数大于分频周期为a+1的个数时,应当根据分频周期为a的个数相对于分频周期为a+1个数的整数倍而交替修正数据采集脉冲的时钟分频周期;第二种模式为当数据采集脉冲时钟分频周期为a的个数小于分频周期为a+1的个数时,处理方法与第一种模式相反;在保证IMU时钟漂移误差累积时间最短的同时实现IMU时间与世界协调时的同步。

说明书 :

一种位置和姿态测量系统的软件时间同步方法

技术领域

[0001] 本发明涉及一种位置和姿态测量系统(Position and Orientation System,POS)的软件时间同步方法,属于遥感信息获取领域,用于位置和姿态测量系统数据及外部事件的时间同步。

背景技术

[0002] 位置和姿态测量系统由POS导航计算机(POS Computer System,PCS)、惯性测量单元(Inertial Measurement Unit,IMU)和GPS接收机等构成。PCS首先获取IMU输出的角速度、加速度,GPS接收机输出的速度、位置,以及其它辅助传感器输出的辅助信息,如温度、姿态等数据,然后PCS进行数据融合处理获得载体高精度的运动信息,提供给应用载荷使用。
[0003] 对于在不同时刻获取的数据进行融合处理是没有意义的,所以位置和姿态测量系统在工作过程中必须保证各部分数据在获取时间上的一致性,也就是要解决各部分独立工作的POS系统同时获取满足数据融合处理算法对数据时间一致性要求的问题,这样从各传感器获取的数据对位置和姿态测量系统才具有应用价值,整个POS系统数据的时间同步精度越高,最终获得的导航信息精度越高。
[0004] 所谓的软件时间同步是以与世界协调时(Coordinate Universal Time,UTC)秒点高精度对齐的GPS秒脉冲作为时间基准,通过软件方法对PCS系统时钟进行实时标定以及通过软件参数实时控制调整IMU等分系统的系统运行时间,使其统一工作于UTC时间,实现位置和姿态测量系统时间的整体同步。
[0005] 现有的位置和姿态测量系统时间同步方法(公开号1:CN101105401,公开号2:CN101067656)通过利用GPS秒脉冲对系统时钟进行重置或以GPS秒脉冲为基准生成时间同步脉冲实现系统的时间同步,没有解决两个GPS秒脉冲间隔内因系统时钟漂移导致短期时间同步精度下降进而导致系统时间同步总体精度不够高的问题,而且其时间同步误差在短时间内总是向同一方向累积使得系统时间同步误差出现锯齿状跳变现像。针对位置和姿态测量系统的测量特性对时间同步精度要求很高的问题,在克服系统时钟漂移不随时间长期累积的同时,也要考虑两个GPS秒脉冲间隔内因系统时钟漂移误差导致时间同步精度下降的问题,由于在两个GPS秒脉冲时间间隔内没有时间基准,所以必须提出一种能够同时提高两个GPS秒脉冲间隔内的时间同步精度而且时间同步误差均匀围绕真值变化的时间同步方法进而提高系统总体时间同步精度。

发明内容

[0006] 本发明的技术解决问题是:克服现有技术的不足,提供一种可实时同步位置和姿态测量系统时间并修正系统时钟漂移,且时间同步精度高、抗干扰能力强的位置和姿态测量系统的软件时间同步方法。
[0007] 本发明的技术解决方案是:一种位置和姿态测量系统的软件时间同步方法,实现步骤如下:
[0008] (1)在PCS中根据GPS秒脉冲及其UTC时间数据和时间计数器将PCS时间同步到UTC时间;
[0009] (2)PCS利用GPS秒脉冲、时间计数器和IMU发送给PCS的数据采集时间同步脉冲计算出IMU的时间误差修正量,并通过串口向IMU发送时间误差修正命令;
[0010] (3)IMU响应PCS发来的误差修正命令,根据接收到的时间误差修正量,对其数据采集脉冲时钟分频周期进行修正,实现IMU时间与UTC时间的同步;
[0011] (4)IMU利用其与UTC时间同步的数据采集脉冲,对陀螺仪、加速度计和其它辅助传感器进行数据采集,使位置和姿态测量系统中GPS接收机、IMU和其它辅助传感器数据统一于UTC时间,实现位置和姿态测量系统中所有数据的时间同步;
[0012] (5)判断POS工作是否结束,如果不是,则继续执行步骤(1)至步骤(4),直到结束。
[0013] 所述步骤(1)中将PCS时间同步到UTC时间的步骤如下:
[0014] (a)在PCS当中设置一时间计数器,作为内部时间差计算的依据并用于记录每一次GPS秒脉冲到来时间;
[0015] (b)当获得与UTC秒点高精度对齐的GPS秒脉冲后,时间计数器清零,且根据两次GPS秒脉冲时间间隔内的时间计数器数值增量实时标定出PCS的系统时钟漂移率,获取PCS的系统时钟周期误差,然后根据PCS获得的与GPS秒脉冲对应的UTC时间数据及时间计数器的数值计算任一PCS系统事件发生时间直至下一GPS秒脉冲到来;
[0016] (c)在每一个GPS秒脉冲到来时,其对应的UTC时间数据由于通信传输延迟并不能立即到达PCS,所以将前一个GPS秒脉冲对应的UTC时间数据加上这两个GPS秒脉冲之间的绝对时间间隔,即获得当前GPS秒脉冲的UTC时间数据,PCS系统事件发生时刻可以根据GPS秒脉冲起始时间、时间计算器的数值及PCS系统时钟周期误差计算获得。
[0017] 步骤(1)中所述PCS系统事件发生时刻计算过程如下:PCS在系统事件发生时刻记下其时间计数器的计数值。然后根据该时间计数器对应的GPS秒脉冲及其UTC时间数据计算获得PCS系统事件发生时刻,计算方法为:PCS系统事件发生时刻=时间计数器起始UTC时间+时间计数器数值×(PCS系统时钟理论周期-PCS系统时钟周期误差);
[0018] 所述步骤(2)中IMU时间误差修正量的具体获取步骤如下:由于IMU系统时钟存在误差,假设当IMU的数据采集时钟分频周期为a时相应的数据采集脉冲时间长度短于GPS秒脉冲,当IMU的数据采集时钟分频周期为a+1时相应的数据采集脉冲时间长度长于GPS秒脉冲,则PCS通过时间计数器获取GPS秒脉冲与IMU发来的数据采集时间同步脉冲的时间差,然后PCS根据该时间差计算出IMU的数据采集脉冲时钟分频周期分别为a的个数和a+1的个数,以便在下一个GPS秒脉冲到来时IMU的数据采集时间同步脉冲与GPS秒脉冲对齐,时间差为零,根据当前的IMU时钟分频周期及计算出的时钟分步周期即可获得IMU的数据采集脉冲时钟分频周期误差,即IMU的时间误差修正量;
[0019] 所述步骤(3)中对IMU的数据采集脉冲时钟分频周期进行修正的过程如下:在IMU接收到PCS通过串口发来的时间误差修正量后自行对其下一阶段的数据采集脉冲时钟分频周期进行修正,第一种情况为当数据采集脉冲时钟分频周期为a的个数大于分频周期为a+1的个数时,应当根据分频周期为a的个数相对于分频周期为a+1个数的整数倍而交替修正数据采集脉冲的时钟分频周期,使得时钟分频周期为a的个数是时钟分频周期为a+1个数的整数倍且两者均匀出现在下一阶段的整个时钟分频过程,第二种情况是当数据采集脉冲时钟分频周期为a的个数小于分频周期为a+1的个数时,处理方法与第一种情况相反;在保证IMU时钟漂移误差累积时间最短的同时实现IMU时间与UTC时间的高精度同步。
[0020] 本发明的原理是:本发明是在PCS获得与UTC时间同步的GPS秒脉冲后,利用内部时间计数器计算获得PCS系统时间,实现PCS与UTC时间的同步,然后比较IMU发送给PCS的数据采集时间同步脉冲与GPS秒脉冲的时间差获取IMU的时间误差修正量,通过发送时间误差修正命令对IMU的数据采集脉冲时钟分频周期进行修正,实现IMU与UTC时间的同步,最终实现位置和姿态测量系统时间的整体同步;其中位置和姿态测量系统的工作原理框图如图2所示,系统由PCS、IMU和GPS接收机等组成,GPS接收机向PCS发送GPS秒脉冲和UTC时间数据、IMU对陀螺仪、加速度计等传感器进行数据采集并将采集结果及数据采集时间同步脉冲发送给PCS,然后PCS对GPS接收机和IMU发来的信号进行处理并向IMU反馈时间误差修正信号。
[0021] 本发明利用GPS秒脉冲实现PCS时间与UTC时间同步的过程如图3。PCS每收到一次GPS秒脉冲,即对应一个UTC时数数据,同时记下PCS时间计数器的数值,然后对其清零;通过比较清零前的时间记数器的数值及时间计算器开始与结束时刻对应GPS秒脉冲的UTC时间差获得时间计数器的时钟漂移率即PCS系统时钟误差;在某一PCS系统事件到来时,利用PCS系统事件到来时刻时间计数器的数值及PCS系统时钟误差可以计算得到时间差Δt,PCS系统事件发生时刻即为GPS秒脉冲对应的UTC时间数据加上该时间差Δt,假设系统事件1发生的UTC时刻为SYS_TIME1,在系统事件1到来时根据时间计数器计算得到的时间差为Δt1,此时的时间计数器起始时刻对应的GPS秒脉冲UTC时间数据为UTC1,则系统事件1发生时刻SYS_TIME1为:
[0022] SYS_TIME1=UTC1+Δt1 (1)
[0023] 在PCS时间同步到UTC时间后,对IMU的时间同步过程如图4,IMU在进行数据采集的同时向PCS发送数据采集时间同步脉冲,PCS通过比较GPS秒脉冲与IMU数据采集时间同步脉冲的时间差获得时间误差信号Δt,然后PCS根据Δt的大小及时间同步脉冲的时间靠前或滞后于GPS秒脉冲的情况计算出IMU时间误差修正量,PCS将该时间误差修正量以命令形式发送给IMU并由IMU响应该命令,实现Δt最小且在真值上下波动,完成IMU时间与UTC时间的同步。
[0024] 本发明与现有技术相比的优点在于:
[0025] (1)本发明通过时间计数器计算的方法实现PCS与UTC时间的高精度同步,将PCS时钟漂移进行实时测量标定,使得长时间工作情况下POS时间同步精度受时钟漂移影响小,具有时间同步精度高,时间同步均匀度好,便于实现的优点。
[0026] (2)本发明的时间同步精度优于传统的时间同步方法,一般的时间同步方法是通过引入GPS秒脉冲然后重置系统时间或以GPS秒脉冲为基准生成时间同步脉冲实现系统的时间同步,这样在两次GPS秒脉冲间隔内系统时钟漂移会向同一个方向累积,导致系统时间同步误差向同样方向累积,而本发明的时间同步方法则是考虑了两次GPS秒脉冲时间间隔内的系统时钟漂移误差,使时间同步误差始终稳定在真值上下,实现时间同步精度的最优。
[0027] (3)本发明的时间同步可靠性高,本发明的时间同步方法是软件同步,通过软件计算及时间同步参数的更新来实现对时间同步过程的控制,易于实时对异常情况进行判别,提高时间同步可靠性,在GPS信号失锁时,由于时钟漂移的慢变特性及系统实时标定更新时间同步参数的特点,系统根据GPS失锁前的时间同步参数进行时间同步,也能保持很好的时间同步精度。

附图说明

[0028] 图1为本发明的软件时间同步方法流程图;
[0029] 图2为位置和姿态测量系统工作原理框图;
[0030] 图3为本发明的PCS时间同步到UTC时间过程原理示意图;
[0031] 图4为本发明的IMU时间同步到UTC时间过程原理示意图;
[0032] 图5为本发明的POS时间同步误差累积情况示意图;
[0033] 图6为本发明的PCS与IMU时间同步时序流程图。

具体实施方式

[0034] 如图2所示,位置和姿态测量系统由PCS、IMU、GPS接收机等组成。IMU由三只陀螺仪、三只加速度计、其它传感器如温度传感器等以及完成传感器数据采集并实现对外通讯的一块数字化信号采集通讯电路组成;IMU独立工作并对陀螺仪、加速度计数据进行数据采集,其系统时钟由FPGA芯片XC3S400-4PQ208C通过25M晶振分频得到,根据应用需要,设定IMU数据采集频率为100Hz。本实施例中PCS采用DSP芯片TMS320C6713B和FPGA芯片XC3S400-4PQ208C协调工作方式完成PCS的时间同步及对IMU的交互,PCS的时间计数器设置在FPGA内部,其最小时间分辨率为1/25M=40ns。
[0035] 本发明的具体实施方式如图1所示:
[0036] (1)POS开机启动后,将PCS时间同步到UTC时间。包括:
[0037] ①POS在上电时,由FPGA启动其内部时间计数器,在FPGA接收到GPS秒脉冲后向DSP发送中断信号并对时间计数器清零,然后DSP从FPGA中读取GPS秒脉冲UTC时间数据及时间计数器已累积的数值。
[0038] ②假设在1s时间间隔的两次GPS秒脉冲内时间计数器的数值增量为n1,而1s内时间计数器的数理论值为n2即25M,则在这两次GPS秒脉冲间隔内PCS的25M时钟漂移误差为:1000000*(n1-n2)/(n1*n2),单位为:微秒。
[0039] ③在产生某一PCS系统事件时,外部事件发生时间由FPGA的时间计数器记录并通知DSP,由DSP完成PCS系统事件时间计算;PCS内部事件可直接由DSP从FPGA里读取时间计数器数值完成PCS系统事件时间计算,在进行时间计算时同时依据时间计数器的数值和第②步中实时获得的PCS系统时钟周期误差;具体计算方法为:
[0040] 假设PCS系统事件发生时时间计数器的数值为n3,对应于n3起始计数开始时间GPS秒脉冲的UTC时间数据为GPS_UTC,则该PCS系统事件发生时间SYS_UTC的UTC时间表示为:
[0041] SYS_UTC=GPS_UTC+n3/25M-n3×1s/(n1-n2) (2)
[0042] (2)POS上电后,IMU开始默认对陀螺仪、加速度计及温度传感器等进行100Hz采样,并把数据采集时间同步脉冲及采集结果发送给PCS,PCS的FPGA在收到IMU的数据采集时间同步脉冲后,将其与GPS秒脉冲时间进行比对,并计算IMU时间误差修正量,然后通过RS-422串口将该时间误差修正量发送给IMU。其中IMU误差修正量的具体确定方法如下:
[0043] 假设IMU的晶振无漂移,则25M晶振分频出10ms周期脉冲所需理论系统周期个数k为:k=25M*10ms/2=125000;然后根据在k次系统时钟周期下10ms周期脉冲相对于GPS秒脉冲漂移的方向确定新的周期数k1,使k1满足在系统周期数为k1情况下10ms周期脉冲累积100次时间短于GPS秒脉冲长度,而在系统周期数为k1+1情况下10ms周期脉冲累积100次时间长于GPS秒脉冲长度,一般k与k1差值小于10,取决于晶振精度;然后根据PCS内部的时间计数器获取10ms周期脉冲与GPS秒脉冲之间的时间差Δt,假设10ms周期脉冲滞后GPS秒脉冲时定义Δt<0,否则Δt≥0,且1s内IMU通过25M晶振进行200次分频获得的100个10ms周期中系统分频周期个数为k1的有a个,分频周期为k1+1的有b个,则有以下公式成立:
[0044] (k1+1)*a+k1*b=(1s-Δt)*25M/2
[0045] a+b=200
[0046] 由以上公式确定a与b值大小并取整且保证a+b=200,然后由PCS将a与b的值发送给IMU。
[0047] (3)IMU通过响应PCS发来的时间误差修正量a和b,改变其数据采集脉冲分频周期,实现IMU数据采集时间与UTC时间的同步。然后IMU的FPGA利用分频周期不断被校正的10ms周期数据采集脉冲对陀螺仪、加速度计等传感器数据进行采集并发送给PCS进行数据处理。IMU响应PCS发来的时间误差修正量的具体过程如下:
[0048] IMU根据a与b的个数进行10ms周期分频个数k1与k1+1的均匀交替调整,使a与b代表的分频周期在1s内均匀分布在200次10ms周期分频之间;在下一次GPS秒脉冲到来时,重新确定a和b值的大小并执行同样的操作,这样在两次GPS秒脉冲间隔内同样在对IMU系统时钟进行修正,使IMU时间同步误差漂移方向交替向前或向后,最终在下一个GPS秒脉冲的秒点使得IMU数据采集时间与GPS秒脉冲的时间差最小,如图5中的时间同步误差A所示,不同于仅在GPS秒脉冲到来时进行一次系统时钟重置导致系统时间同步误差向同一方向累积的传统方法,如图5中时间同步误差B所示。
[0049] PCS与IMU之间时间同步的程序流程图如图6所示。
[0050] 本发明可以作为一种适用于IMU、GPS接收机、磁强计、高度表等多传感器多个独立工作数据采集系统而又进行数据集中处理的导航测量系统时间同步方法,应用者可以根据其具体需求对时间同步时序进行调整,以实现系统时间的整体同步。
[0051] 本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。