数据同步定位的方法、装置、计算机设备及存储介质与流程

文档序号:14940308发布日期:2018-07-13 20:30阅读:200来源:国知局

本发明涉及卫星导航定位领域,特别是涉及一种数据同步定位的方法、装置、计算机设备及存储介质。



背景技术:

在卫星导航定位领域,现有的实际高精度定位设备中最常用的组合系统是卫星导航定位系统加惯性导航系统,通过二者系统优势互补的组合方式实现移动环境下的高精度定位。

现有的系统下使用卫星导航定位系统加惯性导航系统实现高精度定位的方式为:在系统下配置两个串口作为接收输入,一个串口输入板卡的卫星导航定位系统的数据,另一个串口输入另一板卡同一时刻同一载体的惯性导航系统的数据,系统分别读取两个串口数据,解析并获得两个系统的原始数据,解析卫星导航定位系统的原始数据可获取当前的卫星导航定位系统的时间,同时将该时间标记当前串口获取并解析后得到的惯性导航系统的原始数据,这样一来可以获取得到一个带有时间标签的惯性导航数据包,然后再使用该数据包与卫星导航定位系统的原始数据进行实时组合解算进行输出。由于板卡输出的卫星导航定位系统的数据和惯性导航系统的数据都存在延时误差,导致这种采用卫星导航定位系统的数据和惯性导航系统的数据同步定位的方法的精度低。



技术实现要素:

基于此,有必要针对卫星导航定位系统的数据和惯性导航系统的数据同步定位的方法的精度低的问题,提供一种数据同步定位的方法、装置、计算机设备及存储介质。

一种数据同步定位的方法,包括以下步骤:

根据pps(pulsepersecond,每秒脉冲数)信号设置定时初始时刻,定时读取惯性导航系统模块的数据,得到惯性导航数据包;

根据预设定时周期,周期性标记惯性导航数据包,得到携带定时周期的信息标识的惯性导航数据包,预设定时周期的时间精度小于或等于纳秒级;

获取卫星导航定位系统模块的数据;

根据携带定时周期的信息标识的惯性导航数据包和卫星导航定位系统模块的数据,确定定位结果。

在其中一个实施例中,根据pps信号设置定时初始时刻的步骤前还包括:

接收pps信号。

在其中一个实施例中,接收pps信号的步骤前还包括:

检测卫星导航定位系统模块的状态,当卫星导航定位系统模块正常锁定时,创建接收pps信号的线程。

在其中一个实施例中,检测卫星导航定位系统模块的状态的步骤之前还包括:

创建与卫星导航定位系统模块通信的线程,初始化卫星导航定位系统模块,配置卫星导航定位系统模块。

在其中一个实施例中,创建与卫星导航定位系统模块通信的线程的步骤之前还包括:

创建与惯性导航系统模块通信的线程,初始化惯性导航系统模块。

在其中一个实施例中,根据携带定时周期的信息标识的惯性导航数据包和卫星导航定位系统模块的数据,确定定位结果的步骤包括:

解析携带定时周期的信息标识的惯性导航数据包,得到携带定时周期的信息标识的惯性导航系统模块的数据;

根据卫星导航定位系统模块的数据和携带定时周期的信息标识的惯性导航系统模块的数据确定定位结果。

在其中一个实施例中,周期性标记惯性导航数据包的步骤前还包括:

根据预设数据同步精度需求,调整预设定时周期。

一种数据同步定位的装置,包括:

第一读取模块,用于根据pps信号设置定时初始时刻,定时读取惯性导航系统模块的数据,得到惯性导航数据包;

标记模块,用于根据预设定时周期,周期性标记惯性导航数据包,得到携带定时周期的信息标识的惯性导航数据包,预设定时周期的时间精度小于或等于纳秒级;

第二读取模块,用于获取卫星导航定位系统模块的数据;

处理模块,用于根据携带定时周期的信息标识的惯性导航数据包和卫星导航定位系统模块的数据,确定定位结果。

一种计算机设备,包括处理器和存储器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行数据同步定位的方法的步骤。

一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行数据同步定位的方法的步骤。

上述数据同步定位的方法、装置、计算机设备及存储介质,通过引入pps信号来标记卫星导航定位系统的原始数据发生的时刻,可将板卡内部打包等操作延时消除掉,减小卫星导航定位系统模块的数据的延时误差,根据pps信号设置定时读取惯性导航系统模块的数据的初始时刻,校正定时操作的累计误差,标记整秒时刻,当定时周期到来时,读取惯性导航系统模块的数据,得到惯性导航数据包,以等于或小于纳秒级时间精度的定时周期作为惯性导航数据包的标记时间,提高惯性导航数据包的标记时间精度,减小惯性导航系统模块的数据的延时误差,实现惯性导航系统数据的精准同步,提高惯性导航系统数据与卫星导航定位系统数据同步定位方法的精度。

附图说明

图1为本申请的数据同步定位的方法的其中一个实施例的流程示意图;

图2为本申请的数据同步定位的方法的其中一个实施例的流程示意图;

图3为本申请的数据同步定位的装置的其中一个实施例的结构示意图;

图4为本申请的数据同步定位的装置的其中一个实施例的结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体地实施例的目的,不是旨在于限制本申请。应该理解的是,本申请的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

如图1所示,一种数据同步定位的方法,包括以下步骤:

s500:根据pps信号设置定时初始时刻,定时读取惯性导航系统模块的数据,得到惯性导航数据包。

具体的,pps信号指的是秒脉冲信号,一秒钟触发一次,该脉冲由全球卫星导航定位系统的板卡产生,每秒钟触发一个高或低脉冲信号,表征为板卡收到卫星原始数据的时刻,一般精度为100ns(nanosecond,纳秒),一般默认触发该pps信号的时刻就是卫星整秒星历的观测时刻。在本实施例中,通过引入pps信号来标记卫星导航定位系统的原始数据发生的时刻,可将板卡内部打包等操作延时消除掉。同时,pps信号主要用于设置定时操作的初始时刻,校正定时操作的累积误差,当mcu(microcontrollerunit,微控制单元)检测到pps信号时,会重新设置定时操作的初始时刻。

惯性导航系统是一种不依赖于外部信息、也不向外部辐射能量的自主式导航系统。其工作环境不仅包括空中、地面,还可以在水下。惯性导航系统的基本工作原理是以牛顿力学定律为基础,通过测量载体在惯性参考系的加速度,将它对时间进行积分,且把它变换到导航坐标系中,就能够得到在导航坐标系中的速度、偏航角和位置等信息。惯性导航系统属于推算导航方式,即从一已知点的位置根据连续测得的运动体航向角和速度推算出其下一点的位置,因而可连续测出运动体的当前位置。惯性导航系统中的陀螺仪用来形成一个导航坐标系,使加速度计的测量轴稳定在该坐标系中,并给出航向和姿态角;加速度计用来测量运动体的加速度,经过对时间的一次积分得到速度,速度再经过对时间的一次积分即可得到位移。

惯性导航系统模块内包括imu(inertialmeasurementunit,惯性测量单元)模块,它是测量物体三轴姿态角(或角速率)以及加速度的装置。一般的,一个imu包含了三个单轴的加速度计和三个单轴的陀螺,加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺检测载体相对于导航坐标系的角速度信号,测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。

进一步的,mcu通过i2c或者spi总线通讯的方式完成对惯性导航系统模块的数据的读取,当定时周期到来时,读取惯性导航系统模块的数据。惯性导航系统模块的数据包为包含惯性导航系统模块的所有子模块的一组数据,mcu可以单独读取惯性导航系统中每个子模块的数据。

更进一步的,惯性导航系统模块的数据的读取频率由定时周期决定。举例说明,当定时周期设置为1毫秒时,可实现1毫秒读取一次惯性导航系统模块的数据,则在一秒钟内能完成1000次的惯性导航系统模块的数据的读取,则此时一个pps信号就刚好对应这1000个惯性导航系统模块的数据,而pps信号的初始时刻就对应这1000个惯性导航系统模块的数据的第一个数据。

s700:根据预设定时周期,周期性标记惯性导航数据包,得到携带定时周期的信息标识的惯性导航数据包,预设定时周期的时间精度小于或等于纳秒级。

具体的,首先在mcu内预设定时周期,当定时周期到来时,定时读取惯性导航系统模块的数据,得到惯性导航数据包,得到惯性导航数据包后,根据预设的定时周期,周期性的标记惯性导航数据包,得到携带定时周期的信息标识的惯性导航数据包,其中,定时周期的信息标识指的是定时周期的定时时长。预设定时周期的时间精度小于或等于纳秒级指的是预设的定时周期的时间误差为纳秒或其它比纳秒更小的时间单位。

进一步的,举例说明,若定时周期是1毫秒,也就是1000000纳秒,则在定时周期的时间精度为纳秒级时,该定时周期一定处于99999纳秒~1000001纳秒之间,此处周期最大值和最小值的差值不会超过2纳秒。

s800:获取卫星导航定位系统模块的数据。

具体的,全球卫星导航定位系统,是对北斗系统、gps(globalpositioningsystem,全球定位系统)、glonass(格洛纳斯)、galileo(伽利略)系统等这些单个卫星导航定位系统的统一称谓,也可指代他们的增强型系统,又指代所有这些卫星导航定位系统及其增强型系统的相加混合体。它是由多个卫星导航定位及其增强型系统所拼凑组成的大系统。全球卫星导航定位系统是以人造卫星作为导航台的星级无线电导航系统,为全球陆、海、空、天的各类军民载体提供全天候、高精度的位置、速度和时间信息,因此它又称为天基定位、导航和授时系统。

北斗系统是中国自行研制的全球卫星导航定位系统,由空间段、地面段和用户段三部分组成,可在全球范围内全天候、全天时为各类用户提供高精度、高可靠定位、导航、授时服务,并具短报文通信能力,已经初步具备区域导航、定位和授时能力。

gps是由美国国防部研制建立的一种具有全方位、全天候、全时段、高精度的卫星导航定位系统,能为全球用户提供低成本、高精度的三维位置、速度和精确定时等导航信息,是卫星通信技术在导航领域的应用典范,它极大地提高了地球社会的信息化水平,有力地推动了数字经济的发展。

glonass是由苏联(现由俄罗斯)国防部独立研制和控制的第二代军用卫星导航定位系统,与美国的gps相似,该系统也开设民用窗口。glonass技术,可为全球海陆空以及近地空间的各种军、民用户全天候、连续地提供高精度的三维位置、三维速度和时间信息。glonass在定位、测速及定时精度上优于施加选择可用性之后的gps。

伽利略系统是由欧盟主导的新一代民用全球卫星导航定位系统,它由两个地面控制中心和30颗卫星组成,其中27颗为工作卫星,3颗为备用卫星。卫星轨道高度约2.4万公里,位于3个倾角为56度的轨道平面内。

s900:根据携带定时周期的信息标识的惯性导航数据包和卫星导航定位系统模块的数据,确定定位结果。

具体的,通过解析携带定时周期的信息标识的惯性导航数据包可得到对应的惯性导航系统模块的数据,将惯性导航系统模块的数据与卫星导航定位系统模块的数据进行组合解算,可得到精确的定位数据,根据定位数据可以确定定位结果。

上述数据同步定位的方法,通过引入pps信号来标记卫星导航定位系统的原始数据发生的时刻,可将板卡内部打包等操作延时消除掉,减小卫星导航定位系统模块的数据的延时误差,根据pps信号设置定时读取惯性导航系统模块的数据的初始时刻,校正定时操作的累计误差,标记整秒时刻,当定时周期到来时,读取惯性导航系统模块的数据,得到惯性导航数据包,以等于或小于纳秒级时间精度的定时周期作为惯性导航数据包的标记时间,提高惯性导航数据包的标记时间精度,减小惯性导航系统模块的数据的延时误差,实现惯性导航系统数据的精准同步,提高惯性导航系统数据与卫星导航定位系统数据同步定位方法的精度。

如图2所示,在其中一个实施例中,s500前还包括:

s400:接收pps信号。

具体的,pps信号通过卫星导航定位系统模块对应的板卡的引脚输出,通过pps信号设置定时读取惯性导航系统模块的数据的初始时刻,减小卫星导航定位系统模块与惯性导航系统模块之间的时间误差。

如图2所示,在其中一个实施例中,s400前还包括:

s300:检测卫星导航定位系统模块的状态,当卫星导航定位系统模块正常锁定时,创建接收pps信号的线程。

具体的,pps信号在刚开始输出的时候不稳定,通过检测卫星导航定位系统模块的状态,当卫星导航定位系统模块正常锁定时即可输出稳定的pps信号,此时再创建接收pps信号的线程,进行信号传输。

如图2所示,在其中一个实施例中,s300前还包括:

s200:创建与卫星导航定位系统模块通信的线程,初始化卫星导航定位系统模块,配置卫星导航定位系统模块。

具体的,mcu和卫星导航定位系统模块通过之间采用串口通信。在使用之初,首先通过串口配置卫星导航定位系统模块,打开各卫星系统,请求串口输出各个系统的原始数据,同时请求卫星导航定位系统模块的pps信号输出。

如图2所示,在其中一个实施例中,s200前还包括:

s100:创建与惯性导航系统模块通信的线程,初始化惯性导航系统模块。

具体的,mcu通过i2c或者spi总线通讯的方式完成对惯性导航系统模块的初始化。

如图2所示,在其中一个实施例中,s900包括:

s920:解析携带定时周期的信息标识的惯性导航数据包,得到携带定时周期的信息标识的惯性导航系统模块的数据;

s940:根据卫星导航定位系统模块的数据和携带定时周期的信息标识的惯性导航系统模块的数据确定定位结果。

具体的,通过解析携带定时周期的信息标识的惯性导航数据包之后可得到对应的惯性导航系统模块的数据,将惯性导航系统模块的数据与卫星导航定位系统模块的数据进行组合解算,可得到精确的定位数据,根据定位数据可以确定定位结果。

如图2所示,在其中一个实施例中,s700前还包括:

s600:根据预设数据同步精度需求,调整预设定时周期。

具体的,可根据具体的工程中的同步精度需求调整预设定时周期。

如图3所示,一种数据同步定位的装置,包括:

读取模块500,用于根据pps信号设置定时初始时刻,定时读取惯性导航系统模块的数据,得到惯性导航数据包;

标记模块700,用于根据预设定时周期,周期性标记惯性导航数据包,得到携带定时周期的信息标识的惯性导航数据包,预设定时周期的时间精度小于或等于纳秒级;

获取模块800,用于获取卫星导航定位系统模块的数据;

处理模块900,用于根据携带定时周期的信息标识的惯性导航数据包和卫星导航定位系统模块的数据,确定定位结果。

具体的,上述数据同步定位的装置首先通过读取模块500根据pps信号设置定时初始时刻,定时读取惯性导航系统模块的数据,得到惯性导航数据包,再通过标记模块700根据预设定时周期,周期性标记惯性导航数据包,得到携带定时周期的信息标识的惯性导航数据包,预设定时周期小于或等于纳秒级,然后通过获取模块800获取卫星导航定位系统模块的数据,最后通过处理模块900根据携带定时周期的信息标识的惯性导航数据包和卫星导航定位系统模块的数据,确定定位结果。

上述数据同步定位的装置,通过引入pps信号来标记卫星导航定位系统的原始数据发生的时刻,可将板卡内部打包等操作延时消除掉,减小卫星导航定位系统模块的数据的延时误差,根据pps信号设置定时读取惯性导航系统模块的数据的初始时刻,校正定时操作的累计误差,标记整秒时刻,当定时周期到来时,读取惯性导航系统模块的数据,得到惯性导航数据包,以等于或小于纳秒级时间精度的定时周期作为惯性导航数据包的标记时间,提高惯性导航数据包的标记时间精度,减小惯性导航系统模块的数据的延时误差,实现惯性导航系统数据的精准同步,提高惯性导航系统数据与卫星导航定位系统数据同步定位方法的精度。

如图4所示,在其中一个实施例中,数据同步定位的装置还包括接收模块400。

如图4所示,在其中一个实施例中,数据同步定位的装置还包括检测模块300。

如图4所示,在其中一个实施例中,数据同步定位的装置还包括第二线程模块200。

如图4所示,在其中一个实施例中,数据同步定位的装置还包括第一线程模块100。

如图4所示,在其中一个实施例中,处理模块900还包括解析模块920和定位模块940。

如图4所示,在其中一个实施例中,数据同步定位的装置还包括调整模块600。

一种计算机设备,包括处理器和存储器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行数据同步定位的方法的步骤。

计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据同步定位的方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据同步定位的方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。本领域技术人员可以理解上述结构仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在其中一个实施例中,本申请提供的数据同步定位的装置可以实现为一种计算机程序的形式,计算机程序可在计算机设备上运行。计算机设备的存储器中可存储组成该数据同步定位的装置的各个程序模块,比如,图3所示的读取模块500、标记模块700、获取模块800和处理模块900,各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据同步定位的方法中的步骤。

例如,计算机设备可以通过如图3所示的数据同步定位的装置中的读取模块500执行步骤s500、标记模块700执行步骤s700、获取模块800执行步骤s800和处理模块900执行步骤s900。

上述数据同步定位的计算机设备,通过引入pps信号来标记卫星导航定位系统的原始数据发生的时刻,可将板卡内部打包等操作延时消除掉,减小卫星导航定位系统模块的数据的延时误差,根据pps信号设置定时读取惯性导航系统模块的数据的初始时刻,校正定时操作的累计误差,标记整秒时刻,当定时周期到来时,读取惯性导航系统模块的数据,得到惯性导航数据包,以等于或小于纳秒级时间精度的定时周期作为惯性导航数据包的标记时间,提高惯性导航数据包的标记时间精度,减小惯性导航系统模块的数据的延时误差,实现惯性导航系统数据的精准同步,提高惯性导航系统数据与卫星导航定位系统数据同步定位方法的精度。

一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行数据同步定位的方法的步骤。

本领域普通技术人员可以理解实现上述数据同步定位的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述数据同步定位的方法的各个实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

上述数据同步定位的存储介质,通过引入pps信号来标记卫星导航定位系统的原始数据发生的时刻,可将板卡内部打包等操作延时消除掉,减小卫星导航定位系统模块的数据的延时误差,根据pps信号设置定时读取惯性导航系统模块的数据的初始时刻,校正定时操作的累计误差,标记整秒时刻,当定时周期到来时,读取惯性导航系统模块的数据,得到惯性导航数据包,以等于或小于纳秒级时间精度的定时周期作为惯性导航数据包的标记时间,提高惯性导航数据包的标记时间精度,减小惯性导航系统模块的数据的延时误差,实现惯性导航系统数据的精准同步,提高惯性导航系统数据与卫星导航定位系统数据同步定位方法的精度。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1