杨 辉杨 川姜湖海王 晶毛 锐
(1.西南技术物理研究所,四川 成都610041;2.陆军装备部驻重庆地区军代局驻成都地区第二军代室,四川 成都610041)
稳定平台作为框架式导引头的重要组成部分,其性能直接影响导引头制导精度。 速率陀螺对于稳定平台的控制和视线角速度解算至关重要。 常见的速率陀螺类型包括挠性陀螺、激光陀螺、光纤陀螺、MEMS 陀螺等,其中MEMS 陀螺因体积小、成本低、重量轻、功耗小等优点,成为小型化、低成本框架式导引头设计的首选。 但由于加工工艺的限制,MEMS 陀螺存在精度较差、随机误差较大的缺点。因此,如何提高MEMS 陀螺的精度、减少随机误差成为当前研究的热点。 除提高工艺水平外,现有的研究方法以算法补偿为主,包括常用的小波阈值法[1]、卡尔曼滤波法及其改进算法[2],文献[3]采用支持向量机回归模型对MEMS 陀螺输出数据滤波补偿,有效提高精度。 文献[4]采用自回归(Auto Regressive,AR)模型,在静态、动态试验证明可有效减小陀螺的误差。 文献[5]采用最小上限滤波(Minimum Upper-Bound Filter,MUBF)算法降低陀螺噪声,效果优于卡尔曼滤波方法。 文献[6]结合小波去噪与径向基函数(Radial Basis Function,RBF)神经网络模型进行补偿,减小误差。 上述方法中小波阈值法和卡尔曼滤波法,方法简单,效果较差,而算法模型需要建立精确的MEMS 陀螺模型,过程较复杂。
极限学习机(Extreme Learning Machine,ELM)是由Huang 等[7]提出的一种前馈神经网络算法,相对于传统前馈神经网络,具有学习速度快,精度高和参数简单的特点。
本文基于ELM 并改进激活函数,利用粒子群优化算法(Particle Swarm Optimization,PSO)确定模型参数,建立MEMS 陀螺模型,实现减少随机误差并提高精度。 通过与其他方法的对比,并结合导引头稳定平台闭环系统测试,验证其效果。
ELM 属于单隐含层前馈神经网络[8],图1 为极限学习机网络结构图,其网络结构分为三层:输入层、隐含层和输出层。 图中,X为n维输入向量,w为输入层与隐含层间的连接权限,H为l维隐含层输出,β为隐含层与输出层之间的权系数,T为网络输出。
图1 ELM 网络结构图
设隐含层神经元的阈值为b,激活函数为g(x),则网络输出T可表示为
式中:j=1,2,…,n;k=1,2,…,m。
ELM 随机产生输入层与隐含层的连接权值w及隐含层神经元的阈值b,且训练过程中无需调整,只要设置隐含层神经元的个数和激活函数,便可以获得唯一的最优解,因此具有学习速度快、泛化能力强等优点。
激活函数决定了ELM 模型的优劣,常用的激活函数包括sigmoid、fourier、hardlimit、gaussian 等[9],其中sigmoid 是使用频率最高的激活函数,是便于求导的平滑函数,能够将输出值压缩到0-1 范围之内,公式如下:
sigmoid 激活函数易出现梯度消失、输出全为正数致收敛慢等缺点。 因此,本文在sigmoid 激活函数基础上设计可调sigmoid 激活函数,公式如下:
式中:a为陡度因子,决定函数的形状;b为位置参数,影响函数的水平位置;c为映射区间因子,可改变映射区间的长度和范围。 改进后的激活函数无限可微,具有更加丰富的非线性表达能力,适应性更广[10]。
利用改进激活函数的ELM 建立MEMS 陀螺模型,需先确定四个参数的最优取值:隐含层神经元的个数L、激活函数参数a、b、c,本文采用粒子群优化算法进行寻优。L数值与输入向量的维度有关,数值过少泛化能力差,过多结构复杂,学习速度变慢。
PSO 算法[11]源于鸟类捕食行为,算法中每个粒子都代表问题的潜在解,每个粒子由适应度函数确定一个适应度值。 粒子的速度决定了粒子移动的方向和距离,速度可根据自身及其他粒子的移动经验动态调整,从而实现个体的寻优。
设一个D维空间中,有n各粒子组成种群X,第i个粒子为Xi=[Xi1,Xi2,…,Xi D],表示第i个粒子在D维空间中的位置,速度为Vg,粒子通过个体极值Pi和全局极值Pg更新自身的速度和位置,公式如下:
式中:ω为惯性权重;d=1,2,…,D;i=1,2,…,n;k为当前迭代次数;c1和c2为加速度因子,取非负数的常数;r1和r2为[0,1]之间的随机数。
采用PSO 寻找合适的L、a、b、c的主要步骤如下:
①相关参数初始化,包括粒子的位置、速度、进化次数、种群规模;
②计算初始粒子适应度值,由适应度函数计算所得,本文选择使用度函数fun 为估计值与实际值的均方误差(Mean Squared Error,MSE),公式如下:
式中:Ti,Xi分别为第i次的估计值、参考值,K为样本数。
③根据初始粒子适应度值确定个体和群体极值;
④根据个体极值和全局极值更新自身的位置和速度;
⑤计算粒子使用度,并更新个体和群体极值;
⑥若满足终止条件则结束,否则继续重复步骤④。
根据上述描述,ELM 模型的输入向量表征MEMS 陀螺原始数据,网络输出表征补偿MEMS 陀螺随机误差的数据。 根据工程应用经验,转台数据具有精度高、线性度好、噪声小等特点,常用于客观评价MEMS 陀螺的精度、标定随机误差等,因此在建模和评估时,转台数据可作为补偿MEMS 陀螺随机误差的数据。 针对MEMS 陀螺建模及补偿流程图如图2,主要包含以下步骤:
图2 建模及补偿方法流程图
①数据采集与处理:同时采集MEMS 陀螺原始数据与转台数据,提取M、N组陀螺数据与对应转台数据作为训练集数据和测试集数据,其中MEMS 陀螺原始数据作为模型的输入向量,在训练和测试都使用,转台数据仅作为训练建模使用,在测试时只作为评价结果的参考;
②PSO 参数寻优:合理设置PSO 算法迭代次数、种群规模和适应度等指标,根据步骤①中获取的训练集数据进行参数寻优;
③ELM 建模:根据步骤②中确定的参数与步骤①中的训练集数据,建立ELM 模型;
④误差补偿:利用步骤③中ELM 模型,使用测试集MEMS 陀螺原始数据进行误差补偿,输出补偿后的结果。
根据上述方法,在实验室常温环境下,按图3 搭建测试平台,针对某两轴MEMS 陀螺,使用专用工装将其固定于转台上,设置不同的转台速度,分别为0 °/s、-1 °/s、-20 °/s,通过RS422 串口采集MEMS陀螺和转台数据,采样频率为2 kHz。 三组数据中,选择前100 组数据作为训练集,每组数据中MEMS陀螺数据为输入、转台数据为输出。 采用MATLAB软件进行ELM 参数寻优、建模及结果分析。
图3 试验设备组成示意图
利用PSO 算法寻优,由于输入向量维度为1,L范围设定为[1,20],PSO 迭代次数、种群规模的范围在保证精度、稳定性前提下尽量减少寻优时间,因此设置PSO 迭代次数、种群规模为100 和20,同理,改进激活函数参数a、b范围为[0.01,10],c范围为[-20,20],选择训练集数据进行模型训练,经过100次反复迭代后,每代个体适应度值变化如图4 所示,最终得到隐含层神经元的个数L为1,激活函数的参数a为9.281 7,b为3.641 0,c为-0.932 5。
根据PSO 寻优所确定的参数,建立ELM 模型,选择测试集进行误差补偿,其中0°/s 测试集为20 000 组;-1 °/s 测试集为19 900 组;-20 °/s 测试集为2 201 组。 同时,对比卡尔曼滤波、小波滤波和原sigmoid 激活函数的ELM 模型等三种方法,绘制局部时间段结果如图5 所示。
图4 PSO 寻优过程
图5 不同方法效果对比
观察图5 可知,改进ELM 后,噪声得到显著改善,优于其他方法。 通过计算平均绝对误差(Mean Absolute Error,MAE,见式(7))和MSE 进一步评价模型补偿效果,具体计算结果如表1 所示。 对比四种方法,本文方法MAE、MSE 两个指标均为最小,相比原极限学习机模型,改进后模型在不同测试条件下,均能提高精度和减小噪声。
表1 不同方法均值和均方误差结果对比
在此基础上,开展导引头闭环测试,在CCSv5.3编译软件上编写相关补偿和控制算法,程序运行于TI 公司的TMS320F28335 DSP 处理器。 将两轴MEMS 陀螺安装于导引头稳定平台上,测量稳定平台的角速度信息,基于该角速率作为稳定平台伺服闭环控制的角速度反馈输入。 在常温状态下,采集闭环状态下角速度数据,采用Allan 方差[12-14]可直观反映MEMS 陀螺的性能水平,表2 为Allan 方差五种常见误差源。 图6 为两轴补偿前后Allan 方差分析结果。 表3 为补偿前后Allan 方差指标对比。
表2 Allan 方差与各种误差系数对应关系
表3 导引头闭环测试,常温调节下allan 方差对比结果
综合图6、表3 的结果分析,MEMS 陀螺两轴的Allan 五个量化指标在补偿后得到明显改善,说明该模型在导引头稳定平台闭环条件下能输出较好精度和较低噪声,满足稳定平台使用要求。
图6 导引头闭环测试,常温下allan 方差对比结果
针对MEMS 陀螺随机误差较大、精度较低的问题,本文提出改进激活函数的ELM 补偿方法。 通过转台测试和导引头稳定平台闭环测试试验,验证了本文方法的有效性,且相比其他方法更简捷。 同时,本文提出一种新的激活函数,可增强ELM 模型的快速性和泛化能力。 此外,本文方法对MEMS 陀螺应用于导引头领域具有一定参考价值。