数据处理方法和装置与流程

文档序号:11228033阅读:382来源:国知局
数据处理方法和装置与流程

本发明涉及数据处理领域,特别涉及一种数据处理方法和装置。



背景技术:

磁罗盘是一组三轴正交的磁场感应传感器。通过感应地球磁场,磁罗盘提供了一组矢量,即一个三维数据。例如在无人机导航系统中,这组矢量可以用来辅助确定飞机的偏航角。

由于磁罗盘的使用场景中往往有强磁场源,使磁罗盘容易收到干扰,从而使导航系统失去偏航角估计的准确性。为了适应不同的电磁环境或地理位置,往往需要进行较为复杂的磁罗盘校正操作。

为了检测或消除磁罗盘受到的干扰,现有技术中主要采用以下方法。

1.将陀螺仪和罗盘的测量值进行融合。其主要思想是利用陀螺仪测量角速度,以补偿受干扰情况下的罗盘读数。然而,这种方法仅能够在短时间内补偿罗盘的误差。如果长时间采用这种方法,罗盘的误差会累积,导致融合时出现偏差。

2.采用两个或多个罗盘同时工作,将两个或多个罗盘的加权平均值作为有效的地磁场测量值。然而,如果两个或多个罗盘同时收到干扰,这种方法也会失效。

3.通过计算罗盘的度数的模值来判断罗盘度数是否异常。即,如果罗盘的度数的模值不在预设范围内,则认为罗盘收到了其他磁场的干扰。然而,这种方式仅能够提供报警,但无法对罗盘进行校准。校准的过程需要进行人工操作,因此这种方法无法对罗盘进行实时的校准。



技术实现要素:

本发明实施例所要解决的一个技术问题是:如何实时地对罗盘进行准确的校准。

根据本发明实施例的第一个方面,提供一种数据处理方法,包括:获取罗盘的第一测量数据和第二测量数据,其中,第一测量数据和第二测量数据表示罗盘在不同测量位置的三个正交轴向上的磁场强度;确定经过第一测量数据和第二测量数据的中点、并且垂直于第一测量数据和第二测量数据的连线的平面;将预先估计的罗盘中心位置向平面方向移动,获得本次估计的罗盘中心位置;采用本次估计的罗盘中心位置对罗盘采集的测量数据进行校准。

在一个实施例中,预先估计的罗盘中心位置向平面方向移动的幅度根据预先估计的罗盘中心位置到平面的距离以及收敛参数确定。

在一个实施例中,将预先估计的罗盘中心位置向平面方向移动,获得本次估计的罗盘中心位置包括:确定第一测量数据和第二测量数据的中点、以及平面的单位法向量,其中,单位法向量指向从第一测量数据到第二测量数据的方向;计算预先估计的罗盘中心位置和中点的差与单位法向量的内积;将预先估计的罗盘中心位置与移动幅度的差作为本次估计的罗盘中心位置,其中,移动幅度为收敛参数、内积和单位法向量的乘积。

在一个实施例中,第一测量数据和第二测量数据之间的分散程度大于预设值。

在一个实施例中,获取罗盘的第一测量数据和第二测量数据包括:依次获取罗盘的第一测量数据和备选测量数据;将第一测量数据和备选测量数据分别与预先估计的罗盘中心位置连线;如果两条连线之间的夹角小于预设值,继续采集罗盘的测量数据以更新备选测量数据;如果两条连线之间的夹角大于或等于预设值,将备选测量数据作为第二测量数据。

在一个实施例中,对第一测量数据和第二测量数据进行尺度变换,其中,进行尺度变换时采用的尺度系数用于将椭球体上的点变换为正球体上的点。

在一个实施例中,将罗盘采集的测量数据减去本次估计的罗盘中心位置,以便完成对罗盘采集的测量数据的校准。

根据本发明实施例的第二个方面,提供一种数据处理装置,包括:数据获取模块,被配置为获取罗盘的第一测量数据和第二测量数据,其中,第一测量数据和第二测量数据表示罗盘在不同测量位置的三个正交轴向上的磁场强度;平面确定模块,被配置为确定经过第一测量数据和第二测量数据的中点、并且垂直于第一测量数据和第二测量数据的连线的平面;中心位置调整模块,被配置为将预先估计的罗盘中心位置向平面方向移动,获得本次估计的罗盘中心位置;校准模块,被配置为采用本次估计的罗盘中心位置对罗盘采集的测量数据进行校准。

在一个实施例中,中心位置调整模块被配置为根据预先估计的罗盘中心位置到平面的距离以及收敛参数确定预先估计的罗盘中心位置向平面方向移动的幅度。

在一个实施例中,中心位置调整模块被配置为:确定第一测量数据和第二测量数据的中点、以及平面的单位法向量,其中,单位法向量指向从第一测量数据到第二测量数据的方向;计算预先估计的罗盘中心位置和中点的差与单位法向量的内积;将预先估计的罗盘中心位置与移动幅度的差作为本次估计的罗盘中心位置,其中,移动幅度为收敛参数、内积和单位法向量的乘积。

在一个实施例中,第一测量数据和第二测量数据之间的分散程度大于预设值。

在一个实施例中,数据获取模块进一步被配置为:依次获取罗盘的第一测量数据和备选测量数据;将第一测量数据和备选测量数据分别与预先估计的罗盘中心位置连线;如果两条连线之间的夹角小于预设值,继续采集罗盘的测量数据以更新备选测量数据;如果两条连线之间的夹角大于或等于预设值,将备选测量数据作为第二测量数据。

在一个实施例中,数据获取模块还被配置为对第一测量数据和第二测量数据进行尺度变换,其中,进行尺度变换时采用的尺度系数用于将椭球体上的点变换为正球体上的点。

在一个实施例中,校准模块进一步被配置为将罗盘采集的测量数据减去本次估计的罗盘中心位置,以便完成对罗盘采集的测量数据的校准。

根据本发明实施例的第三个方面,提供一种数据处理装置,包括:存储器;以及耦接至所述存储器的处理器,处理器被配置为基于存储在所述存储器中的指令,执行前述任意一种数据处理方法。

根据本发明实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种数据处理方法。

上述发明中的一个实施例具有如下优点或有益效果:通过假设第一测量数据和第二测量数据位于正球体的表面,令估计的罗盘中心位置向该正球体的球心所在的平面移动,可以使估计的罗盘中心位置接近真实的罗盘中心位置,并且可以针对任意时刻采集的测量数据进行处理,从而能够实时地对罗盘采集的测量数据进行估计,并且提高了测量的准确性。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

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

图1为本发明数据处理方法的一个实施例的流程图。

图2a为本发明数据处理方法的另一个实施例的流程图。

图2b为本发明数据处理方法的一个实施例中各个变量的位置关系示意图。

图3为本发明数据处理装置的一个实施例的结构图。

图4为本发明数据处理装置的一个实施例的结构图。

图5为本发明数据处理装置的又一个实施例的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

在正常的情况下,罗盘所采集的读数分布在一个椭球体的表面,该椭球体的椭球心即为罗盘中心位置。

设罗盘采集的测量数据为m=[mx,my,mz]t,其中,mx、my和mz分别表示罗盘中的磁力计测量到的三个正交轴上的地磁场强度。

通常地,罗盘的读数满足公式(1)。

(m-c)tq(m-c)=r(1)

在公式(1)中,r表示地磁场强度值;c表示罗盘中心位置,并且c=[cx,cy,cz]t;q表示罗盘中的磁力计在三个正交轴上的读数尺度,该读数尺度用于将椭球体上的点变换为正球体上的点,其具体表示可以参见公式(2)。

在公式(2)中,qx、qy和qz的值约等于1。这些值可以在罗盘标定的阶段得到,本发明中假定这三个值已知或不变。

在现有技术中,往往设定c为常数。然而,随着位置、周围环境等因素的变化,罗盘中心位置可能也会产生变化。因此如果将c设定为常数,罗盘的测量结果会产生误差。本发明通过对c进行实时的估计,从而可以及时地调整罗盘的读数,以提高罗盘的测量精确度。

图1为本发明数据处理方法的一个实施例的流程图。如图1所示,该实施例的方法包括步骤s102~步骤s108。

在步骤s102中,获取罗盘的第一测量数据和第二测量数据,其中,第一测量数据和第二测量数据表示罗盘在不同测量位置的三个正交轴向上的磁场强度。

第一测量数据可以是上次进行罗盘中心位置估计时采用的数据,第二测量数据可以是当前采集的数据;第一测量数据和第二测量数据也可以均是准备进行本次估计时先后采集的两个数据。

在获取第一测量数据和第二测量数据后,还可以对第一测量数据和第二测量数据进行尺度变换,其中,进行尺度变换时采用的尺度系数用于将椭球体上的点变换为正球体上的点。尺度系数可以为q的定义和表示可以参考公式(2)。从而可以将采集的测量数据转换为正球体上的点,更便于进行罗盘中心位置的估计。

在步骤s104中,确定经过第一测量数据和第二测量数据的中点、并且垂直于第一测量数据和第二测量数据的连线的平面。

本发明首先假设采集的数据位于正球体的表面,此时,该正球体的球心位于经过第一测量数据和第二测量数据的中点、并且垂直于第一测量数据和第二测量数据的连线的平面上。

在步骤s106中,将预先估计的罗盘中心位置向平面方向移动,获得本次估计的罗盘中心位置。

预先估计的罗盘中心位置例如可以是在上一次调整后所估计的罗盘中心位置,也可以是一个预设值。

由于实际的测量过程误差或者环境干扰,采集的数据可能实际上并未严格地位于正球体的表面。因此,可以仅将预先估计的罗盘中心位置向平面方向移动一定的距离,以使本次估计的罗盘中心位置比之前预先估计的罗盘中心位置更靠近真实的罗盘中心位置。

在步骤s108中,采用本次估计的罗盘中心位置对罗盘采集的测量数据进行校准。

在一个实施例中,可以将罗盘采集的测量数据减去本次估计的罗盘中心位置并输出罗盘的读数,以便完成对罗盘采集的测量数据的校准。

上述实施例的方法通过假设第一测量数据和第二测量数据位于正球体的表面,令估计的罗盘中心位置向该正球体的球心所在的平面移动,可以使估计的罗盘中心位置接近真实的罗盘中心位置。并且,本发明实施例的方法可以针对任意时刻采集的测量数据进行处理,从而能够实时地对罗盘采集的测量数据进行估计,并且提高了测量的准确性。

此外,还可以多次执行本发明实施例的方法,以不断地对估计的罗盘中心位置进行调整,可以使估计的值逐步接近真实值。

为了降低噪声对校准误差所带来的影响,在对罗盘的中心位置进行估计之前,本发明实施例提供的方法还可以对采集的测量数据进行筛选,以确定第一测量数据和第二测量数据。

在一个实施例中,罗盘的第一测量数据和第二测量数据之间的分散程度应当大于预设值。分散程度可以用第一测量数据和第二测量数据之间的距离表示,也可以用第一测量数据和备选测量数据分别与第一罗盘中心位置连线后、两条连线之间的夹角表示。

如果两个测量数据之间的分散程度过小、距离过近,那么根据这两个测量数据确定的平面很可能距离真实的球心位置较远。因此,本发明的一个实施例可以仅根据分散程度大于预设值的数据进行估计,从而使估计的结果更准确。

一种筛选方式为,依次采集罗盘的第一测量数据和备选测量数据,第一测量数据例如可以是在上一次校准过程中所使用的第二测量数据;然后,判断第一测量数据和备选测量数据分别与第一罗盘中心位置连线后、两条连线之间的夹角。

如果该夹角小于预设值,继续采集罗盘的测量数据以更新备选测量数据,即,丢弃原来采集的备选测量数据,并且再次采集数据进行上述判断过程;如果该夹角大于预设值,将更新后的备选测量数据作为第二测量数据。

通过采用这种方法,可以衡量数据之间的分散程度,提高了信噪比,使后续的估计结果更准确。

设第一测量数据采用mk-1表示,备选测量数据采用mk表示。判断二者之间的关系是否满足公式(3)。

如果mk-1和mk之间的关系满足公式(3),则采纳mk作为第二测量数据,以便进行后续的罗盘的中心位置的估计过程;如果mk-1和mk之间的关系不满足公式(3),则丢弃mk并重新采集数据,再进行公式(3)的判断过程。

图2a为本发明数据处理方法的另一个实施例的流程图,图2b为该实施例中各个变量的位置关系示意图。为了便于表示,图2b中仅给出该球体的剖面图,并且图2b中展示的剖面是第一测量数据、第二测量数据和预先估计的罗盘中心位置所在的剖面。

如图2a所示,该实施例的方法包括步骤s202~步骤s108。

在步骤s202中,获取罗盘的第一测量数据和第二测量数据,其中,第一测量数据和第二测量数据包括罗盘在测量位置的三个正交轴向上的磁场强度。

在步骤s204中,确定经过第一测量数据和第二测量数据的中点、并且垂直于第一测量数据和第二测量数据的连线的平面。

设第一测量数据和第二测量数据的中点为lk,则lk可以采用公式(4)表示。

过lk做垂直于向量(nk-1-nk)的平面ω,在理想情况下,球心c应当位于平面ω上。

在步骤s206中,对第一测量数据和第二测量数据进行尺度变换。

如果罗盘所采集的读数位于一个正球体的表面,则可以直接采用第一测量数据和第二测量数据进行估计;如果罗盘所采集的读数位于一个椭球体的表面,为了便于校准,可以将数据变换到与该椭球体具有相同球心、并且半径近似的正球体上。

例如,设第一测量数据为nk-1、第二测量数据为nk。令以对第一测量数据和第二测量数据进行尺度变换。其中,q的具体表示以参考公式(2)。

本领域技术人员应当清楚,也可以选择不对第一测量数据和第二测量数据进行尺度变换。为了便于叙述,下文的处理过程统一采用nk-1、nk表示变换后的或者选择不进行变换的nk-1、nk。

在步骤s208中,确定第一测量数据和第二测量数据的中点、以及平面的单位法向量,其中,单位法向量指向从第一测量数据到第二测量数据的方向。

第一测量数据和第二测量数据的中点为步骤s204中的lk。平面ω的单位法向量pk可以采用公式(5)表示。

接下来,可以采用投影算子对罗盘的中心位置进行估计。设预先估计的罗盘的中心位置为本次估计后的罗盘的中心位置为投影算子为proj(·),则有投影算子的具体内容可以参考步骤s210~s212。

在步骤s210中,计算预先估计的罗盘中心位置和中点的差与单位法向量的内积。

设上述内积为λk,则λk可以采用公式(6)表示。

上述内积的结果表示向量在向量(nk-1-nk)方向上的投影长度,即表示与平面ω的距离。

在步骤s212中,将预先估计的罗盘中心位置与移动幅度的差作为本次估计的罗盘中心位置,移动幅度为收敛参数、所述内积和所述单位法向量的乘积。

设η为收敛参数,则本次估计的罗盘中心位置可以采用公式(7)表示。

通常地,η的取值范围为[0,1]。当η值为1时,说明为过向平面ω作垂线时的垂足,即,移动幅度为到平面ω的距离,直接将确定为平面ω上的一点;当η值为0时,说明书不对估计的罗盘中心位置进行调整。在其他变量保持不变的情况下,η值越大,说明移动幅度越大。

在步骤s214中,采用本次估计的罗盘中心位置对罗盘采集的测量数据进行校准。

与c的距离比与c的距离更小。这一点可以从图2b直观地表示,也可在数学上严格证明。因此通过上述实施例的调整,本次估计的罗盘中心位置距离真实的罗盘中心位置更近。

通过采用上述方法,可以令估计的罗盘中心位置垂直地向第一测量数据和第二测量数据所在球体的球心位于的平面移动,从而可以令估计的罗盘中心位置尽快向真实的罗盘中心位置逼近。

本领域技术人员应当清楚,根据实际的数据情况,估计的罗盘中心位置可以以不同方式延垂直方向向平面移动。

下面参考图3描述本发明一个实施例的数据处理装置。

图3为本发明数据处理装置的一个实施例的结构程图。如图3所示,该实施例的数据处理装置包括:数据获取模块31,被配置为获取罗盘的第一测量数据和第二测量数据,其中,第一测量数据和第二测量数据表示罗盘在不同测量位置的三个正交轴向上的磁场强度;平面确定模块32,被配置为确定经过第一测量数据和第二测量数据的中点、并且垂直于第一测量数据和第二测量数据的连线的平面;中心位置调整模块33,被配置为将预先估计的罗盘中心位置向平面方向移动,获得本次估计的罗盘中心位置;校准模块34,被配置为采用本次估计的罗盘中心位置对罗盘采集的测量数据进行校准。

在一个实施例中,第一测量数据和第二测量数据之间的分散程度大于预设值。

在一个实施例中,数据获取模块31进一步被配置为:依次获取罗盘的第一测量数据和备选测量数据;将第一测量数据和备选测量数据分别与预先估计的罗盘中心位置连线;如果两条连线之间的夹角小于预设值,继续采集罗盘的测量数据以更新备选测量数据;如果两条连线之间的夹角大于或等于预设值,将备选测量数据作为第二测量数据。

在一个实施例中,数据获取模块31还被配置为对第一测量数据和第二测量数据进行尺度变换,其中,进行尺度变换时采用的尺度系数用于将椭球体上的点变换为正球体上的点。

在一个实施例中,中心位置调整模块33被配置为根据预先估计的罗盘中心位置到平面的距离以及收敛参数确定预先估计的罗盘中心位置向平面方向移动的幅度。

在一个实施例中,中心位置调整模块33被配置为:确定第一测量数据和第二测量数据的中点、以及平面的单位法向量,其中,单位法向量指向从第一测量数据到第二测量数据的方向;计算预先估计的罗盘中心位置和中点的差与单位法向量的内积;将预先估计的罗盘中心位置与移动幅度的差作为本次估计的罗盘中心位置,其中,移动幅度为收敛参数、内积和单位法向量的乘积。

在一个实施例中,校准模块34进一步被配置为将罗盘采集的测量数据减去本次估计的罗盘中心位置,以便完成对罗盘采集的测量数据的校准。

图4为本发明数据处理装置的另一个实施例的结构图。如图4所示,该实施例的装置400包括:存储器410以及耦接至该存储器410的处理器420,处理器420被配置为基于存储在存储器410中的指令,执行前述任意一个实施例中的数据处理方法。

其中,存储器410例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)以及其他程序等。

图5为本发明数据处理装置的又一个实施例的结构图。如图5所示,该实施例的装置400包括:存储器410以及处理器420,还可以包括输入输出接口530、网络接口540、存储接口550等。这些接口530,540,550以及存储器410和处理器420之间例如可以通过总线560连接。其中,输入输出接口530为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口540为各种联网设备提供连接接口。存储接口550为sd卡、u盘等外置存储设备提供连接接口。

本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种数据处理方法。

本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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