数据处理方法和装置以及罗盘校准方法和装置与流程

文档序号:11473369阅读:258来源:国知局
数据处理方法和装置以及罗盘校准方法和装置与流程

本发明涉及计算机技术领域,特别涉及一种数据处理方法和装置以及罗盘校准方法和装置。



背景技术:

无人机上一般安装电子磁罗盘对其航向进行控制,以保证飞行轨迹的准确性。电子磁罗盘的测量的准确性对于无人机的飞行控制具有十分重要的作用。

受环境因素和电子磁罗盘自身因素的影响,电子磁罗盘通常情况下测量存在误差,因此,需要对电子磁罗盘进行校准。电子磁罗盘进行校准前需要采集大量数据用于校准,但是现有技术中,常出现由于操作不规范等原因造成采集的用于校准的数据不足,为电子磁罗盘的校准工作带来不便,使得电子磁罗盘校准的精确度度不足。



技术实现要素:

本发明所要解决的一个技术问题是:如何解决采集的用于校准罗盘的数据不足,为电子磁罗盘的校准工作带来不便的问题。

根据本发明的一个实施例,提供的一种数据处理方法,包括:从利用罗盘采集的原始数据集中随机选取原始数据,并将选取的原始数据移出原始数据集,原始数据为三轴磁场强度值;将选取的原始数据进行坐标变换以获得变换数据;舍弃与原始数据或者已有的变换数据相同的所获得的变换数据;重复上述步骤,直至所有变换数据与所有原始数据的数量之和达到预设数量;将所有变换数据与所有原始数据共同作为罗盘的校准数据。

在一个实施例中,坐标变换包括:将选取的原始数据中一个或多个轴的磁场强度值进行取反变换得到相反数,以获得变换数据。

根据本发明的另一个实施例,提供的一种罗盘校准方法,包括:根据前述任一个实施例中的数据处理方法,获得罗盘的校准数据;确定校准后的磁场强度与校准数据、软磁干扰修正量以及硬磁干扰修正量的关系表示;通过使校准后的磁场强度与正常磁场强度的误差满足预设条件,确定软磁干扰修正量、硬磁干扰修正量;利用软磁干扰修正量、硬磁干扰修正量对罗盘进行校准。

在一个实施例中,确定软磁干扰修正量、硬磁干扰修正量包括:i)将校准数据、软磁干扰修正量以及硬磁干扰修正量代入校准后的磁场强度与正常磁场强度的误差关系表示中,获得转化的误差关系表示;ii)获取转化的误差关系表示关于各个自变量的雅可比矩阵,其中自变量为正常磁场强度、软磁干扰修正量以及硬磁干扰修正量中的一项或多项,不作为自变量的项采用预设值;iii)根据雅可比矩阵、迭代误差、迭代步长和自变量构建增量正规方程;iv)将自变量的值代入雅可比矩阵计算雅可比矩阵,将自变量的值代入转化的误差关系表示计算迭代误差;v)将计算后的雅可比矩阵、计算后的迭代误差、第一迭代步长值代入增量正规方程解得自变量第一值,将计算后的雅可比矩阵、计算后的迭代误差、第二迭代步长值代入增量正规方程解得自变量第二值;vi)将自变量第一值代入转化的误差关系表示,得到第一更新迭代误差,将自变量第二值代入转化的误差关系表示,得到第二更新迭代误差;vii)将第一更新迭代误差和第二更新迭代误差分别与预设条件进行比对:如果第一更新迭代误差和第二更新迭代误差均大于预设条件,则用第一迭代步长值乘以预设迭代梯度来更新第一迭代步长值,用第二迭代步长值乘以预设迭代梯度来更新第二迭代步长值,如果第一更新迭代误差小于第二更新迭代误差,则用自变量第一值来更新自变量的值,如果第二更新迭代误差小于第一更新迭代误差,则用自变量第二值来更新自变量的值,重复步骤iv)至vii),直至第一更新迭代误差值或第二更新迭代误差值小于或等于预设条件;如果第一更新迭代误差小于预设条件,则将自变量第一值作为自变量的值输出,如果第二更新迭代误差小于预设条件,则将自变量第二值作为自变量的值输出;其中,自变量的值在初始迭代时采用预设值,第一迭代步长值和第二迭代步长值在初始迭代时采用预设值。

在一个实施例中,确定软磁干扰修正量、硬磁干扰修正量包括:预设软磁干扰修正量的值,通过使校准后的磁场强度与正常磁场强度的误差满足预设条件,确定正常磁场强度以及硬磁干扰修正量;基于确定的正常磁场强度以及软磁干扰修正量,通过使校准后的磁场强度与正常磁场强度的误差满足预设条件,确定软磁干扰修正量。

在一个实施例中,增量正规方程表示为:

其中,δk表示第k次迭代的自变量,jk表示第k次迭代的雅可比矩阵,ek表示第k次迭代的迭代误差,λk表示第k次迭代的迭代步长,i表示单位矩阵。

在一个实施例中,校准后的磁场强度与校准数据、软磁干扰修正量以及硬磁干扰修正量的关系表示为:校准后的磁场强度等于校准数据与硬磁干扰修正量之和乘以软磁干扰修正量;将所有校准后的磁场强度的三轴磁场强度值的平方和减去正常磁场强度的平方的差值相加,得到校准后的磁场强度与正常磁场强度的误差。

根据本发明的又一个实施例,提供的一种数据处理装置,包括:原始数据选取模块,用于从利用罗盘采集的原始数据集中随机选取原始数据,并将选取的原始数据移出原始数据集,原始数据为三轴磁场强度值;数据变换模块,用于将选取的原始数据进行坐标变换以获得变换数据;查重模块,用于舍弃与原始数据或者已有的变换数据相同的所获得的变换数据;迭代模块,用于判断所有变换数据与所有原始数据的数量之和是否达到预设数量,如果没有达到预设数量,则触发原始数据选取模块执行原始数据选取过程,如果达到预设数量,则将所有变换数据与所有原始数据共同作为罗盘的校准数据输出。

在一个实施例中,数据变换模块,用于将选取的原始数据中一个或多个轴的磁场强度值进行取反变换得到相反数,以获得变换数据。

根据本发明的再一个实施例,提供的一种罗盘校准装置,包括:前述任一个实施例中的数据处理装置,用于获得罗盘的校准数据;关系确定模块,用于确定校准后的磁场强度与校准数据、软磁干扰修正量以及硬磁干扰修正量的关系表示;参数确定模块,用于通过使校准后的磁场强度与正常磁场强度的误差满足预设条件,确定软磁干扰修正量、硬磁干扰修正量;校准模块,用于利用软磁干扰修正量、硬磁干扰修正量对罗盘进行校准。

在一个实施例中,参数确定模块,用于:i)将校准数据、软磁干扰修正量以及硬磁干扰修正量代入校准后的磁场强度与正常磁场强度的误差关系表示中,获得转化的误差关系表示;ii)获取转化的误差关系表示关于各个自变量的雅可比矩阵,其中自变量为正常磁场强度、软磁干扰修正量以及硬磁干扰修正量中的一项或多项,不作为自变量的项采用预设值;iii)根据雅可比矩阵、迭代误差、迭代步长和自变量构建增量正规方程;iv)将自变量的值代入雅可比矩阵计算雅可比矩阵,将自变量的值代入转化的误差关系表示计算迭代误差;v)将计算后的雅可比矩阵、计算后的迭代误差、第一迭代步长值代入增量正规方程解得自变量第一值,将计算后的雅可比矩阵、计算后的迭代误差、第二迭代步长值代入增量正规方程解得自变量第二值;vi)将自变量第一值代入转化的误差关系表示,得到第一更新迭代误差,将自变量第二值代入转化的误差关系表示,得到第二更新迭代误差;vii)将第一更新迭代误差和第二更新迭代误差分别与预设条件进行比对:如果第一更新迭代误差和第二更新迭代误差均大于预设条件,则用第一迭代步长值乘以预设迭代梯度来更新第一迭代步长值,用第二迭代步长值乘以预设迭代梯度来更新第二迭代步长值,如果第一更新迭代误差小于第二更新迭代误差,则用自变量第一值来更新自变量的值,如果第二更新迭代误差小于第一更新迭代误差,则用自变量第二值来更新自变量的值,重复步骤iv)至vii),直至第一更新迭代误差值或第二更新迭代误差值小于或等于预设条件;如果第一更新迭代误差小于预设条件,则将自变量第一值作为自变量的值输出,如果第二更新迭代误差小于预设条件,则将自变量第二值作为自变量的值输出;其中,自变量的值在初始迭代时采用预设值,第一迭代步长值和第二迭代步长值在初始迭代时采用预设值。

在一个实施例中,参数确定模块,用于预设软磁干扰修正量的值,通过使校准后的磁场强度与正常磁场强度的误差满足预设条件,确定正常磁场强度以及硬磁干扰修正量,基于确定的正常磁场强度以及软磁干扰修正量,通过使校准后的磁场强度与正常磁场强度的误差满足预设条件,确定软磁干扰修正量。

在一个实施例中,增量正规方程表示为:

其中,δk表示第k次迭代的自变量,jk表示第k次迭代的雅可比矩阵,ek表示第k次迭代的迭代误差,λk表示第k次迭代的迭代步长,i表示单位矩阵。

在一个实施例中,校准后的磁场强度与校准数据、软磁干扰修正量以及硬磁干扰修正量的关系表示为:校准后的磁场强度等于校准数据与硬磁干扰修正量之和乘以软磁干扰修正量;参数确定模块,用于将所有校准后的磁场强度的三轴磁场强度值的平方和减去正常磁场强度的平方的差值相加,得到校准后的磁场强度与正常磁场强度的误差。

根据本发明的又一个实施例,提供的一种数据处理装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器设备中的指令,执行如前述任一个实施例中的数据处理方法或罗盘校准方法。

根据本发明的又一个实施例,提供的一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一个实施例中的数据处理方法或罗盘校准方法的步骤。

本发明利用罗盘采集的原始数据进行坐标变换生成变换数据,并将变换数据和原始数据共同作为罗盘的校准数据,利用原始数据扩充了用于校准的数据,解决了用于校准罗盘的数据不足的问题,方便了后续的罗盘校准工作。

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

附图说明

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

图1示出本发明的一个实施例的数据处理装置的结构示意图。

图2示出本发明的另一个实施例的数据处理装置的结构示意图。

图3示出本发明的一个实施例的数据处理方法的流程示意图。

图4示出本发明的一个实施例的罗盘校准方法的流程示意图。

图5示出本发明的另一个实施例的罗盘校准方法的流程示意图。

图6示出本发明的又一个实施例的数据处理装置的结构示意图。

图7示出本发明的一个实施例的罗盘校准装置的结构示意图。

具体实施方式

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

针对由于操作不规范等原因造成采集的用于校准的数据不足,为电子磁罗盘的校准工作带来不便的问题,提出本方案。

本发明的实施例中的数据处理装置可各由各种计算设备或计算机系统来实现,下面结合图1以及图2进行描述。

图1为本发明数据处理装置的一个实施例的结构图。如图1所示,该实施例的装置10包括:存储器110以及耦接至该存储器110的处理器120,处理器120被配置为基于存储在存储器110中的指令,执行本发明中任意一个实施例中的数据处理或罗盘校准方法。

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

图2为本发明数据处理装置的另一个实施例的结构图。如图2所示,该实施例的装置10包括:存储器110以及处理器120,还可以包括输入输出接口230、网络接口240、存储接口250等。这些接口230,240,250以及存储器110和处理器120之间例如可以通过总线260连接。其中,输入输出接口230为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口240为各种联网设备提供连接接口,例如可以连接到数据库服务器或者云端存储服务器等。存储接口250为sd卡、u盘等外置存储设备提供连接接口。

下面结合图3描述本发明的数据处理方法。

图3为本发明数据处理方法一个实施例的流程图。如图3所示,该实施例的方法包括:

步骤s302,从利用罗盘采集的原始数据集中随机选取原始数据,并将选取的原始数据移出该原始数据集。

原始数据为三轴磁场强度值,即在罗盘测得的地磁磁场强度值分别在罗盘本体坐标系中三个坐标轴的磁场强度分量。对罗盘进行校准时,通常将罗盘固定在载体上,此时本体坐标系的原点为载体重心,x轴指向地理北向,y轴指向地理东向,z轴与地面垂直。连同载体使罗盘分别绕x、y、z轴旋转采集数据。

步骤s304,将选取的原始数据进行坐标变换以获得变换数据。

可以将选取的原始数据中一个或多个轴的磁场强度值进行取反变换得到相反数,以获得变换数据。例如原始数据为(10,10,10),变换数据可以是(-10,10,10)或(-10,-10,10)或(-10,-10,-10)等。由于用于校准罗盘的数据基本位于同一球体的球面上,因此,对原始数据进行坐标变换后的变换数据可以用于校准罗盘,并不是随意选取的数据。

步骤s306,舍弃与原始数据或者已有的变换数据相同的所获得的变换数据。

可以每次生成一个变换数据则与所有原始数据和已有的变换数据进行比对,如果重复则将新生成的变换数据删除,保证用于校准罗盘的数据中没有重复的数据。

步骤s308,判断所有变换数据与所有原始数据的数量之和是否达到预设数量,如果已达到预设数量,则执行步骤s310,如果未达到预设数量则从步骤s302开始重复执行上述步骤。

步骤s310,将所有变换数据与所有原始数据共同作为罗盘的校准数据输出。

优选的,对原始数据集中的原始数据从1开始依次进行编号,最大编号等于原始数据的数量,生成小于或等于最大编号的随机正整数,选取编号等于生成的随机正整数的原始数据,将该原始数据从原始数据集中移出,对该原始数据进行坐标变换生成变换数据,舍弃与原始数据或者已有的变换数据相同的新获得的变换数据,重复上述过程,直至所有变换数据与所有原始数据的数量之和达到预设数量,将所有变换数据与所有原始数据共同作为罗盘的校准数据输出。

上述实施例的方法,利用罗盘采集的原始数据进行坐标变换生成变换数据,并将变换数据和原始数据共同作为罗盘的校准数据,利用原始数据扩充了用于校准的数据,解决了用于校准罗盘的数据不足的问题,方便了后续的罗盘校准工作。

本发明还提供一种利用上述实施例中生成的罗盘的校准数据进行罗盘校准的方法,下面结合图4进行描述。

图4为本发明罗盘校准方法一个实施例的流程图。如图4所示,在步骤s310之后还可以包括:

步骤s402,确定校准后的磁场强度与校准数据、软磁干扰修正量以及硬磁干扰修正量的关系表示。

校准后的磁场强度与校准数据、软磁干扰修正量以及硬磁干扰修正量的关系表示例如用以下公式表示:

h=m(a+b)t(1)

其中,h=(hx,hy,hz)表示校准后的磁场强度,表示软磁干扰修正量,a=(ax,ay,az)表示校准数据,b=(bx,by,bz)表示硬磁干扰修正量,x、y、z分别表示本体坐标系中的x轴、y轴、z轴。

需要注意的是,如果罗盘还存在三轴比例误差,则m可以不止包括纯正的软磁干扰修正量还包括三轴比例误差的修正量,即m=kn,k=diag(kx,ky,kz),k表示三轴比例误差修正量,n表示纯正的软磁干扰修正量。由于k和n只需要计算出它们的乘积不需要分别进行计算则可以校准罗盘,因此,为了方便计算仍将kn作为一项计算。

步骤s404,通过使校准后的磁场强度与正常磁场强度的误差满足预设条件,确定软磁干扰修正量、硬磁干扰修正量。

地磁场的正常磁场强度值在0.4~0.6mg之间,并且在较小的地理范围内,地磁场的正常磁场强度值基本保持不变,因此,可以通过使校准后的磁场强度与正常磁场强度的误差满足预设条件从而确定软磁干扰修正量、硬磁干扰修正量。

将所有校准后的磁场强度的三轴磁场强度值的平方和减去正常磁场强度的平方的差值相加,得到校准后的磁场强度与正常磁场强度的误差,例如采用以下公式进行表示:

其中,hi表示第i个校准后的数据,n表示校准后的数据的个数,由校准数据的个数决定,r表示正常磁场强度。

将公式(1)代入公式(2)中可以得到转化的误差关系表示:

通过公式(3)可见,已知校准数据ai作为训练数据(例如n=300个校准数据),预设e的取值范围,如果通过其他测试方法得到正常磁场强度r作为已知参数,则可以通过对公式(3)进行求解得到硬磁干扰修正量b和软磁干扰修正量m,如果将正常磁场强度r也作为未知变量,则可以求得正常磁场强度r、硬磁干扰修正量b和软磁干扰修正量m,求解方法后续进行详细描述。

步骤s406,利用软磁干扰修正量、硬磁干扰修正量对罗盘进行校准。

获得软磁干扰修正量、硬磁干扰修正量之后,当使用罗盘进行导航时则将罗盘实际测量数据、软磁干扰修正量、硬磁干扰修正量直接代入公式(1)即可得到校准后的磁场强度,从而使得罗盘能够实现更为精确的导航功能。

现有技术中,在对罗盘进行校准时通常只考虑硬磁干扰的影响,而忽略了软磁干扰的影响,上述实施例的方法,同时考虑硬磁干扰和软磁干扰的影响,并对两者进行求解,从而对罗盘进行校准,提高了罗盘校准的精确度,使得罗盘能够实现更精确的导航功能。

上述实施例中提到公式(3)中的需要求解的自变量可以是硬磁干扰修正量b和软磁干扰修正量m,也可以是正常磁场强度r、硬磁干扰修正量b和软磁干扰修正量m,由于公式(3)属于非线性多未知数方程的求解,可以利用lm(levenbergmarquardt,列文伯格-马夸尔特)算法进行求解,为了提高计算的效率,本发明对lm算法进行了改进。

首先,如果将正常磁场强度r也作为自变量进行求解,则可以将求解过程分为两次进行,以提高计算效率,优选的,预设软磁干扰修正量m的值,通过使校准后的磁场强度与正常磁场强度的误差满足预设条件,确定正常磁场强度r以及硬磁干扰修正量b;基于确定的正常磁场强度r以及软磁干扰修正量b,通过使校准后的磁场强度与正常磁场强度的误差满足预设条件,确定软磁干扰修正量。分为两次进行求解的过程,减少了每次未知参数的个数,提高了计算效率,此外,对正常磁场强度也进行计算获得,可以进一步提高校准的准确性。

下面结合图5描述本发明中如何利用改进的lm算法求解公式(3)中的自变量。

图5为本发明罗盘校准方法另一个实施例的流程图。如图5所示,步骤s406包括:

步骤s4061,获取转化的误差关系表示关于各个自变量的雅可比矩阵。

其中,自变量为正常磁场强度r、软磁干扰修正量m以及硬磁干扰修正量b中的一项或多项,不作为自变量的项采用预设值。即,可以一次完成求解过程,也可以分多次完成求解过程,每次求解都可以采用本发明中改进的lm算法。

步骤s4062,根据雅可比矩阵、迭代误差、迭代步长和自变量构建增量正规方程。

增量正规方程表示为:

其中,δk表示第k次迭代的自变量,可以表示为向量的形式,即将需要求解的各个未知数按照一定的顺序进行排列形成向量,jk表示第k次迭代的雅可比矩阵,ek表示第k次迭代的迭代误差,λk表示第k次迭代的迭代步长,i表示单位矩阵。

步骤s4063,迭代次数k=0,初始化自变量的值δ0,第一迭代步长值λ01和第二迭代步长值λ02,设置终止迭代误差即校准后的磁场强度与正常磁场强度的误差需要满足的预设条件eth,迭代梯度v。

其中,δ0中如果包括正常磁场强度r,初始化时r可以设置为200,如果包括软磁干扰修正量m,则对角线设置为1,其他元素为0,如果包括硬磁干扰修正量b中的元素可以均设置为0,第一迭代步长值λ01可以设置为10-3,λ02可以设置为λ02=λ01/v,v=10,λ02也可以与λ01没有上述比例关系,设置为其他数值。eth可以设置为0.001。

步骤s4064,将自变量的值δk代入雅可比矩阵计算雅可比矩阵jk,将自变量的值δk代入公式(3)计算迭代误差ek。

δk可以包含b或m中各个元素的值以及r的值。

步骤s4065,将计算后的雅可比矩阵jk、计算后的迭代误差ek、第一迭代步长值λk1代入增量正规方程(4)解得自变量第一值δk+1,1;将计算后的雅可比矩阵jk、计算后的迭代误差ek、第二迭代步长值λk2代入增量正规方程(4)解得自变量第二值δk+1,2。

步骤s4066,将自变量第一值δk+1,1代入公式(3),得到第一更新迭代误差ek+1,1,将自变量第二值δk+1,2代入公式(3),得到第二更新迭代误差ek+1,2。

其中,迭代误差ek、第一更新迭代误差ek+1,1、得到第二更新迭代误差ek+1,2,均为正数,即代入公式(3)如果得到负数则取其绝对值。

步骤s4067,将第一更新迭代误差ek+1,1和第二更新迭代误差ek+1,2分别与预设条件eth进行比对,如果ek+1,1>eth,且ek+1,2>eth则执行步骤s4068,如果ek+1,1≤eth或ek+1,2≤eth,则执行步骤s4069。

步骤s4068,用第一迭代步长值λk1乘以预设迭代梯度v来更新第一迭代步长值λk+1,1,即λk+1,1=λk1·v,用第二迭代步长值λk2乘以预设迭代梯v度来更新第二迭代步长值λk+1,2,即λk+1,2=λk2·v;如果第一更新迭代误差ek+1,1小于第二更新迭代误差ek+1,2,则用自变量第一值δk+1,1来更新自变量的值δk+1,即,如果ek+1,1<ek+1,2,则δk+1=δk+1,1,如果第二更新迭代误差ek+1,2小于第一更新迭代误差ek+1,1,则用自变量第二值δk+1,2来更新自变量的值δk+1,即,如果ek+1,2≤ek+1,1,则δk+1=δk+1,2,返回步骤s4064,进入下一迭代周期,即k++。

预设迭代梯度也可以设置两个v1和v2,分别用于更新第一迭代步长值和第二迭代步长值,即,λk+1,1=λk1·v1,λk+1,2=λk2·v2。本方案中还可以设置更多不同的迭代步长。

步骤s4069,如果第一更新迭代误差小于预设条件,即ek+1,1<eth,则将自变量第一值δk+1,1作为自变量的值输出,如果第二更新迭代误差小于预设条件,即ek+1,2<eth,则将自变量第二值δk+1,2作为自变量的值输出。

上述实施例中,设置不同的迭代步长,使得算法能够更快的达到终止条件,同时,优化了lm算法的迭代判断条件,进一步提高了算法的效率。

优选的,如前述实施例中描述,如果将正常磁场强度r、硬磁干扰修正量b和软磁干扰修正量m均作为未知的自变量,可以首先将正常磁场强度r、硬磁干扰修正量b作为自变量,预设软磁干扰修正量m的值,采用步骤s4061~s4069的方法计算得到正常磁场强度r、硬磁干扰修正量b的值,进一步将正常磁场强度r、硬磁干扰修正量b的值代入公式(3),将软磁干扰修正量m作为自变量,再次采用步骤s4061~s4069的方法计算得到软磁干扰修正量m的值,从而提高计算效率,当然,也可以将求解过程分为三次,每次分别求解正常磁场强度r、硬磁干扰修正量b和软磁干扰修正量m其中之一,或首先求解正常磁场强度r、硬磁干扰修正量b和软磁干扰修正量m其中之一,再求解剩余的两个,或者一次完成求解过程。

解得正常磁场强度r、硬磁干扰修正量b和软磁干扰修正量m可以与预设正常值进行比对,如果不符合要求,则认为附近有强磁场干扰。需要去除干扰源,重新校准。例如,计算得到正常磁场强度r需要在150~600mg范围内,硬磁干扰修正量b需要小于1000mg,软磁干扰修正量m的对角线值在0.2~5的范围内。

上述步骤s4061~s4069可以采用以下方法进行替代:

i)获取转化的误差关系表示关于各个自变量的雅可比矩阵。

其中,自变量为正常磁场强度、软磁干扰修正量以及硬磁干扰修正量中的一项或多项,不作为自变量的项采用预设值;

ii)根据雅可比矩阵、迭代误差、迭代步长和自变量增量构建增量正规方程。

iii)将自变量的值代入雅可比矩阵计算雅可比矩阵,将自变量的值代入转化的误差关系表示计算迭代误差。

iv)将计算后的雅可比矩阵、计算后的迭代误差、第一迭代步长值代入增量正规方程解得第一自变量增量,将计算后的雅可比矩阵、计算后的迭代误差、第二迭代步长值代入增量正规方程解得第二自变量增量。

v)将第一自变量增量与自变量的值之和代入转化的误差关系表示,得到第一更新迭代误差,将第二自变量增量与自变量的值之和代入转化的误差关系表示,得到第二更新迭代误差。

vi)将第一更新迭代误差和第二更新迭代误差分别与预设条件和迭代误差进行比对:

如果第一更新迭代误差和第二更新迭代误差均大于迭代误差,则用第一迭代步长值乘以预设迭代梯度来更新第一迭代步长值,用第二迭代步长值乘以预设迭代梯度来更新第二迭代步长值,自变量的值保持不变,重复步骤iii)至vi),直至第一更新迭代误差值或第二更新迭代误差值小于或等于预设条件;

如果第一更新迭代误差和第二更新迭代误差均大于预设条件,且第一更新迭代误差和第二更新迭代误差均小于迭代误差,则如果第一更新迭代误差小于第二更新迭代误差,则用第一自变量增量与自变量之和来更新自变量的值,如果第二更新迭代误差小于第一更新迭代误差,则用第二自变量增量与自变量之和来更新自变量的值,则用第一迭代步长值除以预设迭代梯度来更新第一迭代步长值,用第二迭代步长值除以预设迭代梯度来更新第二迭代步长值,重复步骤iii)至vi),直至第一更新迭代误差值或第二更新迭代误差值小于或等于预设条件;

如果第一更新迭代误差和第二更新迭代误差均大于预设条件,且第一更新迭代误差小于迭代误差,第二更新迭代误差大于迭代误差,则,用第一自变量增量与自变量之和来更新自变量的值,迭代步长保持不变,重复步骤iii)至vi),直至第一更新迭代误差值或第二更新迭代误差值小于或等于预设条件;

如果第一更新迭代误差和第二更新迭代误差均大于预设条件,且第一更新迭代误差大于迭代误差,第二更新迭代误差小于迭代误差,则,用第二自变量增量与自变量之和来更新自变量的值,迭代步长保持不变,重复步骤iii)至vi),直至第一更新迭代误差值或第二更新迭代误差值小于或等于预设条件。

本发明还提供一种数据处理装置,下面结合图6进行描述。

图6为本发明数据处理装置一个实施例的结构图,如图6所示,数据处理装置60包括:

原始数据选取模块602,用于从利用罗盘采集的原始数据集中随机选取原始数据,并将选取的原始数据移出原始数据集,原始数据为三轴磁场强度值。

数据变换模块604,用于将选取的原始数据进行坐标变换以获得变换数据。

在一个实施例中,数据变换模块604,用于将选取的原始数据中一个或多个轴的磁场强度值进行取反变换得到相反数,以获得变换数据。

查重模块606,用于舍弃与原始数据或者已有的变换数据相同的所获得的变换数据。

迭代模块608,用于判断所有变换数据与所有原始数据的数量之和是否达到预设数量,如果没有达到预设数量,则触发原始数据选取模块602执行原始数据选取过程,如果达到预设数量,则将所有变换数据与所有原始数据共同作为罗盘的校准数据输出。

本发明还提供一种罗盘校准装置,下面结合图7进行描述。

图7为本发明罗盘校准装置一个实施例的结构图,如图7所示,数据处理装置70包括数据处理装置60,还包括:

关系确定模块702,用于确定校准后的磁场强度与校准数据、软磁干扰修正量以及硬磁干扰修正量的关系表示。

在一个实施例中,校准后的磁场强度与校准数据、软磁干扰修正量以及硬磁干扰修正量的关系表示为:校准后的磁场强度等于校准数据与硬磁干扰修正量之和乘以软磁干扰修正量。

参数确定模块704,用于通过使校准后的磁场强度与正常磁场强度的误差满足预设条件,确定软磁干扰修正量、硬磁干扰修正量。

在一个实施例中,参数确定模块704,用于将所有校准后的磁场强度的三轴磁场强度值的平方和减去正常磁场强度的平方的差值相加,得到校准后的磁场强度与正常磁场强度的误差。

校准模块706,用于利用软磁干扰修正量、硬磁干扰修正量对罗盘进行校准。

在一个实施例中,参数确定模块704,用于:

i)将校准数据、软磁干扰修正量以及硬磁干扰修正量代入校准后的磁场强度与正常磁场强度的误差关系表示中,获得转化的误差关系表示。

ii)获取转化的误差关系表示关于各个自变量的雅可比矩阵,其中自变量为正常磁场强度、软磁干扰修正量以及硬磁干扰修正量中的一项或多项,不作为自变量的项采用预设值。

iii)根据雅可比矩阵、迭代误差、迭代步长和自变量构建增量正规方程。

iv)将自变量的值代入雅可比矩阵计算雅可比矩阵,将自变量的值代入转化的误差关系表示计算迭代误差。

v)将计算后的雅可比矩阵、计算后的迭代误差、第一迭代步长值代入增量正规方程解得自变量第一值,将计算后的雅可比矩阵、计算后的迭代误差、第二迭代步长值代入增量正规方程解得自变量第二值。

vi)将自变量第一值代入转化的误差关系表示,得到第一更新迭代误差,将自变量第二值代入转化的误差关系表示,得到第二更新迭代误差。

vii)将第一更新迭代误差和第二更新迭代误差分别与预设条件进行比对:

如果第一更新迭代误差和第二更新迭代误差均大于预设条件,则用第一迭代步长值乘以预设迭代梯度来更新第一迭代步长值,用第二迭代步长值乘以预设迭代梯度来更新第二迭代步长值,如果第一更新迭代误差小于第二更新迭代误差,则用自变量第一值来更新自变量的值,如果第二更新迭代误差小于第一更新迭代误差,则用自变量第二值来更新自变量的值,重复步骤iv)至vii),直至第一更新迭代误差值或第二更新迭代误差值小于或等于预设条件;

如果第一更新迭代误差小于预设条件,则将自变量第一值作为自变量的值输出,如果第二更新迭代误差小于预设条件,则将自变量第二值作为自变量的值输出。

其中,自变量的值在初始迭代时采用预设值,第一迭代步长值和第二迭代步长值在初始迭代时采用预设值。

在一个实施例中,参数确定模块704,用于预设软磁干扰修正量的值,通过使校准后的磁场强度与正常磁场强度的误差满足预设条件,确定正常磁场强度以及硬磁干扰修正量,基于确定的正常磁场强度以及软磁干扰修正量,通过使校准后的磁场强度与正常磁场强度的误差满足预设条件,确定软磁干扰修正量。

上述实施例中的罗盘校准装置可以设置于电子罗盘或无人机上,也可以采用单独的装置,将最后计算得到的软磁干扰修正量、硬磁干扰修正量输出到罗盘中,用于罗盘校准。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一个实施例中的数据处理方法或罗盘校准方法的步骤。

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

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

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

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

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

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