基于IFOA的MEMS加速度计无转台标定
2021-11-18戴洪德郑伟伟郑百东戴邵武王瑞
戴洪德,郑伟伟,郑百东,戴邵武,王瑞
(海军航空大学,烟台 264001)
近年来,随着微机电系统(Micro-Electro-Mechanical System,MEMS)的不断发展,越来越多的MEMS惯性测量元件(IMU)开始出现在个人消费领域,并逐渐得到消费者及工程技术人员的关注。相比于传统的惯性导航器件,MEMS加速度计具有体积小、成本低等优势,使得其在行人导航、医疗救援、影视制作等方面具有广阔的应用前景[1]。尽管具有上述优势,MEMS加速度计也存在着测量精度较低的不足,这成为制约其发展的一个重要因素[2]。对于提高MEMS加速度计的测量精度,现阶段主要有2个方向:①提高MEMS器件的制造和封装精度;②对MEMS加速度计的测量参数进行标定,利用标定参数对测量误差进行补偿[3]。由于MEMS器件的制造和封装精度受加工设备的精度所限,短期内无法得到较大提高,研究人员主要将重点放在对MEMS加速度计进行标定这个研究方向。
对于MEMS加速度计的标定,较为成熟的方法是依托实验室三轴高精度转台,使MEMS加速度计处于多个给定位置,通过对重力加速度输入及加速度计输出进行对比,从而标定出加速度计的各个参数,典型的多位置标定方法有六位置法[4]、十二位置法[5]及二十四位置法[6]等。尽管基于转台的多位置标定方法标定精度较高,但其标定时需要昂贵的高精度转台,标定时间长、程序复杂,不适用于消费级MEMS加速度计应用场景。
荷兰学者Lötters等[7]提出一种无需依赖转台的标定方法,称为模观测标定法,利用三轴加速度计静止时输出的模值与重力加速度相等的原理建立方程组,将标定问题转化为非线性方程组求解问题。进一步地,将非线性方程组左右两端相减,构成以非线性方程组的解为自变量的非线性函数,当非线性函数通过迭代优化取得最小值0时,即代表原非线性方程组有解,非线性函数此时的自变量即是非线性方程组的解。通过该方法,标定问题即可转换成函数的优化问题。在模观测标定法原理的基础上,瑞典学者Skog[8]、意大利学者Frosio[9]及加拿大学 者Qureshi[10]等采用牛顿迭代法优化关于待标定参数的非线性函数,得到较高精度的标定效果。捷克学者Sipos[11]运用Levenberg-Marquardt算法和Thin-Shell算法优化非线性函数,得到待标定参数,并将2种算法与MATLAB中的优化函数fm inunc进行对比,验证了2种算法的可行性,且两者具有更高的求解效率。但上述算法由于计算中涉及求解海森矩阵及矩阵求逆运算,计算较为复杂且容易出现矩阵奇异问题。近年来,随着计算机技术的快速发展,在求解非线性优化问题领域中出现了很多智能优化算法。粒子群优化(PSO)算法[12-14]、遗传算法[15-16]及自适应遗传算法[17]等相继应用到基于模观测标定法原理的加速度计标定问题的求解中,为加速度计标定提供了新的思路。但遗传算法存在计算量大、算法复杂、精度较低的问题,而PSO算法易陷入局部极点[18]。
Pan[19]于2012年提出一种新的群智能优化算法,称为果蝇优化算法(Fruit Fly Optimization Algorithm,FOA),将其应用于企业财务困境模型的训练并进行测试,具有很好的收敛性及分类预测能力。Dai等[20-21]通过增加象限判别条件改进果蝇优化算法的寻参范围,其中,文献[21]将改进算法应用于舰船甲板IMU布局优化问题,通过实验验证了算法的有效性,之后,文献[22]又提出一种具有联合搜索策略的增强果蝇优化算法,该算法基于原算法提出协作组搜索及记忆搜索策略,并结合梯度下降法进行搜索,确保算法不陷入局部最优,并用测试函数验证了其鲁棒性和收敛性。近年来,果蝇优化算法及其改进型算法被广泛应用于PID参数寻优[23]、用电量预测[24]及无人机路径规划[25]等问题中,其实用性得到有效检验。由于果蝇优化算法及其改进型算法原理简单、计算量小并且寻优精度高,这些优点使得其在MEMS加速度计无转台标定中具有更好的应用效果及使用价值。
针对MEMS加速度计无转台标定问题,本文提出了一种基于改进果蝇优化算法(Improved Fruit Fly Optimization Algorithm,IFOA)的MEMS加速度计无转台标定方法。首先,建立加速度计输出模型,利用模观测标定法建立含有加速度计待标定参数的非线性函数。然后,针对经典果蝇优化算法存在的只能搜索正参数及搜索步长固定的不足,对味道浓度判定值及搜索步长进行改进,提出改进型算法——IFOA,利用Rosen brock函数对IFOA及经典果蝇优化算法进行仿真测试,验证了IFOA在参数寻优范围及寻优精度方面的性能优势。最后,利用IFOA求解得到加速度计待标定参数,通过与牛顿迭代法和PSO算法进行对比,验证了IFOA求解标定问题的精确性、稳定性及快速性。
1 基于模观测的MEMS加速度计标定
1.1 MEMS加速度计的输出模型
MEMS加速度计在工作过程中的实际输出值并不等于加速度输入值,两者存在一定的误差。误差包括确定性误差和随机误差2类,确定性误差主要由零偏、刻度因子、安装误差构成,是加速度计的主要误差[26]。因此,主要针对这3项误差的标定展开研究,并且假设安装误差角为小角度,因而加速度计的输出模型可以近似写为
为简化表达,式(1)可以进一步写为
1.2 模观测标定法原理
模观测标定法的基本原理是:在静止条件下,三轴加速度计上输出的加速度模值等于重力加速度的模值。该方法最早由荷兰学者Lötters等[7]于1998年提出。三轴加速度计在静止条件下,只感受地球的重力加速度,测量得到的比力输出满足如下关系:
对式(3)两端同时取模值[17],可以得到
根据式(4)可知,静止条件下的加速度计输出模值与姿态无关,恒等于当地重力加速度的模值[27]。根据式(2),可知
代入式(4),可得
对式(6)两边同时平方,得到
式(7)即为含有加速度计待标定参数的一个非线性方程,由于上述非线性方程具有多个待求解参数,需要建立多个非线性方程才能对所有参数进行求解。通过对加速度计静态时多个位置的观测,可以得到非线性方程组从而实现对所有参数的求解。而对非线性方程组的求解,可以进一步将其转化为非线性函数优化问题,式(7)转化得到的代价函数[28]为
通过优化方法,求解代价函数(8)的最优值,代价函数取得最优值时所得到的参数即是加速度计待标定参数。
在应用模观测标定法进行加速度计静态多位置标定时,加速度计标定的结果并不具有唯一性。根据式(6),不考虑噪声的情况下,任意静态位置加速度计输出满足:
整理可得
从式(11)可以得出,方程(9)的解并不唯一。
因此为保证标定结果的唯一性,通过对加速度计参数坐标系进行明确定义[29],使安装关系矩
下面证明采用上述形式Ka能够使标定结果唯一。在不考虑噪声的情况下,式(7)可以化简为
记Ka的逆阵为
由式(13)解得Ma后,在已知Ka各元素符号的情况下,可以唯一求解各元素,由此可以唯一求解Ka,也即可以求解得到确定的加速度计待标定参数。
2 果蝇优化算法及其改进
2.1 果蝇优化算法
果蝇优化算法由Pan[19]于2012年首次提出,是一种基于果蝇觅食行为推演出寻求全局优化的群智能优化新算法。果蝇通过敏锐的嗅觉搜寻周围环境中的食物,并与果蝇群体中的其他个体共享味道浓度信息,通过比较得到拥有最佳味道浓度信息的果蝇位置,之后果蝇群体利用视觉向该位置飞去,随后继续展开搜索。果蝇群体搜索食物示意图如图1所示。
图1 果蝇群体搜索食物示意图Fig.1 Schematic diagram of food search by fruit fly group
图1中,果蝇群体的规模为4,共进行N+1次搜索,(Xij,Yij)代表每只果蝇的位置,i代表第i次搜索,j代表每次搜索中的第j只果蝇。第1次搜索中,4只果蝇从O点出发,分别通过嗅觉向4个位置飞去,通过计算和比较,得到果蝇4所在的位置(X14,Y14)为第1次搜索最佳味道浓度位置(假设每次搜索果蝇4所在位置均为最佳味道浓度位置),因此所有果蝇利用视觉向果蝇4所在位置(X14,Y14)飞去,随后果蝇群体从位置(X14,Y14)开始第2次搜索。以此类推,最后图1中的每个黑色球即代表每次搜索的最佳味道浓度位置,每条黑色有向线段即代表每次搜索的最佳飞行路径,所有黑色有向线段就构成了果蝇群体搜寻食物的最佳飞行路径,最终果蝇群体搜寻到食物。
果蝇优化算法的计算步骤如下:
步骤1根据问题求解需要设定果蝇群体的规模n、迭代次数Maxgen或者求解精度ε,并随机初始化果蝇群体的位置信息(X_axis,Y_axis)。
步骤2对果蝇群体的每个个体赋予随机的搜索方向和距离:
步骤3计算群体中每只果蝇的味道浓度判定值,其大小为果蝇个体与原点距离Disti的倒数:
步骤4将得到的味道浓度判定值分别代入到味道浓度判定函数中,求出每个果蝇所处位置的味道浓度。
步骤5通过比较找到果蝇群体中的最小味道浓度及其所对应的最佳位置。
步骤6记录本次寻优得到的最小味道浓度,群体中的所有果蝇利用视觉向最佳位置飞去,作为下一次迭代寻优的初始位置。
步骤7进行下一次迭代寻优,重复上述步骤,每代得到的最小味道浓度与上一代进行对比,若小于上代,则继续执行步骤6,否则重新执行步骤2~步骤5,直到达到设定的迭代次数或者优化精度。
通过设定多组果蝇群体,使其进行同时搜索,就可以实现对具有多参数的非线性函数的优化求解。
2.2 改进果蝇优化算法
由2.1节算法步骤可以看到,果蝇优化算法中味道浓度判定值为距离的倒数,将其应用于标定参数求解中时,最终解得的值即为加速度计待标定的参数。在实际应用中,待标定的参数既有正数也有负数,而味道浓度判定值根据算法设定只能为正值,因此需要对果蝇优化算法进行改进才可适用于加速度计标定参数求解。
另一方面,在Pan[19]提出的果蝇优化算法中,其搜索Random Value步长只在固定取值范围(-1,1)之间,即搜索半径固定为1,这就导致对于不同的实际问题,搜索半径可能出现不匹配的情况。搜索半径如果相对初值来说过小,则其对味道浓度判定值的影响很小,会导致算法陷入局部最优;而当搜索半径相对初值来说过大时,会出现过早收敛,求解精度降低。针对上述不足,提出改进型算法——IFOA,对步骤2中个体搜索方式改进如下:
式中:Δ为初始化时设定的搜索半径;α为搜索半径权重系数,α∈(0,1);p为精确度系数,其计算方式如下:
其中:Smellbest为寻优得到的最小味道浓度;σ为精确度阈值;[·]为取整函数。
对步骤3中味道浓度判定值的计算方法改进如下:
上述IFOA相比于果蝇优化算法的优势主要体现在以下2点:
1)通过设置αp,使原先的固定半径搜索转化为可变半径搜索,当最小味道浓度Smell best大于设定的精确度阈值σ时,仍以固定半径进行搜索;而当Smell best小于设定的精确度阈值σ时,精确度系数p将随着Smellbest的变小而变大,从而使搜索半径不断缩小,有效避免了固定半径搜索容易出现的早熟收敛现象,从而保证了IFOA兼具全局优化性能和局部优化性能。
2)用Xi替换1/Disti作为味道浓度判定值Si,使得Si取值范围变为(-∞,+∞),从而实现算法对于负参数的求解。
IFOA流程如图2所示。
图2 IFOA流程Fig.2 Flowchart of improved fruit fly optimization algorithm
上述算法是针对单参数的非线性函数进行优化的IFOA,而对于具有多参数的非线性函数优化问题,如加速度计标定问题,就需要在算法中设置多个果蝇种群,使每个果蝇种群搜索一个参数,多个种群同时进行搜索时,就可以对多参数的非线性函数进行优化,并求解得到多个待定参数。多种群IFOA示意图如图3所示。
在图3中,果蝇群体的规模为4,(Xikj)代表每只果蝇的位置,i代表第i次搜索,k代表第k组果蝇种群,j代表每组种群中第j只果蝇,S1~Sk表示k个参数。
图3 多种群IFOA示意图Fig.3 Schematic diagram of multi-population improved fruit fly optimization algorithm
第1次搜索中,所有组果蝇种群中的4个果蝇都同时搜索随机距离,得到每只果蝇的位置(X1kj)值。首先取各组种群中果蝇1的值作为参数的值,即(S1,S2,…,Sk)=(X111,X121,…,X1k1),代入代价函数Function中得到Smell11,之后依次取各组种群中果蝇2、果蝇3、果蝇4重复上述计算,共得到Smell11、Smell12、Smell13、Smell14四个味道浓度值,找出其中的最小味道浓度值,同时记录取得最小味道浓度值时对应的值(即1,2,3,4中的其中一个值),并将(X11j,X12j,…,X1kj)作为下次搜索的初始值,随后重复上述过程开始进行迭代搜索,直到达到设定迭代次数或者寻优精度,由此可对多参数非线性函数进行优化求解。尽管算法在比较寻优的过程中,会存在参数间互相干扰的问题,但由于算法搜索的随机性和广泛性,该问题不会影响最终的优化结果。
2.3 仿真分析
IFOA相比于果蝇优化算法具有参数寻优范围扩大及寻优精度提升的优势,下面以Rosen brock函数对IFOA进行测试。Rosen brock函数的数学形式为
此函数为典型的非凸函数,主要应用于测试优化算法的寻优性能。当D=3时,此函数只有一个最小值,在(x1,x2,x3)=(1,1,1)处取得,因此这里取D=3进行算法测试[30]。
为使该函数适用于所述算法的对比分析,对该函数的表达式进行适当修改,使其在(x1,x2,x3)=(-1,-1,-1)时取得最小值0。修改后的函数表示如下:
为更好对比IFOA的性能,分别对果蝇优化算法、全参数果蝇优化算法及全参数变步长果蝇优化算法进行对比分析。其中,全参数果蝇优化算法只是对果蝇优化算法改进了参数的寻优范围,仅具有全局参数(-∞,+∞)搜索的性能,而全参数变步长果蝇优化算法即是提出的IFOA,具有全局参数搜索及可变步长2种性能。在相同的条件下,分别使用上述3种果蝇优化算法对修改后的Rosen brock函数进行寻优测试,得到三者的收敛曲线如图4所示。
图4 三种果蝇优化算法收敛曲线Fig.4 Convergence curves of three fruit fly optimization algorithms
为定量比较,对3种果蝇优化算法进行100次蒙特卡罗仿真,3种算法计算得到的最优值、对应参数的平均值及最优值、对应参数的均方根误差分别如表1和表2所示。
表1 三种果蝇优化算法计算得到的平均值Table 1 Calculated mean of three fruit fly optimization algorithms
表2 三种果蝇优化算法计算得到的均方根误差Table 2 Calculated root mean square error of three fruit fly optimization algorithm s
由图4、表1和表2可以看出,在收敛速度方面,定义的全参数果蝇优化算法及全参数变步长果蝇优化算法具有更快的收敛速度,两者迭代到第10代之后就可以收敛到理想的精度,而果蝇优化算法收敛速度较慢,且优化过程中容易受到局部最优值的干扰,从而出现阶梯状的优化收敛曲线;在优化精度方面,由于果蝇优化算法参数无法收敛到-1,无法达到最优值,基本失去优化效果。而对于后2种算法,由于具有全局参数搜索性能,参数能够收敛到接近-1,其最优值也能达到理想精度,具有较好的优化效果。特别地,相比于全参数果蝇优化算法,全参数变步长果蝇优化算法由于又具有可变步长的性能,其最优值的计算精度提升了3个数量级,且参数值更接近-1,均方根误差更小。在计算量方面,由于果蝇优化算法的复杂度主要与种群数量和迭代次数有关,而全参数变步长果蝇优化算法在这2个参数方面均未改变,上述对果蝇优化算法的改进不会增加复杂度。而在实际测试中,由于后2种算法用Xi直接替换了作为味道浓度判定值,运行时只需生成Xi的随机步长,而无需生成Yi的随机步长并且减少了对Yi计算,后2种算法计算量更小,运行时间更短。果蝇优化算法、全参数果蝇优化算法和全参数变步长果蝇优化算法的平均运行时间分别为0.23 s、0.16 s和0.20 s。
3 基于IFOA的MEMS加速度计标定
为验证IFOA在加速度计标定方面的有效性,模拟了12个静态位置下加速度计的输入、输出数据,分别运用牛顿迭代法、PSO算法及IFOA进行仿真,并对仿真结果进行对比分析。其中,IFOA的参数设置为Δ=1×104,α=0.25,σ=100,n=10,k=9,共有果蝇90个,PSO算法的粒子数为90,3种算法的优化精度均设置为ε=1×10-10。为避免结果的偶然性,对上述3种算法分别进行多次仿真实验,并取标定成功结果的平均值进行对比,仿真得到的加速度计各参数标定结果及标定误差如表3所示。
表3 三种优化算法加速度计各参数标定结果及标定误差Table 3 Calibration results and calibration errors of three optimization algorithms for param eters of accelerometer
从表3的标定结果及相应标定误差可以看出,在给定求解精度下,牛顿迭代法能够标定出加速度计的各参数,并且在刻度因子标定方面效果较好,但其在安装误差及零偏标定方面效果一般。而PSO算法与IFOA均作为智能群搜索算法,对于加速度计各参数均具有较好的标定效果,标定误差较小,达到了较理想的水平。相比于牛顿迭代法,两者在安装误差和零偏参数标定方面精确度提升了1~3个数量级。
三种算法进行标定的平均运行时间及其成功率如表4所示。
表4 三种优化算法标定平均运行时间及成功率Table 4 Average calibration time and success rate of three optimization algorithm s
从表4可以看出,在给定求解精度下,牛顿迭代法的平均运行时间为8.36 s,但由于在标定过程中牛顿迭代法容易出现矩阵奇异现象,导致优化问题无法求解,标定成功率为70%,牛顿迭代法应用于加速度计无转台标定具有一定的局限性。而PSO算法平均运行时间为12.56 s,尽管标定过程中不存在矩阵奇异问题,但容易出现早熟收敛的问题,导致标定成功率为66%。IFOA平均运行时间为7.09 s,由于在标定过程中不存在矩阵奇异及早熟收敛的问题,标定成功率为100%。因此,相比于牛顿迭代法和PSO算法,IFOA具有更少的运行时间及稳定性。
尽管IFOA在参数标定精确度方面比牛顿迭代法有所提升,在运行时间方面比PSO算法有所提高,但其参数标定精确度与PSO算法相比没有明显提高,运行时间与牛顿迭代法相比也没有明显缩短,主要是因为算法仅设置了单一的搜索半径。这个算法局限性导致不同数量级的待标定参数,在搜索初期需要较长的时间才能收敛到各自的真值附近,同时这也导致不同参数在各自真值附近的波动范围较大,难以进一步提高标定精确度。在下一步的研究中,可以考虑在算法中针对不同数量级的待标定参数,设置不同数量级的搜索半径,从而使标定参数能够迅速收敛到真值附近,同时也能够对参数收敛的波动范围进行一定限制,提高标定精确度。
4 结论
1)提出的IFOA相比于果蝇优化算法具有参数搜索范围广、收敛速度快、优化精度高、运行时间短的性能优势。
2)对加速度计标定的仿真结果显示,IFOA相比于牛顿迭代法在求解精度方面提高了1~3个数量级;由于不存在矩阵奇异及早熟收敛的问题,IFOA在运行稳定性方面比牛顿迭代法和PSO算法分别提高了30%和34%,在运行时间方面分别减小了15.2%和43.6%。对于算法存在的局限性,在后续的研究中可以考虑设计多搜索半径算法,对不同标定参数设置不同搜索半径,从而进一步提高IFOA的标定精确度并缩短运行时间。
3)提出的基于IFOA的MEMS加速度计无转台标定方法具有精度高、稳定性好、解算时间短的优点,且无需依赖高精度转台,适用范围广、成本低,在消费级MEMS加速度计简易标定方面具有良好的应用价值。