掌桥专利:专业的专利平台
掌桥专利
首页

一种用于RTK终端的高频率解算方法

文献发布时间:2023-06-19 19:30:30


一种用于RTK终端的高频率解算方法

技术领域

本发明涉及RTK终端技术领域,具体涉及一种用于RTK终端的高频率解算方法。

背景技术

通常,RTK定位解算的过程包括浮点解计算、模糊度固定和最小二乘位置计算三个部分。由于GNSS终端的硬件资源(特别是低成本终端的内存和计算资源)相对匮乏,并且基带、固件和调度程序也会占用一定的硬件资源,可供RTK算法使用的计算资源比较有限。此外,当基线长度较长或电离层活跃时,空间大气误差不能被消除或削弱,将会严重影响RTK定位精度和固定率。因此,常规解法用于RTK终端高频率解算会有如下问题:

第一、严重增加终端硬件的负载,无法满足高频率定位输出。终端设备搭载的处理器一般是单核或双核处理器,主频通常只有几百兆MHz,且这些计算资源既要分配给外围的其他程序,也要保证算法的稳定运行。而常规解算方法的计算量非差大(主要集中在浮点解滤波算法和模糊度搜索算法,且观测值数量越多解算效率越低),因此,在高频场景下常规解算过程无法在历元间隔的时间内完成,其他程序无法及时得到计算资源,导致解算流程的阻塞或历元数据的丢失,无法实现高频率定位结果的输出。

第二,当观测环境较差时,最小二乘法定位精度会变差。最小二乘法只使用了当前历元已锁定模糊度的载波相位观测信息,而RTK的定位精度与参与解算卫星的几何构型有很大的关系。当观测环境较差(遮挡/半遮挡环境)或频繁发生周跳时,当前历元模糊度被锁定的卫星数目较少导致参与解算的卫星几何构型较差,从而造成定位精度的下降或粗差。

第三,只适用于短基线,无法满足中长基线和电离层活跃场景的应用。近年来太阳活动周期趋于高峰年,受此影响电离层的活跃程度也明显上升。在电离层活跃地区(我们南方地区)或时段,如不考虑电离层延迟的影响,即便是中短基线也难以保证RTK连续稳定获取高精度固定解。

有鉴于此,需要对现有的RTK终端的解算方法进行改进,以实现RTK终端的高频率定位解算。

发明内容

针对上述缺陷,本发明所要解决的技术问题在于提供一种用于RTK终端的高频率解算方法,以解决现有技术由于GNSS终端板卡或模块自身计算资源不够或性能不足,导致终端算法无法支持高频率RTK定位解算的问题。

为此,本发明提供的一种用于RTK终端的高频率解算方法,包括以下步骤:

设置高频和低频两个线程,根据待估计参数的时变特性,采用低频线程估计载波相位模糊度;根据低频线程解算结果,采用高频线程对观测模型进行修正,得到终端的位置参数;

检测低频线程解算结果的数据更新事件,并发出相应的控制信号,对高频和低频线程进行调度,具体步骤如下:

步骤211,在高频线程和低频线程第一次启动时,注册信号事件和信号处理函数;

步骤212,实时检测数据缓冲区内的数据更新事件;

步骤213,当检测到数据更新事件时,向低频线程发送线程挂起信号,挂起低频线程;向高频线程发送第一信号,第一信号处理函数接收第一信号后,恢复执行高频线程,高频解算模块从数据缓冲区获取更新的低频线程解算结果,对观测模型进行修正,待当前历元处理完成后挂起高频线程;

步骤214,向低频线程发送第二信号,第二信号处理函数接收第二信号后,恢复执行低频线程,低频解算模块估计载波相位模糊度,解算完成后将模糊度保存到数据缓冲区,产生数据更新事件,然后挂起低频线程;

步骤215,判断是否收到终端停止结算命令,如果未收到,转步骤212;否则结束结算。

在上述方法中,优选地,高频解算模块采用卡尔曼滤波算法进行高频解算,在状态更新阶段引入顾及速度和加速度的动力学模型对终端的位置进行预测和约束;所述动力学模型为:

P

V

其中,P

在上述方法中,优选地,高频解算模块中用于量测更新的观测值类型包括伪距观测值和无模糊度的载波观测值。

在上述方法中,优选地,低频解算模块采用顾及空间大气参数的观测模型,将模糊度参数和大气参数同时估计。

在上述方法中,优选地,顾及空间大气参数的观测模型如下:

其中,i和j是频率标记,p和q是卫星,b和r是参考站和移动站,λ是频率,

在上述方法中,优选地,低频解算模块的采样频率不高于1Hz。

在上述方法中,优选地,卡尔曼滤波的状态更新方程如下:

其中:

待估计的状态参数形式如下:

X={x,y,z,vx,y,vz,x,ay,z,clk,vclk},其中,x,y,z是位置参数,vx,vy,vz是速度参数,ax,ay,az是加速度参数,clk是接收机钟差参数,vclk是接收机钟速参数;

状态转移矩阵T及其噪声阵W的具体形式如下:

其中,tt=0.5

本发明还提供了一种用于RTK终端的高频率解算系统,设置在RTK终端上,包括:

低频解算模块,用于估计载波相位模糊度;

高频解算模块,用于根据低频线程解算结果,对观测模型进行修正,得到终端的位置参数;

线程调度模块,检测低频线程解算结果的数据更新事件,并发出相应的控制信号,对高频和低频线程进行调度,并配置为:

在高频线程和低频线程第一次启动时,注册信号事件和信号处理函数;

实时检测数据缓冲区内的数据更新事件;

当检测到数据更新事件时,向低频线程发送线程挂起信号,挂起低频线程;向高频线程发送第一信号,第一信号处理函数接收第一信号后,恢复执行高频线程,高频解算模块从数据缓冲区获取更新的低频线程解算结果,对观测模型进行修正,待当前历元处理完成后挂起高频线程;

向低频线程发送第二信号,第二信号处理函数接收第二信号后,恢复执行低频线程,低频解算模块估计载波相位模糊度,解算完成后将模糊度保存到数据缓冲区,产生数据更新事件,然后挂起低频线程;

根据是否收到终端停止结算命令,继续实时检测数据缓冲区内的数据更新事件,或者结束结算。

在上述系统中,优选地,高频解算模块采用卡尔曼滤波算法进行高频解算,在状态更新阶段引入顾及速度和加速度的动力学模型对终端的位置进行预测和约束;所述动力学模型为:

P

V

其中,P

在上述系统中,优选地,低频解算采用顾及空间大气参数的观测模型,将模糊度参数和大气参数同时估计。

由上述技术方案可知,本发明提供的一种用于RTK终端的高频率解算方法,解决了现有技术由于GNSS终端板卡或模块自身计算资源不够或性能不足,导致终端算法无法支持高频率RTK定位解算的问题。与现有技术相比,本发明具有以下有益效果:

通过高/低频双线程解算的方式,高频线程负责位置参数解算,低频线程负责模糊度解算,实现高频率RTK定位结果更新,通过时变参数和时不变参数估计方式的分离,减少了单历元RTK计算耗时,降低全量参数估计的频率,提升解算效率并降低硬件负载。

附图说明

为了更清楚地说明本发明的实施例或现有技术中的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图做出简单地介绍和说明。显而易见地,下面描述中的附图仅仅是本发明的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种用于RTK终端的高频率解算方法流程图;

图2为本发明算法与常规算法的解算效率对比示意图;

图3为本发明算法与常规算法的定位效果对比(U方向)示意图;

图4为本发明中高频解算模块算法与常规的最小二乘算法解算效率对比示意图;

图5为本发明中高频解算模块算法与常规的最小二乘算法定位效果对比(U方向)示意图。

具体实施方式

下面将结合本发明实施例附图,对本发明实施例的技术方案进行清楚、完整地描述,显然,以下所描述的实施例,仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下,所获得的所有其他实施例,都属于本发明保护的范围。

本发明的实现原理是:

根据时变参数和时不变参数的特性,将常规解算方法的全量参数估计分解为低频解算模块和高频解算模块两个解算模块,其中低频解算模块主要负责载波相位整周模糊度估计,而高频模块负责终端位置参数的估计,通过高低频双线程调度保证高频解算的时效性,提高了算法的整体解算效率,降低了终端的计算负载。

为了对本发明的技术方案和实现方式做出更清楚地解释和说明,以下介绍实现本发明技术方案的几个优选的具体实施例。

需要说明的是,本文中“内、外”、“前、后”及“左、右”等方位词是以产品使用状态为基准对象进行的表述,显然,相应方位词的使用对本方案的保护范围并非构成限制。

请参见图1,图1为本发明提供的一种用于RTK终端的高频率解算方法流程图。

如图1所示,本发明提供的一种用于RTK终端的高频率解算方法,包括以下步骤:

步骤100,RTK终端设置高频解算和低频解算两个线程,根据待估计参数的时变特性,采用低频线程估计载波相位模糊度,根据低频线程解算结果,采用高频线程对观测模型进行修正,得到终端的位置参数。

步骤200,检测低频线程解算结果的数据更新事件,并发出相应的控制信号,对高频和低频线程进行调度,具体步骤如下:

步骤211,在高频线程和低频线程第一次启动时,注册信号事件和信号处理函数;

步骤212,实时检测数据缓冲区内的数据更新事件;

步骤213,当检测到数据更新事件时,向低频线程发送线程挂起信号,挂起低频线程;向高频线程发送第一信号,第一信号处理函数接收第一信号后,恢复执行高频线程,高频解算模块从数据缓冲区获取更新的低频线程解算结果,对观测模型进行修正,待当前历元处理完成后挂起高频线程;

步骤214,向低频线程发送第二信号,第二信号处理函数接收第二信号后,恢复执行低频线程,低频解算模块估计载波相位模糊度,解算完成后将模糊度保存到数据缓冲区,产生数据更新事件,然后挂起低频线程;

步骤215,判断是否收到终端停止结算命令,如果未收到,转步骤212;否则结束结算。

本发明方法中,考虑到中长基线和电离层活跃时空间大气不可忽略的因素,在低频解算模块中引入了顾及空间大气参数的观测模型,将模糊度参数和大气参数同时估计,兼容了中长基线和大气活跃场景下的应用。

顾及空间大气参数的观测模型如下:

其中,i和j是频率标记,p和q是卫星,b和r是参考站和移动站,λ是频率,

对于N个频率,M颗卫星(不包括参考星)的情况下,总共可得到1+M+2×N×M个观测方程,待估计参数包括3个坐标参数、2个对流层参数、M个电离层参数和N×M个模糊度参数。

将上述观测方程写成如下矩阵的形式:

V=HX-L,其中:

低频解算模块通过低频线程负责模糊度参数和电离层参数、天顶对流层参数等大气参数的解算,并输出至数据缓冲区,参数估计过程与常规方法一致。

在无周跳发生的情况下,历元间的模糊度参数保持不变;而且当历元间隔很小时(高频情况下小于1s),大气参数也可近似认为不变,因此低频解算模块的解算频率可以不高于1Hz,甚至数秒解算一次,大大降低了计算负载。

本发明方法,为保证在复杂环境下的定位稳定性和定位精度,高频解算模块采用顾及动力学模型约束的卡尔曼滤波算法,并且综合使用伪距和无模糊度载波观测量,在保证解算效率的同时,又提高了算法在复杂场景下定位解果的平滑性、稳定性和可靠性,提高定位精度。

动力学模型如下:

P

V

其中,P

常规算法是以伪距单点定位的结果作为RTK的位置初值,当引入动力学模型后,将卡尔曼滤波的状态更新方程做如下调整:

其中:

待估计的状态参数形式如下:

X={x,y,z,vx,vy,vz,ax,ay,az,clk,vclk},其中,x,y,z是位置参数,vx,vy,vz是速度参数,ax,ay,az是加速度参数,clk是接收机钟差参数,vclk是接收机钟速参数;

状态转移矩阵T及其噪声阵W的具体形式如下:

其中,tt=0.5

卡尔曼滤波的量测更新的形式如下:

其中,Z是新息向量,L是观测向量,R是观测值的噪声阵,H是设计矩阵。

在进行量测更新时,常规算法的观测值向量只用到了固定了模糊度的载波相位观测值,在环境较差时难以保证定位结果的精度和稳定性。本发明中,为保证定位解算的可靠性,高频线程中用于量测更新的观测值类型包括伪距观测值和无模糊度的载波观测值。

基于上述方法,本发明还提供了一种用于RTK终端的高频率解算系统,设置在RTK终端上,包括:

低频解算模块,用于估计载波相位模糊度;

高频解算模块,用于根据低频线程解算结果,对观测模型进行修正,得到终端的位置参数;

线程调度模块,检测低频线程解算结果的数据更新事件,并发出相应的控制信号,对高频和低频线程进行调度,并配置为:

在高频线程和低频线程第一次启动时,注册信号事件和信号处理函数;

实时检测数据缓冲区内的数据更新事件;

当检测到数据更新事件时,向低频线程发送线程挂起信号,挂起低频线程;向高频线程发送第一信号,第一信号处理函数接收第一信号后,恢复执行高频线程,高频解算模块从数据缓冲区获取更新的低频线程解算结果,对观测模型进行修正,待当前历元处理完成后挂起高频线程;

向低频线程发送第二信号,第二信号处理函数接收第二信号后,恢复执行低频线程,低频解算模块估计载波相位模糊度,解算完成后将模糊度保存到数据缓冲区,产生数据更新事件,然后挂起低频线程;

根据是否收到终端停止结算命令,继续实时检测数据缓冲区内的数据更新事件,或者结束结算。

如图2、图3、图4、图5所示,其中浅色为常规算法,深色为本发明算法(如图2中的下部曲线),本发明与常规算法相比,在耗时相当的情况下,本发明的定位效果更好。

综合以上具体实施例的描述,本发明提供的智能化实时AR工程测量方法,与现有技术相比,具有如下优点:

第一,现有技术一般是将所有的待估参数进行一次求解,由于观测值和待估参数的个数较多,导致数值计算的矩阵维数很大,严重影响了算法的解算效率,不能满足高频定位的要求。本发明将常规RTK算法进行分解,根据待估计参数的时变特性,采用高频+低频的双线程解算方案,通过信号中断+线程锁的方式进行线程间的调度,保证了高频解算的优先级和线程间数据交互的安全性。其中,低频算法估计载波相位模糊度、电离层和对流层等时不变参数或变化缓慢的参数,高频算法利用低频解算的参数直接对观测模型进行修正,通过滤波算法得到位置参数。高频算法对低频参数的时效性要求不高,因此低频算法执行的频率可以设置的很低,且单次解算耗时可在数秒内完成。高频算法待估计的参数个数和观测值个数大大减少(矩阵维数变小),单次解算耗时也较小。提高了整体的解算效率,降低了终端的计算负载。

第二,现有技术一般采用最小二乘算法实现位置参数的估计,由于最小二乘法只用到了当前历元的观测信息,当观测环境较差或固定的卫星数较少时,参与解算的卫星几何结构较差,会导致定位结果的不稳定或跳点,定位结果的连续性和平滑性也难以保证。本发明采用卡尔曼滤波算法进行高频解算,在状态更新阶段引入顾及速度和加速度的动力学模型对终端的位置进行预测和约束,在量测更新阶段综合使用伪距观测值、无模糊度载波相位观测值。在保证高效率解算的同时,又提高了复杂环境下定位结果的连续性、平滑性和可靠性。

第三,现有技术一般忽略大气参数的影响,只适用于短基线场景,而对于中长基线或大气活动较活跃的场景,很难稳定获取高精度定位结果。本发明在低频模糊度求解过程中,考虑到了大气参数的影响(参数估计策略会根据实际观测情况动态调整),将对流层延迟和电离层延迟参数化和模糊度参数一同解算。为了加快模糊度参数的收敛,本发明又利用空间大气的相关性,对模型化的大气参数施加先验的约束信息(可根据外部的大气信息进行精细化约束)。由于大气参数历元间的变化缓慢,高频解算线程可以直接将低频解算得到的大气信息直接代入观测方程,因此,高频算法在不增加待估参数,不降低解算效率的同时,可兼容中长基线的高频定位。

最后,还需要说明的是,在本文中使用的术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个…"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本发明并不局限于上述最佳实施方式,任何人应该得知在本发明的启示下做出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

相关技术
  • 流动站自主网络RTK解算系统及其解算方法
  • 长距离RTK与PPP-RTK整周模糊度解算方法
技术分类

06120115938386