CN107656227A - 基于Levenberg‑Marquardt算法的磁力计校准方法 - Google Patents
基于Levenberg‑Marquardt算法的磁力计校准方法 Download PDFInfo
- Publication number
- CN107656227A CN107656227A CN201710860476.6A CN201710860476A CN107656227A CN 107656227 A CN107656227 A CN 107656227A CN 201710860476 A CN201710860476 A CN 201710860476A CN 107656227 A CN107656227 A CN 107656227A
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- mtd
- mfrac
- alpha
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012897 Levenberg–Marquardt algorithm Methods 0.000 title claims abstract description 6
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 36
- 239000011159 matrix material Substances 0.000 claims description 25
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000010606 normalization Methods 0.000 claims description 2
- 241000208340 Araliaceae Species 0.000 claims 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 1
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 1
- 235000008434 ginseng Nutrition 0.000 claims 1
- 238000004458 analytical method Methods 0.000 abstract description 2
- 238000012417 linear regression Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R33/00—Arrangements or instruments for measuring magnetic variables
- G01R33/0023—Electronic aspects, e.g. circuits for stimulation, evaluation, control; Treating the measured signals; calibration
Landscapes
- Physics & Mathematics (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- General Physics & Mathematics (AREA)
- Measuring Magnetic Variables (AREA)
Abstract
本发明提供了一种基于Levenberg‑Marquardt算法的磁力计校准方法,属于最优化理论、数值分析与非线性回归技术领域。本发明的磁力计校准方法通过引入L‑M算法进行非线性拟合校准不仅能够避免个别受偶然误差影响的数据对校准产生干扰,而且规避了传统使用Newton‑Gauss法进行非线性拟合时可能出现的只能得到较差的局部最小值估计的情况,利用了磁力计拟合的数据结构较简单的特点,具有较好的全局二次收敛性。L‑M算法具有较强的全局收敛性,在处理不同区间的磁力计原始数据时虽然设置较好的初始解值对收敛速度有所帮助,但最终,算法都能对输入数据进行较好的拟合。
Description
技术领域
本发明属于最优化理论、数值分析与非线性回归技术领域,提出了一种效果更佳的针对磁力计校准的优化方法。
背景技术
磁力计,又称电子罗盘,在现代技术条件中作为姿态传感器已被广泛应用。其与传统姿态传感器相比能耗低、体积小、重量轻、精度高、可微型化,其输出信号通过处理可以实现数码显示,不仅可以用来指向,其数字信号可以控制仪器的操纵或者提供姿态信号。目前,广为使用的是三轴捷联磁阻式数字磁罗盘,这种罗盘具有抗摇动和抗振性、航向精度较高、对干扰场有电子补偿、可以集成到控制回路中进行数据链接等优点,因而广泛应用于航空、航天、机器人、航海、车辆自主导航等领域。
然而,在日常工作实践中我们常常要接触到磁力计,而磁力计在不同的使用情境下常常会因为硬件、软件的限制或者地理上的误差干扰产生或大或小的扰动和偏差,所以对磁力计构建的坐标系的校准是一项较为重要的工作,而对其的校准算法是整个校准过程的核心。磁力计的传统校准方法是通过求数据集各个维度所对应的中值并求满足相乘后使得各个维度取值范围长度相等的系数来确定磁力计误差,本发明提供了一种新的拟合方法。
本发明专利有两方面的目的:一是提供了一种快速而高效的磁力计校准方法;二是可以有效提高校准过程的鲁棒性,给予算法处理各种不同“优劣”的数据的能力。
发明内容
本发明提供一种基于L-M(Levenberg-Marquardt)算法,在牛顿-高斯法(Newton-Gauss Method)的基础上对于磁力计传入的三维数据进行非线性拟合的方法,通过求解包含输入数据的一个超定方程,最终算法将输出一个二次曲面,在此基础上对磁力计进行校准。
本发明的技术方案:
基于Levenberg-Marquardt算法的磁力计校准方法,步骤如下:
收集数据,对应输入数据生成对应雅克比矩阵和海森矩阵,在求出的Hessian阵上加上一个正定矩阵以衡量解的优劣,在此情况上求解超定方程,循环迭代直到达到指定精度时停机。接下来输出的椭球方程中解析出一个位置偏移向量与x,y,z三个坐标轴的放缩系数完成磁力计的校准。
(1)基于L-M算法的拟合实际上是应用改进的Newton-Gauss法的过程
①生成雅克比矩阵(Jacobian Matrix)和海森(Hessian Matrix)矩阵
使用立体8字校准法从磁力计获得原始数据,采集到的原始的磁力计数据表示为三维向量组的数据集,为了避免计算能力的浪费,在算法的开始先对数据进行预处理,即删除重复数据并视具体情况进行归一化,如果进行归一化则必须在算法结束时对解进行反向归一化,还原解为原数量级。
对于输入的三维向量数据,满足:
(x-a)2+e(y-b)2+f(z-c)2=d2
(其中x,y,z为输入三维坐标分量值,a,b,c,d,e,f为待求参数)
等同于拟合变形的函数:
F(α)=(x-a)2+e(y-b)2+f(z-c)2-d2
其中α=(a,b,c,d,e,f),在解集非空的情况下假设J(α)是F(α)的雅克比矩阵,有:
其中Fm(α)表示将第m组数据αm=(am,bm,cm,dm,em,fm)带入F(α)的值。
设H(α)是J(α)对应的海森矩阵,有:
H(α)=J(α)TJ(α)
根据K.Madsen等的著作《METHODS FOR NON-LINEAR LEAST SQUARES PROBLEMS》中的证明我们可以知道在雅克比矩阵满秩,并且所求F(α)的二阶偏导数可以忽略的情况下Newton-Gauss法有二次收敛性,L-M算法有全局二次收敛性。
②求解超定方程组
传统Newton-Gauss的方法中,设dk有以下关系:
dk=-(J(α)TJ(α))-1Jk TFk(α)
即:
dk=-(H(α))-1Jk TFk(α)
当dk满足||F(αk+dk)||2≤||F(αk)||2时,有:
αk+1=αk+dk
直到||F(αk+1)||≤e时(e是设定好的精确度,对于不同数据的拟合e的最优数量级可能不同),停机。此时的αk+1便是拟合的解向量。第一次迭代时,k=0,设定此时ak=a0,a0是算法待拟合参数设定的初始值;应注意的是第一次迭代时设定||F(a0+1)||=||0-F(α0)||=||F(α0)||,即初始误差值为用所原始数据与设定的初始待确定参数值带入拟合方程求的一个一维、包含三维数据向量个数的结果值的向量的二范数的值。
对于L-M算法,其与Newton-Gauss法最大的不同是把海森矩阵与一个所有元素乘以某个系数的单位矩阵相加,现规定如下:
Hk′(α)=H(α)+μkI
上式中,μk表示第k次迭代时的修正因子,在L-M算法的输入阶段规定一个起始值为10E-4,对Newton-Gauss法的解下降的方向进行反馈,I表示一个n维的单位矩阵,n表示拟合参数的个数,如此变换防止因海森矩阵的行列式过小导致而误差和迭代速度过慢的问题,同时克服了Newton-Gauss法对于J(α)必须满秩的要求;
根据上式,L-M算法的迭代方程表示为:
dk=-(H′k(α))-1Jk TFk(α)
若||F(αk+dk)||2≤||F(αk)||2,则有:
αk+1=αk+dk
μk+1=μk/ε
否则:
αk+1=ak
μk+1=δμk
其中,ε表示修正因子的缩小倍数,δ表示修正因子的放大倍数,一般两个参数设置为10。反复迭代直到||F(αk+1)||≤e时,停机。此时的αk+1便是拟合的解向量。
(2)使用拟合的二次曲面方程对磁力计进行校准
假设磁力计测得的磁向量为(xi,yi,zi),则理想状态下磁向量原来满足球体方程:
xi 2+yi 2+zi 2=di 2
假设误差下的磁力计测得的磁向量为(xm,ym,zm),则(xm,ym,zm)与(xi,yi,zi)的关系可以表示为:
xm=Axi+xoffset,ym=Byi+yoffset,zm=Czi+zoffset
从上式中我们可以看出磁力计的校准的过程本质上就是求A,B,C,xoffset,yoffset,zoffset这六个参数的值的过程,传统的磁力计校准过程中,上述参数与输入数据的关系为:
(其中xmax,xmin,ymax,ymin,zmax,zmin分别表示对应坐标轴数据的最大与最小值)
使用L-M算法的场合下,将xm=Axi+xoffset,ym=Byi+yoffset,zm=Czi+zoffset带入xi 2+yi 2+zi 2=di 2并且与基准函数(xm-a)2+e(ym-b)2+f(zm-c)2=d2相对比后得出:
xoffset=a,yoffset=b,zoffset=c
即可以使用L-M算法求得的参数α=(a,b,c,d,e,f)得到真实的磁向量(xi,yi,zi):
至此,磁力计校准完成。
本发明的有益效果:
①引入了高精度算法
传统的校准磁力计的方法为获取误差后的磁力计磁向量数据,找出每个维度的取值范围,把每个维度的取值范围的中值对应的处作为误差后坐标原点,将每个维度的取值范围的长度与理论数据取值范围进行比较后放缩到原长度以抵消原来每个维度对磁向量伸长/缩小效应的误差影响,这种方法的缺点是容易受个别极端大误差数据的影响而大幅影响校准效果,同时没有处理磁力计传递的错误数据的能力。
引入L-M算法进行非线性拟合校准不仅能够避免个别受偶然误差影响的数据对校准产生干扰,而且规避了传统使用Newton-Gauss法进行非线性拟合时可能出现的只能得到较差的局部最小值估计的情况,利用了磁力计拟合的数据结构较简单的特点,具有较好的全局二次收敛性。同时实验证明本算法在处理磁力计校准问题时工作效率较高,对于不足100个数据即可拟合出精确度较高的参数,普遍拟合迭代次数约为7次,时间与空间效率较平衡。
②具有较强的鲁棒性
L-M算法具有较强的全局收敛性,在处理不同区间的磁力计原始数据时虽然设置较好的初始解值对收敛速度有所帮助,但最终,算法都能对输入数据进行较好的拟合。
有时由于硬件原因导致磁向量对应点集极其分散,呈现明显的不规则型,在磁力计校准过程中这类型的点集应该作为废弃数据,然而传统的校准方法在处理这类废弃数据并没有比较好的分辨方法,未能排除错误状态从而产生错误校准,应注意这种发散点集对应的数据集即使在本发明的方法内仍可能拟合成为马鞍面或者双曲面,这时只要查看拟合方程的e与f参数,观察两个参数是否都为正数即可过滤产生马鞍面或双曲面等因为数据问题导致的错误,提高了磁力计校准的鲁棒性。
附图说明
图1是本发明的磁力计校准研究方案示意图。
图2是L-M算法非线性拟合过程示意图。
图3是L-M算法拟合的结果图。
具体实施方式
以下结合附图和技术方案,进一步说明本发明的具体实施方式。
一种基于Levenberg-Marquardt算法的磁力计校准方法,包括基于L-M算法非线性拟合和磁力计校准两部分:
1.基于L-M算法非线性拟合
从外部读取到磁力计的未校准数据后将所有数据以三维向量组的形式传递给算法所在的程序。
设置好L-M算法的基本参数:初始解的值,最大迭代次数,初始修正因子的值,修正因子的放大倍数和缩小倍数的值。开始对输入数据进行处理,过程包括生成对应的雅克比矩阵和海森矩阵、解超定方程组、对解的结果进行分析、判断是否达到指定精度与决定是否停止迭代。
对L-M算法的输出解向量的e,f参数进行分析,e,f参数同时是正数的情况表示拟合成功,进行下一阶段,否则表示输入数据无法拟合并退出流程。
2.磁力计的校准
获取基于L-M算法的非线性拟合解后对解向量进行处理,从其包含的六个参数中解析误差的抽象表示,用一个新的解向量表示误差向量,对之后磁力计获取到的数据用这个误差向量包含的参数处理即可得到校准后的磁力计磁向量。
Claims (1)
1.一种基于Levenberg-Marquardt算法的磁力计校准方法,其特征在于,步骤如下:
(1)基于L-M算法的拟合过程,实际上是应用改进的Newton-Gauss法的过程①生成雅克比矩阵和海森矩阵
使用立体8字校准法从磁力计获得原始数据,将采集到的原始的磁力计数据表示为三维向量组数据集;先对三维向量组数据集进行预处理,即删除重复数据并视具体情况进行归一化;若进行归一化,需对解进行反向归一化,还原解为原数量级;
对于输入的三维向量组数据集,
满足:(x-a)2+e(y-b)2+f(z-c)2=d2;
其中:x,y,z为输入三维坐标分量值,a,b,c,d,e,f为待求参数;
等同于拟合变形的函数:
F(α)=(x-a)2+e(y-b)2+f(z-c)2-d2
其中α=(a,b,c,d,e,f),在解集非空的情况下,假设J(α)是F(α)的雅克比矩阵,有:
<mrow>
<mi>J</mi>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mo>&lsqb;</mo>
<mtable>
<mtr>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>a</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>b</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>c</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>d</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>e</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>f</mi>
</mrow>
</mfrac>
</mtd>
</mtr>
<mtr>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>a</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>b</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>c</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>d</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>e</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>f</mi>
</mrow>
</mfrac>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>...</mn>
</mtd>
<mtd>
<mn>...</mn>
</mtd>
<mtd>
<mn>...</mn>
</mtd>
<mtd>
<mn>...</mn>
</mtd>
<mtd>
<mn>...</mn>
</mtd>
<mtd>
<mn>...</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mi>m</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>a</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mi>m</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>b</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mi>m</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>c</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mi>m</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>d</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mi>m</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>e</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<mo>&part;</mo>
<msub>
<mi>F</mi>
<mi>m</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>&part;</mo>
<mi>f</mi>
</mrow>
</mfrac>
</mtd>
</mtr>
</mtable>
<mo>&rsqb;</mo>
</mrow>
其中:Fm(α)表示将第m组数据αm=(am,bm,cm,dm,em,fm)带入F(α)的值;
设H(α)是J(α)对应的海森矩阵,有:
H(α)=J(α)TJ(α)
可知,雅克比矩阵满秩,且所求F(α)的二阶偏导数忽略的情况下,Newton-Gauss法有二次收敛性,L-M算法有全局二次收敛性;
②求解超定方程组
传统Newton-Gauss的方法中,设dk有以下关系:
dk=-(J(α)TJ(α))-1Jk TFk(α)
即:
dk=-(H(α))-1Jk TFk(α)
规定:
E(α)=(F1(α),F2(α),F3(α),...,Fm(α))
当dk满足||E(αk+dk)||2≤||E(αk)||2时,有:
αk+1=αk+dk
直到||E(αk+1)||≤e时,停机;e是设定好的精确度;此时,αk+1是拟合的解;第一次迭代时,k=0,设定此时ak=a0,a0是算法待拟合参数设定的初始值;
对于L-M算法,其与Newton-Gauss法最大的不同是把海森矩阵与一个所有元素乘以某个系数的单位矩阵相加,现规定如下:
H′k(α)=H(α)+μkI
上式中,μk表示第k次迭代时的修正因子,在L-M算法的输入阶段规定一个起始值为10E-4,对Newton-Gauss法的解下降的方向进行反馈,I表示一个n维的单位矩阵,n表示拟合参数的个数,如此变换防止因海森矩阵的行列式过小导致而误差和迭代速度过慢的问题,同时克服了Newton-Gauss法对于J(α)必须满秩的要求;
根据上式,L-M算法的迭代方程表示为:
dk=-(H′k(α))-1Jk TFk(α)
若||F(αk+dk)||2≤||F(αk)||2,则有:
αk+1=αk+dk
μk+1=μk/ε
否则:
αk+1=ak
μk+1=δμk
其中,ε表示修正因子的缩小倍数,δ表示修正因子的放大倍数,二者均设置为10;反复迭代直到||F(αk+1)||≤e时,停机;此时的αk+1便是拟合的解向量;
(2)使用拟合的二次曲面方程对磁力计进行校准
假设磁力计测得的磁向量为(xi,yi,zi),则理想状态下,磁向量满足球体方程:
xi 2+yi 2+zi 2=di 2
假设误差下的磁力计测得的磁向量为(xm,ym,zm),则(xm,ym,zm)与(xi,yi,zi)的关系表示为:
xm=Axi+xoffset,ym=Byi+yoffset,zm=Czi+zoffset
从上式中看出磁力计的校准的过程本质上就是求A,B,C,xoffset,yoffset,zoffset这六个参数的值的过程,传统的磁力计校准过程中,上述参数与输入数据的关系为:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>A</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>B</mi>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>x</mi>
<mi>max</mi>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mi>min</mi>
</msub>
</mrow>
<mrow>
<msub>
<mi>y</mi>
<mi>max</mi>
</msub>
<mo>-</mo>
<msub>
<mi>y</mi>
<mi>min</mi>
</msub>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>C</mi>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>x</mi>
<mi>max</mi>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mi>min</mi>
</msub>
</mrow>
<mrow>
<msub>
<mi>z</mi>
<mi>max</mi>
</msub>
<mo>-</mo>
<msub>
<mi>z</mi>
<mi>min</mi>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>o</mi>
<mi>f</mi>
<mi>f</mi>
<mi>s</mi>
<mi>e</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>A</mi>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<msub>
<mi>x</mi>
<mi>max</mi>
</msub>
<mo>+</mo>
<msub>
<mi>x</mi>
<mi>min</mi>
</msub>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mi>y</mi>
<mrow>
<mi>o</mi>
<mi>f</mi>
<mi>f</mi>
<mi>s</mi>
<mi>e</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>B</mi>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<msub>
<mi>y</mi>
<mrow>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>y</mi>
<mi>min</mi>
</msub>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mi>z</mi>
<mrow>
<mi>o</mi>
<mi>f</mi>
<mi>f</mi>
<mi>s</mi>
<mi>e</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>C</mi>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<msub>
<mi>z</mi>
<mi>max</mi>
</msub>
<mo>+</mo>
<msub>
<mi>z</mi>
<mi>min</mi>
</msub>
</mrow>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中xmax,xmin,ymax,ymin,zmax,zmin分别表示对应坐标轴数据的最大与最小值:
使用L-M算法的场合下,将xm=Axi+xoffset,ym=Byi+yoffset,zm=Czi+zoffset带入xi 2+yi 2+zi 2=di 2并且与基准函数(xm-a)2+e(ym-b)2+f(zm-c)2=d2相对比后得出:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>A</mi>
<mo>=</mo>
<mfrac>
<mi>d</mi>
<msub>
<mi>d</mi>
<mi>i</mi>
</msub>
</mfrac>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>B</mi>
<mo>=</mo>
<mfrac>
<mi>d</mi>
<msub>
<mi>d</mi>
<mi>i</mi>
</msub>
</mfrac>
<msqrt>
<mfrac>
<mn>1</mn>
<mrow>
<mo>|</mo>
<mi>e</mi>
<mo>|</mo>
</mrow>
</mfrac>
</msqrt>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>C</mi>
<mo>=</mo>
<mfrac>
<mi>d</mi>
<msub>
<mi>d</mi>
<mi>i</mi>
</msub>
</mfrac>
<msqrt>
<mfrac>
<mn>1</mn>
<mrow>
<mo>|</mo>
<mi>f</mi>
<mo>|</mo>
</mrow>
</mfrac>
</msqrt>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
xoffset=a,yoffset=b,zoffset=c
即使用L-M算法求得的参数α=(a,b,c,d,e,f)得到真实的磁向量(xi,yi,zi):
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>d</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mi>m</mi>
</msub>
<mo>-</mo>
<mi>a</mi>
<mo>)</mo>
</mrow>
</mrow>
<mi>d</mi>
</mfrac>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>d</mi>
<mi>i</mi>
</msub>
<msqrt>
<mrow>
<mo>|</mo>
<mi>e</mi>
<mo>|</mo>
</mrow>
</msqrt>
<mrow>
<mo>(</mo>
<msub>
<mi>y</mi>
<mi>m</mi>
</msub>
<mo>-</mo>
<mi>b</mi>
<mo>)</mo>
</mrow>
</mrow>
<mi>d</mi>
</mfrac>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<msub>
<mi>z</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>d</mi>
<mi>i</mi>
</msub>
<msqrt>
<mrow>
<mo>|</mo>
<mi>f</mi>
<mo>|</mo>
</mrow>
</msqrt>
<mrow>
<mo>(</mo>
<msub>
<mi>z</mi>
<mi>m</mi>
</msub>
<mo>-</mo>
<mi>c</mi>
<mo>)</mo>
</mrow>
</mrow>
<mi>d</mi>
</mfrac>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
至此,磁力计校准完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710860476.6A CN107656227B (zh) | 2017-09-21 | 2017-09-21 | 基于Levenberg-Marquardt算法的磁力计校准方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710860476.6A CN107656227B (zh) | 2017-09-21 | 2017-09-21 | 基于Levenberg-Marquardt算法的磁力计校准方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107656227A true CN107656227A (zh) | 2018-02-02 |
CN107656227B CN107656227B (zh) | 2019-10-11 |
Family
ID=61130699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710860476.6A Active CN107656227B (zh) | 2017-09-21 | 2017-09-21 | 基于Levenberg-Marquardt算法的磁力计校准方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107656227B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828894A (zh) * | 2018-12-27 | 2019-05-31 | 东软集团股份有限公司 | 设备状态数据的采集方法、装置、存储介质和电子设备 |
CN109884658A (zh) * | 2019-03-04 | 2019-06-14 | 北京工业大学 | 基于激光追踪仪多站位测量系统的激光追踪仪站位方法 |
CN112079449A (zh) * | 2020-09-17 | 2020-12-15 | 浙江大学 | 一种自适应的电磁信号阻垢器及方法 |
CN112781613A (zh) * | 2020-12-02 | 2021-05-11 | 普宙飞行器科技(深圳)有限公司 | 一种无人机传感器的校准方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100550871B1 (ko) * | 2003-12-03 | 2006-02-10 | 삼성전기주식회사 | 전자나침반의 자동 보정 방법 |
CN102297687B (zh) * | 2011-05-13 | 2012-07-04 | 北京理工大学 | 一种电子罗盘的标定方法 |
CN102735268B (zh) * | 2012-07-10 | 2014-11-26 | 中国人民解放军国防科学技术大学 | 一种基于姿态优化激励的捷联三轴磁力仪标定方法 |
CN103278860B (zh) * | 2013-05-06 | 2015-10-28 | 国家海洋局第二海洋研究所 | 一种深海三分量磁力仪的现场自校正方法 |
CN105352487B (zh) * | 2015-10-13 | 2018-06-15 | 上海华测导航技术股份有限公司 | 一种姿态测量系统的精度校准方法 |
CN105676302A (zh) * | 2015-11-12 | 2016-06-15 | 东南大学 | 一种基于改进最小二乘法的磁力仪随机噪声误差补偿方法 |
CN106289243B (zh) * | 2016-08-03 | 2019-07-12 | 上海乐相科技有限公司 | 一种磁力计自动校准方法及系统 |
CN106959105B (zh) * | 2017-04-21 | 2019-11-05 | 北京京东尚科信息技术有限公司 | 罗盘校准方法和装置 |
CN107084712B (zh) * | 2017-04-21 | 2019-11-29 | 北京京东尚科信息技术有限公司 | 数据处理方法和装置以及罗盘校准方法和装置 |
CN107024673B (zh) * | 2017-05-22 | 2019-05-28 | 清华大学 | 基于陀螺仪辅助的三轴磁强计全误差标定方法 |
-
2017
- 2017-09-21 CN CN201710860476.6A patent/CN107656227B/zh active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828894A (zh) * | 2018-12-27 | 2019-05-31 | 东软集团股份有限公司 | 设备状态数据的采集方法、装置、存储介质和电子设备 |
CN109828894B (zh) * | 2018-12-27 | 2022-06-21 | 东软集团股份有限公司 | 设备状态数据的采集方法、装置、存储介质和电子设备 |
CN109884658A (zh) * | 2019-03-04 | 2019-06-14 | 北京工业大学 | 基于激光追踪仪多站位测量系统的激光追踪仪站位方法 |
CN109884658B (zh) * | 2019-03-04 | 2020-11-27 | 北京工业大学 | 基于激光追踪仪多站位测量系统的激光追踪仪站位方法 |
CN112079449A (zh) * | 2020-09-17 | 2020-12-15 | 浙江大学 | 一种自适应的电磁信号阻垢器及方法 |
CN112781613A (zh) * | 2020-12-02 | 2021-05-11 | 普宙飞行器科技(深圳)有限公司 | 一种无人机传感器的校准方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107656227B (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107656227A (zh) | 基于Levenberg‑Marquardt算法的磁力计校准方法 | |
CN107357992B (zh) | 基于聚类分析的复合材料结构有限元模型修正方法 | |
Manocha et al. | Algorithms for intersecting parametric and algebraic curves I: simple intersections | |
US20190107072A1 (en) | Hybrid partial and full step quadratic solver for model predictive control of diesel engine air path flow and methods of use | |
CN106441300B (zh) | 一种具有自适应的协同导航滤波方法 | |
Samson | Robust non linear control of robotic manipulators | |
CN103869379A (zh) | 基于遗传算法优化改进bp神经网络的磁力计校正方法 | |
Xu et al. | Dynamic decoupling and compensating methods of multi-axis force sensors | |
CN103369466A (zh) | 一种地图匹配辅助室内定位方法 | |
Khudyakov | On mathematical modeling of the measurement transducers | |
CN110110406B (zh) | 一种基于Excel计算平台实现LS-SVM模型的边坡稳定性预测方法 | |
Chernyshenko et al. | An unfitted finite element method for the Darcy problem in a fracture network | |
CN104834790A (zh) | 一种空间尺寸链公差分析方法 | |
CN104834795A (zh) | 包带连接结构接触摩擦非线性特性模拟方法及系统 | |
Mori et al. | Numerical approach to existence and stability of stationary solutions to a SKT cross-diffusion equation | |
CN104678989A (zh) | 一种噪声环境下提高故障可诊断性的状态感知优化方法 | |
Zhu et al. | Kalman–Bucy filter-based tracking controller design and experimental validations for a quadcopter with parametric uncertainties and disturbances | |
Bonargent et al. | Observer design for nonlinear systems with multi-rate sampled outputs-Application to attitude estimation | |
Zweben et al. | The frequency distribution of operators in PL/I programs | |
Cheng et al. | A new deflation method for verifying the isolated singular zeros of polynomial systems | |
Man et al. | Positioning and antiswing control of overhead crane systems: A supervisory scheme | |
CN106295043A (zh) | 一种高斯径向基函数代理模型的参数确定方法 | |
CN104462790A (zh) | 疲劳耐久分析的自由表面方法 | |
Teng et al. | The Application of Servo Control Technology n Robot Positioning and Tracking System via Heuristic Algorithm | |
Faleiro et al. | Eigenstructure assignment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |