APP下载

深度学习下MEMS陀螺温度误差补偿方法*

2022-03-24宋一平刘宁刘福朝雷明戚文昊

传感技术学报 2022年1期
关键词:零位陀螺仪陀螺

宋一平刘 宁刘福朝雷明戚文昊

(北京信息科技大学高动态导航技术北京市重点实验室,北京 100192)

MEMS(Micro-Electro-Mechanical System)陀螺仪是一种成本低、体积小、可靠性好的微机械陀螺仪[1]。MEMS陀螺仪不同于传统陀螺仪的工作原理,它是通过科里奥利力来实现的。MEMS陀螺仪以其体积小、性能好、价格低等优点在微惯性导航系统、军事、汽车、消费电子、移动应用、机器人、工业、医疗等领域得到广泛的应用[1]。

由于MEMS陀螺仪的材质特性,其数据输出受温度影响十分显著,这使MEMS陀螺仪的精度达不到要求,限制了它的进一步应用[2]。为解决该问题,需要对MEMS陀螺仪进行温度补偿,现有的温度补偿方法有三种:温度控制、器件设计和算法补偿[2]。本文研究的内容是算法补偿,算法补偿的核心思想是通过构造温度误差模型,使陀螺仪的输出误差得到补偿。构造温度误差模型的方法有以下两种:一是最小二乘多项式法,二是神经网络算法[3]。多项式模型不足以模拟突然变化的小范围温度间隔和传感器滞后的偏差趋势。针对多项式模型的不足,李士心等学者提出了一种基于灰色模型和RBF神经网络的MEMS陀螺温度补偿方法[4]。为了更快速准确的对陀螺仪进行温度补偿,进一步提出了CMAC小脑神经网络模型,它在解决了非线性问题的同时还具有结构简单以及快速的学习收敛性的优点。ZENG L J和MIN F采用Elman神经网络,直接补偿陀螺输出误差,实验结果表明,该方法可以显着降低温度变化引起的陀螺漂移[5]。Yang Yuan提出了一种基于遗传算法的支持向量机优化方法来补偿陀螺仪的零位漂移[6]。Li Dinghua,Zhou Jun等人采用递归神经网络与卡尔曼滤波器结合的方法补偿MEMS陀螺的零位漂移[7]。李鲁明等人通过改进卡尔曼滤波的陀螺仪误差补偿算法,阻抑陀螺仪的随机误差[8]。

在上述补偿方法中存在如下不足:RBF神经网络的泛化性能不佳,存在拟合不足和拟合过度的问题;CMAC小脑神经网络模型的工作机理是利用一种非线性映射的查表机制。由于它的运算特性,占用了大量的存储空间,并且存在局部收敛的缺点;MEMS陀螺仪的零位漂移用支持向量机补偿法进行补偿的缺点在于特征向量和模型参数选取的过程非常复杂;Kalman滤波的局限性在于,当系统模型和噪声统计特性存在不确定性的情况下应用受到限制[9]。

为了优化MEMS陀螺仪的温度补偿方法,本文对MEMS陀螺仪进行温度误差机理分析,将深度学习与神经网络相结合。通过对深层非线性网络结构的学习,改进了温度误差模型的缺陷,提高其优越性,抑制了MEMS陀螺仪的温度漂移。

1 温度误差机理分析

温度变化引起的漂移是MEMS陀螺仪主要的误差之一,温度通过改变陀螺的谐振频率和驱动振幅来影响陀螺的性能[10-11]。由于MEMS陀螺仪是由硅制成的,硅是一种热敏材料,当环境温度发生变化,弹性模量会随之改变,陀螺仪刚度在弹性模量的影响下,使谐振频率发生改变,导致MEMS陀螺仪的漂移加剧,陀螺精度大幅下降[11],MEMS陀螺仪的刚度与环境温度的关系可表示为:

式中:K和K0分别是在温度T和T0下陀螺仪的刚度。陀螺仪谐振频率与环境温度的关系式如下:

式中:f(T)和f0分别是谐振子在温度为T和T0时的谐振频率。

由式(2)可以看出,陀螺仪的谐振频率与温度变化有关,温度对MEMS陀螺仪的影响较大,使陀螺输出精度降低。通过分析MEMS惯性器件的温度影响机理,对MEMS温度误差补偿方法进行研究。

2 深度学习下的神经网络模型搭建

2.1 RNN神经网络

深度学习的过程是从信号中提取特征,然后映射到特征值,其中特征是由网络自己选择的。深度学习下的神经网络层级不同于传统的神经网络,如图1中RNN神经网络结构图所示。

图1 RNN神经网络结构图

其中,x表示输入层的值,s表示隐藏层的值,o表示输出层的值。U是输出层到隐藏层的权重矩阵,V是隐藏层到输出层的权重矩阵,W代表的是各时间点之间的权重矩阵。RNN循环神经网络隐藏层的值s不仅取决于当前的输入x,还与上一隐藏层的值s有关。将图1循环层按时间线展开,如图2所示。

图2 RNN循环层时间线展开图

随着模型深度不断增加,RNN循环神经网络会面临梯度消失的问题,不能很好地处理长距离的依赖。为此引入了LSTM长短时记忆神经网络。

2.2 LSTM神经网络

LSTM神经网络是基于RNN循环神经网络的衍生网络,它是一种能够捕捉长时依赖的特殊循环神经网络[12]。它能够解决训练过程中RNN循环神经网络梯度消失的问题,并克服只能短时学习的缺点[13]。LSTM的核心概念在于细胞状态以及“门”结构。细胞状态是传递有关信息的途径,它将序列中的有关信息传递下去。“门”结构的作用是在训练过程中负责学习信息的去留问题。LSTM单元中有三种类型的门控,分别为:输入门、遗忘门和输出门。LSTM神经网络对有关信息保存筛选的操作是由这三种门控实现的。如图3所示。

图3 LSTM结构模型图

门控是由sigmoid函数和点乘运算实现。本文采用的门控的形式表示为:

式中:σ(x)=1/[1+exp(-x)],称为Sigmoid函数,它是一种常用的非线性激活函数,通过将一个数值映射到区间0~1内,来确定信息是否被顺利传递到下一步。当门的输出值为0,表示信息被拦截,当值为1则表示信息顺利通过。分别使用i、f和o来表示输入门、遗忘门和输出门的输出值,☉代表对应元素相乘,W和b表示网络的权重矩阵和偏置向量。LSTM的前向计算过程可以表示为:

LSTM神经网络的运行模式与RNN神经网络的无太大差异,不同之处在于,LSTM神经网络经由一个更确切的内部处置单元有效地存储和更新信息。LSTM神经网络将sigmoid函数映射到[0,1]区间上,以便剔除或保留相关信息。通过这种方式,存储单元可以同时捕捉短期和长期的时间序列特征,解决RNN神经网络梯度消失的问题[14]。

2.3 LSTM神经网络建模

本文基于多层的LSTM神经网络模型进行构建,该算法模型按照以下步骤进行设计:

步骤1 设计LSTM网络模型层级。采用3层LSTM网络,一层扁平化网络,一层全连接网络。通过flatten层把输入信息扁平化,将多维输入转变为一维输入。经由一个全连接层将LSTM输出的向量转换成标签向量的维度。网络结构图如图4所示。

图4 网络结构图

步骤2 LSTM单元用128个神经元进行训练。选用32 360样本数据集为训练集,32 360样本为测试集。输入维度为2,滑动窗口大小为100。然后需要调节的主要参数有存储单元数目、结构和训练集时间窗口大小。对每种情况训练100次,监测网络模型指标。

步骤3 评估训练后的LSTM神经网络性能。通过平均绝对误差(MAE)、均方误差(MSE)、均方根误差(RMSE)这三个评价指标判定LSTM网络模型的预测能力。MAE的值越小表示预测模型的精度越高。MSE和RMSE的值越小表示模型的预测效果越稳定。

3 LSTM神经网络训练

本文研究的LSTM神经网络算法包括训练数据和测试数据两大方面。训练结果和测试结果的准确性往往取决于数据的选择、数据量的大小和模型参数的设定三个方面。初步完成神经网络模型搭建之后,需要测试模型的补偿效果,根据测试后得到的评价指标进而调整模型的参数、特征或者算法,以达到满意的结果。LSTM神经网络的训练算法是一种反向传播算法,主要分为以下三个步骤:

步骤1 计算每个神经元的正向传播参数。计算LSTM神经网络中f t,i t,C t,o t和h t这五个向量的值。

步骤2 计算每个神经元的误差值δ。LSTM神经网络误差项的反向传播包括两个方向:一个是沿时间方向的反向传播,通过当前时间t计算每一时刻的误差项;另一个是沿着上一层的反向传播。

步骤3 计算每个权重的梯度,然后使用ADAM优化算法和时间反向传播BPTT算法更新权重。

为了减少训练模型的误差,避免陷入局部最优解,首先对时间序列进行反向传播和归一化,然后对各层权值和学习率进行初始化,最后采用基于ADAM的优化算法和时间反向传播BPTT算法对LSTM网络进行进一步训练。具体网络训练流程如图5所示。

图5 LSTM网络训练流程

本文选用的评价指标是平均绝对误差、均方误差、均方根误差,通过这三个指标来评估LSTM网络模型的预测能力[13]:

式中:y t为t时刻的实际输出,^y t为t时刻的预测输出。

由表1可以看出,MAE的值随着反向传播次数的增加逐渐减小,这说明预测模型的精度逐渐提高。MSE和RMSE的值越小,说明模型的预测效果越稳定。

表1 LSTM网络训练模型指标

4 实验分析

4.1 数据采集与预处理

实验中使用的设备有MEMS陀螺仪(由高动态导航北京市重点实验室自制)、一台双轴转台高低温试验箱和一台计算机。设计MEMS陀螺仪的硬件结构,制作出如图6所示的MEMS陀螺样机。在采集数据前需要对陀螺仪设备进行校准,然后通过双轴转台高低温试验箱实现MEMS陀螺仪的温度变化,最后利用由实验室制作的hdntCenter上位机软件记录陀螺仪的输出数据以及温度数据。具体过程如下。

图6 MEMS陀螺仪

将带有型号为ADXRS646的陀螺仪的MENS器件放置于温箱内,如图7所示。打开测试设备电源,设置温箱程序,设定温度为-40℃~60℃。在测试过程中,温度是唯一环境量,通过热阻得到MEMS陀螺仪金属外壳内部的实时温度,其值与MEMS陀螺仪输出同步[15]。温箱温度初始值设置为-40℃,待温度到达-40℃后,保温15 min,打开hdntCenter上位机软件开始记录数据。温箱温度在-40℃保持1 h后将温度变化速率调至0.5℃/min,当温箱温度升高至60℃后保持1 h,以确保MEMS陀螺仪外壳内部的温度与温箱温度保持一致,随后停止记录,保存数据并关闭温箱。

图7 双轴转台高低温试验箱

在温度区间内进行数据采样,得到陀螺零位漂移-温度的关系图,如图8所示。由于原始的MEMS陀螺仪零位漂移与温度关系的数据过多,使得图像不精准。为了得到更精准的MEMS陀螺仪零位漂移与温度关系的曲线图,需要每0.1℃在原始陀螺零位漂移-温度的关系曲线上取前后100个样本的平均值作为新的陀螺零位漂移-温度关系曲线的样本点,如图9所示。

图8 MEMS陀螺仪的零位漂移-温度关系

图9 取平均值后MEMS陀螺仪的零位漂移-温度关系

4.2 实验结果及分析

采集数据的前70%作为训练样本,剩下的30%作为测试样本。本文对LSTM网络进行了50次迭代训练,滑动窗口大小为1,所有采集到的数据在使用前进行相应的处理。训练完成后,将训练好的网络参数存储到测试数据集中,测试LSTM网络模型的性能。图10表明了随着迭代次数的增加LSTM网络的误差变化。可以看出,经过50次训练后,LSTM网络的损失函数下降趋于稳定。

图10 LSTM神经网络训练周期与误差的关系

为了显示出LSTM神经网络的优越性,本文与传统多项式模型、RBF神经网络模型、CMAC小脑模型作对比。利用同一测试集检验几种模型的预测精度,表2列出了不同模型的预测能力和补偿效果的

表2 不同模型的评价指标

评价指标。与其他模型相比LSTM神经网络模型的MAE、MSE和RMSE的值更小,这表明预测模型的精度高,稳定性好。表3为陀螺仪的性能指标,对比其他模型,LSTM网络模型的性能指标的优越性十分显著。从图11可以更直观的看出,LSTM神经网络模型的补偿效果优于其他模型。

表3 陀螺仪的性能指标

图11 不同模型的补偿效果

4.3 LSTM神经网络模型的验证

使用相同型号的另一组陀螺仪进行实验,在-40℃~60℃温度区间内采集7组数据。采用LSTM网络模型对MEMS陀螺仪输出进行温度补偿,补偿后的模型评价指标如表4所示,7组均方误差、绝对值均差、均方根误差这三指标值上下波动不大,且数值较小,说明模型预测精度高,补偿效果稳定。

表4 LSTM网络的评价指标

经过数据预处理,计算出陀螺的各项指标。表5列举了MEMS陀螺仪温度补偿前的各项指标,表6为通过LSTM网络补偿后的陀螺仪指标。对比可知,补偿后的陀螺仪零偏稳定性、零偏不稳定性、角度随机游走数值大幅度减小,证明了稳定补偿模型的准确性。

表5 温度补偿前MEMS陀螺仪的各项指标

表6 温度补偿后MEMS陀螺仪的各项指标

4.4 硬件实现

利用训练好的模型实现MEMS陀螺仪输出的温度补偿,具体流程如图12所示。对于本文提出的深度学习下的多层LSTM网络,需要通过Cube.ai在STM32上实现。利用Cube.ai部署多层LSTM网络的具体步骤如下:

图12 系统组成图

步骤1 利用上文4.1节中方法利用hdntCenter上位机软件采集陀螺仪温度数据和原始输出数据,重复测试2组。

步骤2 利用Python将两组数据在每0.1℃取前后100个陀螺仪输出的平均值作为网络训练样本和测试样本,并将训练样本和测试样本逐一打上标签(标签为陀螺仪零偏)。

步骤3 训练深度学习下的多层LSTM网络模型。利用Python的Keras深度学习框架构建本文深度学习网络结构。将陀螺的输出数据和对应的温度数据作为LSTM深度学习网络的输入,步骤2中的标签作为深度学习网络的输出。应用3种不用的损失函数进行网络训练,通过短时间内多次迭代,使得网络的输出可以最小化期望的误差标准。

步骤4 将深度学习下的多层LSTM网络转换为STM32的优化代码。把训练好的深度学习模型的.h5文件输入到CubeMX软件中,借助STM32 CubeMX软件中Cube.ai工具箱优化代码,将网络转化成STM32可以运行的Keil工程文件,并使工程复杂度和内存需求最小化。随后下载到STM32中。

步骤5 使用训练后的网络处理和分析实时数据。

5 结论

本文将深度学习与神经网络相结合,提出了一种在LSTM神经网络的作用下能抑制MEMS陀螺仪受温度影响产生零位漂移的方法。该方法将网络层级部分进行了优化,利用其特有的网络层级对有限样本进行数据训练,使网络对非线性函数输出具有预测能力。LSTM神经网络通过学习一种深层非线性网络结构,模拟更加复杂的函数,从而提高补偿模型的准确性,为后续的温度误差补偿奠定了基础。为了验证LSTM神经网络模型的优越性和有效性有效性,本文将LSTM模型与其他模型进行对比试验,经过LSTM神经网络模型补偿的效果图更趋近于一条水平直线。对比几种模型的预测能力和补偿效果评价指标,实验表明,LSTM模型与RBF温度补偿模型相比,陀螺仪补偿后的零偏稳定性、零偏不稳定性和角度随机游走等性能指标,以及MAE、MSE、RMSE三个模型评价指标提高了90%以上。并且LSTM神经网络模型的MAE、MSE、RMSE值最小,这说明LSTM神经网络预测模型的精度高,效果稳定。后续对LSTM神经网络模型的可行性和准确性也进行了进一步的验证。实验结果表明,基于LSTM神经网络模型补偿后的陀螺输出精度显著提高,补偿效果明显,具有一定的工程应用价值。

猜你喜欢

零位陀螺仪陀螺
非球面非零位检测成像系统误差分析
基于EMD的MEMS陀螺仪随机漂移分析方法
黏油卸车流程设计与应用总结
电机零位对电动汽车能耗影响研究
做个纸陀螺
玩陀螺
陀螺转转转
我最喜欢的陀螺
我国著名陀螺仪专家——林士谔
“蓝天王国”奇遇记(十一)——陀螺仪