具体实施方式
参考图1,一实施例中的磁力计校准的数据处理方法,包括如下步骤。
S100:获取采样点数以及采样点数对应的夹角阈值。
磁力计校准过程中,需要获取多个点的数据,根据获取的数据完成校准。采样点数指需要采集的数据的数量,可以由用户人工输入,也可以是预先设置多个采样点数,用户根据需要校准的精度选择对应的采样点数,所需精度越高,对应的采样点数越大。
夹角阈值为预设的与采样点数对应的一个夹角值。采样点数不同,对应的夹角阈值不同。具体地,获取到采样点数后,可根据采样点数和预设的对应关系查找对应的夹角阈值。
S120:采集校准过程中磁力计测量的数据得到当前测量的磁向量。
对磁力计进行校准过程中,用户需要采用校准方法对应的方式转动磁力计,比如按8字转动,磁力计测量的数据为转动过程中地磁场矢量在坐标轴的分量。根据磁力计测量的数据可得到磁向量。例如,第s次采集的磁力计测量的数据为(xs,ys,zs),则对应的磁向量为磁向量可以是实时采集,也可以是按照预设间隔进行采集。
S140:查找已存储的磁向量,获取当前测量的磁向量与已存储的磁向量之间的夹角,得到检测夹角。
已存储的磁向量为采集当前测量的磁向量之前已经存储好的磁向量,可以是从预设的数据库查找。若已存储的磁向量有多个,则需要分别获取当前测量的磁向量与各已存储的磁向量之间的夹角。即,检测夹角的数量等于已存储的磁向量的数量。
S160:根据检测夹角和夹角阈值判断当前测量的磁向量是否满足预设条件。若是,则执行步骤S180;否则返回执行步骤S120。
预设条件为预先设置的用于对检测夹角进行筛选的条件,具体为检测夹角与夹角阈值之间的关系条件,可以根据实际需要具体设置。
S180:存储当前测量的磁向量。
当前测量的磁向量满足预设条件,表示当前测量的磁向量通过筛选,可作为后续校准需使用的数据;此时,存储当前测量的磁向量,例如,可以存储于预设的数据库内,以便下次使用。在当前测量的磁向量不满足预设条件时,返回步骤S120,可再次采集下一个时刻磁力计测量的数据得到新的当前测量的磁向量。
S190:判断已存储的磁向量的数量是否等于采样点数。若否,则返回步骤S120。
已存储的磁向量为后续校准需使用的数据,需要等于采样点数。已存储的磁向量的数量没有达到采样点数,表示已存储的磁向量的数量小于采样点数,此时返回步骤S120,可以继续采集下一个时刻磁力计测量的数据,得到新的当前测量的磁向量后进行预设条件的判断。如此循环,直到已存储的磁向量等于采样点数。
上述磁力计校准的数据处理方法,通过获取采样点数以及采样点数对应的夹角阈值,并采集校准过程中磁力计测量的数据得到当前测量的磁向量;然后查找已存储的磁向量,获取当前测量的磁向量与已存储的磁向量之间的夹角得到检测夹角;根据检测夹角和夹角阈值检测当前测量的磁向量是否满足预设条件,在当前测量的磁向量满足预设条件时,存储当前测量的磁向量,并比较已存储的磁向量的数量与采样点数;在当前测量的磁向量不满足预设条件,或已存储的磁向量的数量没有达到采样点数时,返回继续采集校准过程中磁力计测量的数据得到当前测量的磁向量,循环直到已存储的磁向量的数量等于采样点数。如此,对于校准过程中磁力计测量得到的磁向量,需要先根据夹角阈值、测量的磁向量与已存储的磁向量得到的检测夹角分析判断,在满足预设条件时才存储测量的磁向量,可对磁力计采集的数据进行冗余处理,提高待使用数据的准确性,从而提高校准的精确度。
在一实施例中,上述磁力计校准的数据处理方法应用于基于最小二乘法拟合曲面的立体校准方法时,步骤S100之前,还包括步骤:存储球面上均匀点数与夹角的关系表。对应地,步骤S100为:获取采样点数,从关系表中查找对应采样点数的夹角得到夹角阈值。
球面上均匀点数与夹角的关系表,为球面上可能分布的多个均匀点的数量与两点之间夹角的对应关系。因此,根据关系表获取的采样点数对应的夹角阈值,为在球面上均匀分布采样点数对应数量的点时,两点之间的夹角,根据该夹角阈值对当前测量的磁向量进行预设条件的判断,可以对磁向量对应的点进行均匀度筛选,提高已存储的磁向量对应点的均匀度,从而提高校准的精确度。
本实施例中,关系表为美国数学家Neil Sloane总结得到的球面上均匀点数与夹角的关系表,如图2所示,图2的两列数据中,左边一列表示均匀点数,右边一列表示对应的夹角。
基于最小二乘法拟合曲面的立体校准过程中,由于拟合方程未知,椭球面上两点之间的距离难以计算,所以采用圆球面去近似。参考图3,AB两个点之间的距离与椭球中心点O到两个球面点的向量夹角θ0成正比。根据向量夹角计算公式:
那么可以设置θ0的大小作为判断两点之间距离的大小,其中a为预设参数。在实际校准中,设置采样的点为球面上均匀分布的点,首先确定采样点数,从而确定θ0的大小。但是球面上均匀分布点的个数与θ0的关系无法确定,正多面体类型有限,难以模拟。因此,本实施例中,采用美国数学家Neil Sloane总结得到的球面上均匀点数与夹角的关系表,可以确定采样点数与夹角阈值的对应关系。
在一实施例中,参考图4,步骤S100之后,步骤S160之前,还包括步骤S110。
S110:根据预设夹角误差调整夹角阈值,得到新的夹角阈值。
预设夹角误差为预先设置的允许接收的误差值,可根据实际情况具体设置。
对应地,本实施例中,步骤S160为:根据检测夹角和新的夹角阈值判断当前测量的磁向量是否满足预设条件。
磁力计在实际使用过程中,可能会因电磁干扰而导致测量的数据不准确。通过设置预设夹角误差对夹角阈值进行调整,可以提高步骤S160判断结果的准确性。
本实施例中,步骤S110具体为:计算夹角阈值与预设夹角误差的差值,将差值作为新的夹角阈值。例如,与采样点数对应的夹角阈值为30°,预设夹角误差为5°,则调整夹角阈值后,得到的新的夹角阈值为25°(30°-5°)。可以理解,在其他实施例中,也可以采用其他调整方法。
在一实施例中,继续参考图4,步骤S120之后,步骤S140之前,还包括步骤S131和步骤S132。
S131:判断当前测量的磁向量是否为校准过程中采集的第一个磁向量。若是,则执行步骤S132;否则执行步骤S140。
磁向量的采集为按时间顺序先后进行,若当前测量的磁向量对应为校准过程中采集的第一个磁向量,表示为此次校准过程中的第一次采集得到的磁向量。
S132:存储第一个磁向量,并返回步骤S120。
当前测量的磁向量为采集的第一个磁向量时,已存储的磁向量为零,此时,直接将当前测量的磁向量进行存储,不需要进行夹角的计算,处理方式简单。对于之后每次采集得到的当前测量的磁向量,都需要与已存储的磁向量计算夹角得到检测夹角。
在一实施例中,步骤S140中获取当前测量的磁向量与已存储的磁向量之间的夹角,得到检测夹角,包括:
其中,为第l个已存储的磁向量,为第m次采集得到的当前测量的磁向量,a为预设参数,θ为检测夹角。
在一实施例中,步骤S160包括:判断检测夹角是否大于或等于夹角阈值。若是,则判定当前测量的磁向量满足预设条件。
通过将检测夹角大于或等于夹角阈值作为预设条件,可以确保得到的已存储的磁向量对应的点之间的距离过短。应用于基于最小二乘法拟合曲面的立体校准方法时,由于球面上两点之间的夹角大小与两点之间的距离成正比,夹角越大,距离越远,因此设置检测夹角大于或等于夹角阈值作为预设条件,可以提高得到的已存储的磁向量对应的点之间距离的均匀度,从而提高校准的精确度。
在一实施例中,步骤S190之后,还包括:若已存储的磁向量的数量等于采样点数,则根据已存储的磁向量获取预设拟合方程的参数值。
预设拟合方程为用于磁力计校准的计算方程,预设拟合方程中设有多个未知参数,根据已存储的磁向量结合运算推导,可得到未知参数的参数值,从而可得到用于磁力计校准的已知拟合方程。
本实施例中,预设拟合方程为:
其中,xa、yb、zc、a、b、c为未知参数,x、y、z为变量。根据已存储的磁向量获取预设拟合方程的参数值的推导运算过程如下。
令:
那么有:
转换成矩阵运算有:
令:
那么有:
x2=[2x,-y2,2y,-z2,2z,1][k1,k2,k3,k4,k5,k6]T;
根据采样点数n,那么有如下矩阵关系成立,有n个方程求解6个未知量,所以n≥6。
令:
最小二乘法拟合椭球,计算k1,k2,k3,k4,k5,k6,那么有:
K=(DTD)-1(DTE);
计算a,xa,b,yb,c,zc有:
如此,可计算得到未知参数xa、yb、zc、a、b、c对应的参数值。将未知参数的参数值代入预设拟合方程得到已知拟合方程,在以后的校准运算中便可以使用。例如,采集三个轴的磁力计数据xt,yt,zt,校准后的数据为xc,yc,zc,归一化后的数据为xe,ye,ze,那么存在以下关系:
参考图5,一实施例中的磁力计校准的数据处理装置,包括点数获取模块110、磁向量采集模块120、夹角计算模块130、条件分析模块140、磁向量存储模块150和循环操作模块160。
点数获取模块110用于获取采样点数以及采样点数对应的夹角阈值。
磁向量采集模块120用于采集校准过程中磁力计测量的数据得到当前测量的磁向量。
夹角计算模块130用于查找已存储的磁向量,获取当前测量的磁向量与已存储的磁向量之间的夹角,得到检测夹角。
条件分析模块140用于根据检测夹角和夹角阈值判断当前测量的磁向量是否满足预设条件。
磁向量存储模块150用于在当前测量的磁向量满足预设条件时,存储当前测量的磁向量,判断已存储的磁向量的数量是否等于采样点数。
循环操作模块160用于在当前测量的磁向量不满足预设条件,或已存储的磁向量的数量小于采样点数时,控制磁向量采集模块120再次采集校准过程中磁力计测量的数据得到当前测量的磁向量。
上述磁力计校准的数据处理装置,通过点数获取模块110获取采样点数以及采样点数对应的夹角阈值,磁向量采集模块120采集校准过程中磁力计测量的数据得到当前测量的磁向量;夹角计算模块130查找已存储的磁向量,获取当前测量的磁向量与已存储的磁向量之间的夹角得到检测夹角;条件分析模块140根据检测夹角和夹角阈值检测当前测量的磁向量是否满足预设条件,磁向量存储模块150在当前测量的磁向量满足预设条件时,存储当前测量的磁向量,并判断已存储的磁向量的数量是否等于采样点数;循环操作模块160在当前测量的磁向量不满足预设条件,或已存储的磁向量的数量没有达到采样点数时,控制磁向量采集模块120继续采集校准过程中磁力计测量的数据得到当前测量的磁向量,循环直到已存储的磁向量的数量等于采样点数。如此,对于校准过程中磁力计测量得到的磁向量,需要先根据夹角阈值、测量的磁向量与已存储的磁向量得到的检测夹角分析判断,在满足预设条件时才存储测量的磁向量,可对磁力计采集的数据进行冗余处理,提高待使用数据的准确性,从而提高校准的精确度。
在一实施例中,上述磁力计校准的数据处理装置应用于基于最小二乘法拟合曲面的立体校准方法时,还包括关系表存储模块(图未示),用于存储球面上均匀点数与夹角的关系表。本实施例中,点数获取模块110用于:获取采样点数,从关系表中查找对应采样点数的夹角得到夹角阈值。
根据关系表获取的采样点数对应的夹角阈值,为在球面上均匀分布采样点数对应数量的点时,两点之间的夹角,根据该夹角阈值对当前测量的磁向量进行预设条件的判断,可以对磁向量对应的点进行均匀度筛选,提高已存储的磁向量对应点的均匀度,从而提高校准的精确度。
在一实施例中,参考图6,上述磁力计校准的数据处理装置还包括阈值更新模块170,用于在点数获取模块110获取采样点数以及夹角阈值后,根据预设夹角误差调整夹角阈值,得到新的夹角阈值。
本实施例中,条件分析模块140用于根据检测夹角和新的夹角阈值判断当前测量的磁向量是否满足预设条件。
磁力计在实际使用过程中,可能会因电磁干扰而导致测量的数据不准确。通过设置预设夹角误差对夹角阈值进行调整,可以提高是否满足预设条件的判断准确性。
在一实施例中,参考图6,上述磁力计校准的数据处理装置还包括磁向量分析模块180,用于在磁向量采集模块120采集当前测量的磁向量之后,判断当前测量的磁向量是否为校准过程中采集的第一个磁向量;若是,则存储第一个磁向量,并控制磁向量采集模块120再次采集校准过程中磁力计测量的数据得到当前测量的磁向量;若否,则控制夹角计算模块130查找已存储的磁向量,获取当前测量的磁向量与已存储的磁向量之间的夹角,得到检测夹角。
在一实施例中,条件分析模块140用于:判断检测夹角是否大于或等于夹角阈值;若是,则判定当前测量的磁向量满足预设条件。
在一实施例中,上述磁力计校准的数据处理装置还包括参数获取模块(图未示),用于在已存储的磁向量的数量等于采样点数时,根据已存储的磁向量获取预设拟合方程的参数值。
磁力计主要用途是计算航向角,通过对比航向角精度高低可以非常明显的体现出校准效果的好坏。为了对比上述磁力计校准的数据处理方法带来的有益效果,应用例中,将磁力计放在水平转台上进行旋转,转台以10度每秒旋转两周,采集磁力计测量的数据。磁力计采集的数据经过传统校准方法以及本发明的磁力计校准的数据处理方法后计算航向角。如图7所示三条曲线S1、S2、S3分别是实际的转台角度、传统方法校准后计算的航向角和本发明的磁力计校准的数据处理方法后计算的航向角,可以明显看出采用本发明的方法校准后计算得到的航向角计算更加接近实际的转台角度。如图8所示,S4为采用传统方法校准磁力计后计算的航向角和实际角度之间的残差平方,S5为采用本文方法校准磁力计后计算的航向角和实际角度之间的残差平方。由图8可知,传统方法校准后,磁力计在航向角误差呈现较大波动,而采用本文方法校准后可以很好的控制航向角误差范围。综上,经试验证明,上述磁力计校准的数据处理方法可以提高磁力计校准的精度。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。