一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于嵌入式系统的SINS_GNSS时间同步方法及系统与流程

2022-04-09 07:16:31 来源:中国专利 TAG:

用于嵌入式系统的sins_gnss时间同步方法及系统
技术领域
1.本发明属于惯导技术领域,具体涉及一种用于嵌入式系统的sins_gnss时间同步方法及系统。


背景技术:

2.捷联惯导系统(sins)由陀螺、加速度计、导航计算机等实现自主导航,通过器件的输出及导航计算机的导航解算,能够提供角速度、加速度以及姿态、速度、位置信息,由于器件和算法上的误差,其最终导航误差随时间积累,不能长时间维持精度。目前环境下gnss系统成熟实用,可连续提供载体的速度位置信息,双天线条件下还能提供航向信息,但其更新频率慢且易受干扰和遮挡,容易出现数据无效的情况。sins_gnss组合导航系统融合互补了gnss长期定位精度高及sins短期定位定向精度高且更新频率快的特性,实现了高输出频率长时间精度高的组合导航系统,得到了各领域广泛的应用。
3.组合导航采用成熟的kalman滤波器估计惯性导航系统的各项误差,再用误差状态估值来校正系统的姿态、速度、位置以及器件误差。在实际的嵌入式系统中,因为硬件传输通讯延迟和数据更新率不同,gnss数据从秒脉冲时刻获取到sins接收需要一段时间,特别在弹用惯导的高动态和大加速度环境下,如不进行同步补偿则会影响组合导航的精度,严重时甚至可能导致滤波发散。
4.目前时间同步的方法主要有硬件同步和软硬件结合,硬件同步在实际中需要增加额外硬件,增加硬件成本和负担。软硬件结合上,有把时间不同步作为kalman滤波的状态变量的方法进行时时滤波估计,但在实际系统中时间不同步不为随机常值,不符合误差模型原理,滤波估计效果并不太好;还有基于惯导短期精度高的特点,把pps时刻到sins接收时刻之间的导解解算出的增量补偿到gnss中,但是仍存在惯导解算误差,且这种方法在滤波中会降低系统的可靠性。故需要准确补偿sins和gnss之间的时间不同步或通过其他方法避免时间不同步误差。


技术实现要素:

5.本发明克服了现有技术的不足之一,提供了一种用于嵌入式系统的sins_gnss时间同步方法及系统,能够在没有惯导解算误差和模型原理误差的基础上避免了pps时刻与接收gnss数据之间的不同步误差,提高了sins_gnss组合导航精度。
6.根据本公开的一方面,本发明提供一种用于嵌入式系统的sins_gnss时间同步方法,所述方法包括:
7.步骤s1:读取和保存imu数据,对所述imu数据进行惯性解算得到所述sins_gnss的速度信息和位置信息,
8.步骤s2:在接收到有效pps信号周期内,通过dsp定时器测量pps信号的位置;
9.步骤s3:对所述imu数据和经惯性解算得到的sins_gnss的速度信息和位置信息进行线性插值计算所述pps位置处惯导的速度信息和位置信息;
10.步骤s4:在接收到对应pps位置处有效的gnss的速度信息和位置信息时进行kalman滤波,采用同一时刻的所述pps位置处的gnss的速度信息和位置信息,与惯导的速度信息和位置信息进行嵌入式系统的时间更新和量测更新。
11.在一种可能的实现方式中,所述对所述imu数据进行kalman滤波得到所述sins_gnss的速度信息和位置信息,包括:
12.建立用于对imu数据进行kalman滤波的系统方程和量测方程;
13.读取所述sins_gnss导航系统的imu数据,利用所述kalman滤波系统方程和量测方程对所述imu数据进行kalman滤波得到所述sins_gnss的速度信息和位置信息。
14.在一种可能的实现方式中,所述kalman滤波系统方程为x为系统误差状态变量,w为系统噪声变量,f为系统状态转移矩阵,g为系统噪声转换矩阵;
15.所述kalman滤波量测方程为z=hx v,其中,z为量测向量,h为量测矩阵,v为量测噪声向量。
16.根据本公开的另一方面,提出了一种用于嵌入式系统的sins_gnss时间同步系统,所述系统包括:
17.imu数据解算模块,用于读取和保存imu数据,对所述imu数据进行惯性解算得到所述sins_gnss的速度信息和位置信息;
18.pps信号位置测量模块,用于在接收到有效pps信号周期内,通过dsp定时器测量pps信号的位置;
19.线性插值计算模块,用于对所述imu数据和经惯性解算得到的sins_gnss的速度信息和位置信息进行线性插值计算所述pps位置处的惯导的速度信息和位置信息;
20.滤波更新模块,用于在接收到对应pps位置处有效的gnss的速度信息和位置信息时进行kalman滤波,采用同一时刻的所述pps位置处的gnss的速度信息和位置信息,与惯导的速度信息和位置信息进行嵌入式系统的时间更新和量测更新。
21.在一种可能的实现方式中,所述滤波更新模块包括:
22.建立用于对imu数据进行kalman滤波的系统方程和量测方程;
23.读取所述sins_gnss导航系统的imu数据,利用所述kalman滤波系统方程和量测方程对所述imu数据进行kalman滤波得到所述sins_gnss的速度信息和位置信息。
24.在一种可能的实现方式中,所述kalman滤波系统方程为x为系统误差状态变量,w为系统噪声变量,f为系统状态转移矩阵,g为系统噪声转换矩阵;
25.所述kalman滤波量测方程为z=hx v,其中,z为量测向量,h为量测矩阵,v为量测噪声向量。
26.本公开的用于嵌入式系统的sins_gnss时间同步方法,通过存储pps时刻的惯导信息,在收到gnss信息时刻进行组合导航,在不增加硬件成本和负担且没有惯导解算误差和模型原理误差的情况下,sins和gnss在滤波时刻不存在时间不同步误差,得到了最优的滤波效果,最终提高了组合导航系统的精度。
附图说明
27.附图用来提供对本技术的技术方案或现有技术的进一步理解,并且构成说明书的一部分。其中,表达本技术实施例的附图与本技术的实施例一起用于解释本技术的技术方
案,但并不构成对本技术技术方案的限制。
28.图1示出了根据本公开一实施例的用于嵌入式系统的sins_gnss时间同步方法流程图;
29.图2示出了根据本公开另一实施例的用于嵌入式系统的sins_gnss时间同步方法流程图;
30.图3示出了根据本公开一实施例sins和gnss信号接收示意图;
31.图4示出了根据本公开一实施例的用于嵌入式系统的sins_gnss时间同步系统原理框图。
具体实施方式
32.以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达到相应技术效果的实现过程能充分理解并据以实施。本技术实施例以及实施例中的各个特征,在不相冲突前提下可以相互结合,所形成的技术方案均在本发明的保护范围之内。
33.图1示出了根据本公开一实施例的用于嵌入式系统的sins_gnss时间同步方法流程图。如图1所示,该方法可以包括:
34.步骤s1:读取和保存imu数据,对所述imu数据进行惯性解算得到所述sins_gnss的速度信息和位置信息;
35.步骤s2:在接收到有效pps信号周期内,通过dsp定时器测量pps信号的位置;
36.步骤s3:对所述imu数据和经惯性解算得到的sins_gnss的速度信息和位置信息进行线性插值计算所述pps位置处的惯导的速度信息和位置信息;
37.步骤s4:在接收到对应pps位置处有效的gnss的速度信息和位置信息时进行kalman滤波,采用同一时刻的所述pps位置处的gnss的速度信息和位置信息,与惯导的速度信息和位置信息进行嵌入式系统的时间更新和量测更新。
38.图2示出了根据本公开另一实施例的用于嵌入式系统的sins_gnss时间同步方法流程图;图3示出了根据本公开一实施例sins和gnss信号接收示意图。
39.如图2所示,用于嵌入式系统的sins_gnss时间同步方法的具体实现方式为:
40.首先,建立用于惯导解算的kalman滤波系统方程和量测方程,其中,kalman滤波系统方程为x为系统误差状态变量,w为系统噪声变量,f为系统状态转移矩阵,g为系统噪声转换矩阵。量测方程为z=hx v,其中,z为量测向量,h为量测矩阵,v为量测噪声向量。在利用kalman滤波系统方程滤波时,初始化状态转移矩阵φ
k,k-1,fit
置为单位矩阵,系统噪声矩阵q
k-1,fit
置为零矩阵。
41.sins_gnss导航系统的计算机读取imu数据进行纯惯性解算得到sins_gnss的速度信息和位置信息,并缓存imu数据解算前的sins_gnss的速度和位置信息,同时进行状态转移矩阵φ
k,k-1
的计算和系统噪声矩阵q
k-1
的计算:
[0042][0043]
[0044]
其中,fi为每个周期内的系统状态转移矩阵,ts为解算周期,q为系统噪声方差矩阵,gi为每个周期内的系统噪声转换矩阵,n为本次pps时刻和上次pps时刻间隔时间内的dsp的周期个数。
[0045]
在实际运行中,pps频率为严格1hz,误差为纳秒级时认为pps频率绝对精确,而gnss存在某一帧无效或因误码出现校验和错误收不到的情况,gps频率小于等于1hz。每当在接收到有效pps信号的周期内,通过dsp定时器测量pps信号落在周期内的位置,通过解算后的sins_gnss的速度信息和位置信息和缓存的前一周期的imu数据信息经过线性插值计算pps时刻惯导的速度信息和位置信息,并将此刻得到惯导的速度信息和位置信息锁存后供后续kalman滤波使用,更新kalman滤波的步状态转移矩阵和系统噪声矩阵:
[0046]
φk′
,k-1,fit
=φ
k,k-1,fit
φ
k,k-1
,
[0047]
qk′-1,fit
=q
k-1,fit
q
k-1
,
[0048]
其中,φ
k,k-1
为本次pps间隔内的一步状态转移矩阵,φ
k,k-1,fit
为上次pps时刻的一步状态转移矩阵,若gnss有效且不丢帧,则为单位矩阵,φk′
,k-1,fit
为更新后本次pps时刻的一步状态转移矩阵,q
k-1
为本次pps间隔内的系统噪声矩阵,q
k-1,fit
为上次pps时刻的系统噪声矩阵,若gnss有效且不丢帧,则为零矩阵,qk′-1,fit
为更新后本次pps时刻的系统噪声矩阵。
[0049]
如图2所示,在接收到对应pps的有效gnss速度信息和位置信息的周期内进行滤波得到对应pps时刻的gnss速度信息和位置信息,与对应pps时刻锁存的惯导速度位置为同一时刻的信息,进行时间更新和量测更新,避免了惯导的模型原理误差和短时解算误差,滤波完成后重置φ
k,k-1,fit
为单位矩阵,q
k-1,fit
为零矩阵,等待下一次滤波。
[0050]
其中,时间更新包括:状态一步预测向量更新和一步预测均方误差矩阵更新。状态一步预测向量更新:x
k/k-1
=φ
k,k-1,fit
x
k-1
,一步预测均方误差矩阵更新:
[0051]
量测更新包括滤波增益、状态估值计算和估计均方误差矩阵。其中,滤波增益:其中rk为量测噪声向量的协方差矩阵。状态估值计算:xk=x
k/k-1
kk(z
k-hkx
k/k-1
),估计均方误差矩阵:通过上述公式可以实现嵌入式系统的sins_gnss时间同步和最新状态的更新。
[0052]
图4示出了根据本公开一实施例的用于嵌入式系统的sins_gnss时间同步系统原理框图。
[0053]
根据本公开的另一方面,提出了一种用于嵌入式系统的sins_gnss时间同步系统,如图4所示,该系统可以包括:
[0054]
imu数据解算模块41,用于读取和保存imu数据,对所述imu数据进行惯性解算得到所述sins_gnss的速度信息和位置信息;
[0055]
pps信号位置测量模块42,用于在接收到有效pps信号周期内,通过dsp定时器测量pps信号的位置;
[0056]
线性插值计算模块43,用于对所述imu数据和经惯性解算得到的sins_gnss的速度信息和位置信息进行线性插值计算所述pps位置处的惯导的速度信息和位置信息;
[0057]
滤波更新模块44,用于在接收到对应pps位置处有效的gnss的速度信息和位置信息时进行滤波,采用同一时刻的所述pps位置处的gnss的速度信息和位置信息,与惯导的速度信息和位置信息进行嵌入式系统的时间更新和量测更新。
[0058]
在一示例中,滤波更新模块44包括:
[0059]
建立用于对imu数据进行kalman滤波的系统方程和量测方程;
[0060]
读取所述sins_gnss导航系统的imu数据,利用所述kalman滤波系统方程和量测方程对所述imu数据进行kalman滤波得到所述sins_gnss的速度信息和位置信息。
[0061]
在一示例中,所述kalman滤波系统方程为x为系统误差状态变量,w为系统噪声变量,f为系统状态转移矩阵,g为系统噪声转换矩阵;
[0062]
所述kalman滤波量测方程为z=hx v,其中,z为量测向量,h为量测矩阵,v为量测噪声向量。
[0063]
本公开的用于嵌入式系统的sins_gnss时间同步方法和系统,读取和保存imu数据,对所述imu数据进行惯性解算得到所述sins_gnss的速度信息和位置信息,在接收到有效pps信号周期内,通过dsp定时器测量pps信号的位置;对所述imu数据和经惯性解算得到的sins_gnss的速度信息和位置信息进行线性插值计算所述pps位置处惯导的速度信息和位置信息;在接收到对应pps位置处有效的gnss的速度信息和位置信息时进行kalman滤波,采用同一时刻的所述pps位置处的gnss的速度信息和位置信息,与惯导的速度信息和位置信息进行嵌入式系统的时间更新和量测更新。能够在不增加硬件成本和负担且没有惯导解算误差和模型原理误差的情况下,sins和gnss在滤波时刻不存在时间不同步误差,得到了最优的滤波效果,最终提高了组合导航系统的精度。
[0064]
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献