基于模拟退火算法的电子罗盘校准方法转让专利

申请号 : CN201710860678.0

文献号 : CN107655463B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨鑫张宁王予亮胡文博

申请人 : 大连理工大学

摘要 :

本发明提供了一种基于模拟退火算法的电子罗盘校准方法,属于智能算法与非线性回归技术领域。模拟退火算法作为一个在解空间中广泛地搜索最优解的算法,对比传统电子罗盘校准方法和一些常见的最优化算法有更强的全局收敛优越性,使用时满足:初始温度足够高;终止温度足够低;降温足够缓慢;热平衡时间足够长的条件时便满足解的全局收敛特性,即初始参数适宜的情况下,模拟退火算法总能在解空间内寻找出全局最小点。实际实验中发现在恰当的初始参数和新解产生函数下,可以在相对较好的时间和空间复杂度下产生电子罗盘的非线性拟合解,精度达到了10E‑3,对比传统校准方法和最小二乘法精度较高。

权利要求 :

1.一种基于模拟退火算法的电子罗盘校准方法,其特征在于,步骤如下:(1)模拟退火算法的求解过程

①模拟退火算法的设置

使用立体8字校准法从电子罗盘获得原始电子罗盘数据,将采集到的原始电子罗盘数据表示为三维向量组的数据集;先对三维向量组的数据集进行预处理,即删除重复数据并视具体情况进行归一化;如果进行归一化,则必须在算法结束时对解进行反向归一化,还原解为原数量级;

对于输入的三维向量组的数据集,

满足:

其中:x,y,z为输入三维坐标分量值, 为待求参数;

等同于拟合变形的函数:

将 作为校准的误差函数,该误差函数的值越低越好;

其中,Fm(α)表示将当前的估计参数 带入第m组数据(xm,ym,zm)的值;m为输入数据组的个数;

设定模拟退火算法,初始温度100≤T0≤1010,终止温度Tf<10,任意温度T的迭代次数Lk, K和Lm是预设参数,T是当前温度,模拟退火算法的冷却表:新温度Tnew与旧温度Told的关系为Tnew=0.95*Told;

设定模拟退火算法需要的新解产生函数,使用遍及解空间的所有区域的产生函数,该产生函数同时必须满足在某一恒定温度不断迭代时有能力跳出当前的极小区域以便搜索其他可能的极值点;对于电子罗盘的校准采用快速退火函数,该快速退火函数产生一个在解空间内任意方向、步长与温度满足:step=kT的新解,k为常数;

②模拟退火算法的步骤

根据Metropolis的重要性采样方法和Kirkpatrick的组合最优化模型,模拟退火算法的步骤描述为:设定一个参数T为控制参数,将目标函数值f设为内能E,固体的某个温度下的状态等同于目标函数的一个解xi,随着控制参数T的逐渐下降,固体内部的粒子不断重排列,生成新的解xi,固体的内能E也逐渐下降,即目标函数值f也逐渐下降,最终将达到全局最小;

(2)使用拟合的椭球面方程对电子罗盘进行校准

假设电子罗盘测得的磁向量为(xi,yi,zi),则不受误差影响磁向量满足球体方程:xi2+yi2+zi2=di2,假设误差下的电子罗盘测得的磁向量为(xm,ym,zm),则(xm,ym,zm)与(xi,yi,zi)的关系表示为:xm=Axi+xoffset,ym=Byi+yoffset,zm=Czi+zoffset;从上式中看出电子罗盘的校准的过程本质上就是求A,B,C,xoffset,yoffset,zoffset这六个参数的值的过程;

使用模拟退火算法输出六个参数 后,将xm=Axi+xoffset,ym=Byi+yoffset,zm=Czi+zoffset带入xi2+yi2+zi2=di2,并且与基准函数相对比 后得 出 :

即使用模拟退火算法求得的参数

得到真实的磁向量(xi,yi,zi):

说明书 :

基于模拟退火算法的电子罗盘校准方法

技术领域

[0001] 本发明属于智能算法与非线性回归技术领域,提出了一种具有较强针对性的电子罗盘校准的优化方法。

背景技术

[0002] 电子罗盘是一种在现代技术中广泛应用的姿态传感器和磁力信号传感器。其与传统姿态传感器相比能耗低、体积小、重量轻、精度高,其输出信号通过处理可以实现数码显示,不仅可以用来指向,其数字信号可以控制仪器的操纵或者提供姿态信号。目前,广为使用的是三轴捷联磁阻式数字磁罗盘,这种罗盘具有抗摇动和抗振性、航向精度较高、对干扰场有电子补偿、可以集成到控制回路中进行数据链接等优点,因而广泛应用于航空、航天、机器人、航海、车辆自主导航等领域。
[0003] 然而,在日常工作实践中我们常常在使用电子罗盘时常常需要对电子罗盘进行校准,如果想要对电子罗盘进行高效率、高精度的校准除了使用传统的直接从数据中解析的方法外以外常常需要使用最优化算法,例如最小二乘法等方法进行拟合,而在此类算法中如何确定电子罗盘的初始参数总是一个令人困扰的问题。模拟退火算法是一种通用概率算法,用于在一个大的搜寻空间内寻找问题最优解,本发明提供了一种基于模拟退火算法的校准方法解决了这些问题。
[0004] 具体来说,本发明专利有两方面的目的:一是提供了一种基于模拟退火算法进行非线性拟合的方案;二是提供了一种强鲁棒性的校准方法,电子罗盘在此算法下有能力处理整个解空间的输入数据的能力。

发明内容

[0005] 本发明提供一种基于模拟退火算法(Simulated Annealing,SA),对于电子罗盘传入的三维数据进行拟合椭球面的方法,最终算法将输出一个椭球面,在此基础上对电子罗盘进行校准。
[0006] 本发明的技术方案:
[0007] 基于模拟退火算法的电子罗盘校准方法,步骤如下:
[0008] 收集数据,设定好模拟退火算法参数,非线性拟合出椭球方程。接下来输出的椭球方程中解析出一个位置偏移向量与x,y,z三个坐标轴的放缩系数完成电子罗盘的校准。
[0009] (1)模拟退火算法的求解过程
[0010] ①模拟退火算法的工作原理
[0011] 模拟退火算法顾名思义,其原理模拟了现实生活中固体的退火过程,即将固体加热到一定的高温再缓慢冷却,理论上只要冷却过程足够缓慢,固体最终可以从高温状态下的粒子无序状态冷却到低温状态下的有序、内能最小状态。本算法中将数据带入拟合参数对应的椭球方程并计算函数值一并处理,输出的椭球方程和输入数据的误差作为模拟退火算法中的“内能”,求解“内能”在解空间内的最小值,达到最小值时即表示此时拟合参数是对电子罗盘输入数据的一个较好的拟合。
[0012] ②模拟退火算法的设置
[0013] 使用立体8字校准法从电子罗盘获得原始数据,采集到的原始的电子罗盘数据表示为三维向量组的数据集,为了避免计算能力的浪费,在算法的开始先对数据进行预处理,即删除重复数据并视具体情况进行归一化,如果进行归一化则必须在算法结束时对解进行反向归一化,还原解为原数量级,归一化不是必须进行的。
[0014] 对于输入的三维向量数据,满足:
[0015] 其中x,y,z为输入三维坐标分量值, 为待求参数;
[0016] 等同于拟合变形的函数:
[0017] 采取非线性最优化中常见的做法,把 (m为输入数据个数)作为校准的误差(内能)函数,该函数值越低越好。其中Fm(α)表示将当前的估计参数 带入第m组数据(xm,ym,zm)的值。
[0018] 设定模拟退火算法需要的初始温度T0(100≤T0≤1010),终止温度Tf(Tf<10),任意温度T的迭代次数Lk( K,Lm是预设参数,T是当前温度),模拟退火算法的冷却表:新温度Tnew与旧温度Told的关系为Tnew=0.95*Told。
[0019] 设定模拟退火算法需要的新解产生函数,原则上倾向于使用能够尽量遍及解空间的所有区域的产生函数,该函数同时必须满足在某一恒定温度不断迭代时有能力跳出当前的极小区域以便搜索其他可能的极值点。对于电子罗盘的校准采用快速退火函数,该函数产生一个在解空间内任意方向、步长与温度满足:step=kT(k为常数)的新解。由于电子罗盘的校准解空间维度较高,应该杜绝使用Boltzmann退火函数等步长与温度呈非线性关系的退火函数以防步长下降过快过早收敛。
[0020] ③模拟退火算法的步骤
[0021] 根据Metropolis的重要性采样方法和Kirkpatrick的组合最优化模型,典型的模拟退火算法的步骤可以描述为:设定一个参数T为控制参数,将目标函数值f设为内能E,固体的某个温度下的状态等同于目标函数的一个解xi,随着控制参数T的逐渐下降,固体内部的粒子不断重排列,生成新的解xi,固体的内能E也逐渐下降,即目标函数值f也逐渐下降,最终将达到全局最小。
[0022] (2)使用拟合的椭球面方程对电子罗盘进行校准
[0023] 假设电子罗盘测得的磁向量为(xi,yi,zi),则不受误差影响磁向量满足球体方程:xi2+yi2+zi2=di2,假设误差下的电子罗盘测得的磁向量为(xm,ym,zm),则(xm,ym,zm)与(xi,yi,zi)的关系可以表示为:xm=Axi+xoffset,ym=Byi+yoffset,zm=Czi+zoffset。从上式中我们可以看出电子罗盘的校准的过程本质上就是求A,B,C,xoffset,yoffset,zoffset这六个参数的值的过程。
[0024] 使用模拟退火算法输出六个参数 后,将xm=Axi+xoffset,ym=Byi+yoffset,zm=Czi+zoffset带入xi2+yi2+zi2=di2并且与基准函数
相对比后得出:
即可以使用
模拟退火算法求得的参数 得到真实的磁向量(xi,yi,zi):
[0025]
[0026] 本发明的有益效果:
[0027] ①算法精度较高
[0028] 模拟退火算法虽然作为在大的搜寻空间中寻找最优解的算法,但其对于高维搜寻空间难免面临这解空间过于复杂且极小值过多从而导致的迭代速度过满的问题,本发明提供了一种对于六维解空间在一定运算资源支持下的可能方案。
[0029] ②算法鲁棒性较强
[0030] 传统的校准电子罗盘的方法为获取误差后的电子罗盘磁向量数据,找出每个维度的取值范围,把每个维度的取值范围的中值对应的处作为误差后坐标原点,将每个维度的取值范围的长度与理论数据取值范围进行比较后放缩到原长度以抵消原来每个维度对磁向量伸长/缩小效应的误差影响,这种方法的优点是校准速度快,缺点是容易受个别极端大误差数据的影响而大幅影响校准效果。
[0031] 模拟退火算法作为一个在解空间中广泛地搜索最优解的算法,对比传统电子罗盘校准方法和一些常见的最优化算法有更强的全局收敛优越性,使用时满足:初始温度足够高;终止温度足够低;降温足够缓慢;热平衡时间足够长的条件时便满足解的全局收敛特性,即初始参数适宜的情况下,模拟退火算法总能在解空间内寻找出全局最小点。实际实验中发现在恰当的初始参数和新解产生函数下,可以在相对较好的时间和空间复杂度下产生电子罗盘的非线性拟合解,精度达到了10E-3,对比传统校准方法和最小二乘法精度较高。

附图说明

[0032] 图1是本发明的电子罗盘校准研究方案示意图。
[0033] 图2是模拟退火算法非线性拟合过程示意图。
[0034] 图3是模拟退火算法算法目标函数下降过程示意图。

具体实施方式

[0035] 以下结合附图和技术方案,进一步说明本发明的具体实施方式。
[0036] 一种基于模拟退火算法算法的电子罗盘校准方法,包括模拟退火算法非线性和你和电子罗盘校准两部分:
[0037] 1.基于模拟退火算法非线性拟合
[0038] a)首先令T=T0,生成第一个随机解α0并计算E(α0);
[0039] b)根据冷却表更新温度,上一状态的温度Ti,当前温度Tj;
[0040] c)旧解为αi时产生一个新解αj,令ΔE=E(αj)-E(αi);
[0041] d)若ΔE≤0,则接受新解αj,否则以概率exp(-ΔE/Tj)接受新解αj;
[0042] e)在每一个温度Tj下,重复Lk次的步骤c)和步骤d);
[0043] F)若Tj小于Tf,停机;否则算法转到步骤b)重复进行。
[0044] 2.电子罗盘的校准
[0045] 获取基于模拟退火算法的非线性拟合解后对解向量进行处理,从其包含的六个参数中解析误差的抽象表示,用一个新的解向量表示误差向量,对之后电子罗盘获取到的数据用这个误差向量包含的参数处理即可得到校准后的电子罗盘磁向量。