基于深度学习的MEMS加速度计随机漂移补偿方法
2024-01-23郑怡晨
郑怡晨,刘 洪
(北京信息科技大学高动态导航技术北京市重点实验室,北京 100101)
0 引言
MEMS(微机电系统)加速度计广泛应用于航空航天、自动驾驶和机器人等领域[1-2]。由于MEMS加速度计在长期使用过程中存在测量误差导致输出精度较低,这限制了MEMS加速度计在实际应用中的进一步推广和发展。因此,采用合理的方法对MEMS加速度计的测量误差进行补偿,对于提高其测量精度具有重要意义。
MEMS加速度计的测量误差包括确定性误差和随机性误差。确定性误差例如零偏误差、未正交对准和比例因子误差可以通过标定补偿[3]。由机械噪声和电子噪声等复杂随机干扰引起的随机误差[4-5]无法通过标定消除。因此,随机误差是制约MEMS加速度计精度提高的主要因素。用来降低随机误差的网络算法主要包括传统的统计方法和人工智能(AI)方法。
随着人工智能的快速发展[8-9],提出了更准确的基于人工智能算法的随机漂移非线性模型。人工智能方法主要包括支持向量机建模方法[10-12]和神经网络建模方法[13-14],这类方法将数据的建模视为序列预测问题。由于随机误差中包含随机漂移和白噪声,因此需要通过预处理,去除随机误差中的白噪声。预处理一般采用均值滤波、前向线性预测滤波和EMD等方法。目前,通过基于人工智能方法构建的模型补偿随机漂移的研究相对较少。
人工智能方法中,采用支持向量机的补偿方法对MEMS加速度计的随机漂移进行补偿的缺点在于选取特征向量和模型参数的过程复杂。因此,有必要用神经网络方法构建随机漂移模型以实现对随机漂移的高精度估计和补偿。本文建立了一个基于LSTM深度神经网络的MEMS加速度计误差模型,抑制MEMS加速度计的随机漂移。
1 深度学习下的神经网络模型搭建
1.1 RNN神经网络
循环神经网络(recurrent neural network,RNN)是输入为时间序列数据,在序列的演进方向进行递归且所有节点按链式连接的递归神经网络[15]。图1为RNN神经网络的结构图以及展开图。
图1 RNN神经网络结构展开图
图1中,xt表示第t步的输入值,st表示第t步的隐藏值,ot表示第t步的输出值,U是输入层到隐藏层的权重矩阵,V是隐藏层到输出层的权重矩阵,W是各时间点隐藏层之间的权重矩阵。隐藏层的值st与当前的输入值xt和上一隐藏层的值st-1有关。
1.2 LSTM神经网络
LSTM是能够捕捉长时依赖的特殊时间循环神经网络,用于解决RNN存在的梯度消失与梯度爆炸问题[16]。LSTM的核心是记忆块(memory block),主要包含3个门控单元与1个记忆细胞,3个门控单元分别为:遗忘门、输入门和输出门。LSTM的细胞状态可以控制信息传递给下一时刻,而通过门控单元可以对细胞添加或删除信息。LSTM神经网络结构如图2所示。
图2 LSTM神经网络结构图
通过门控单元可以有选择地决定信息是否传递,它由1个Sigmoid神经网络层和1个成对乘法操作组成。该层的输出是介于0~1的数,表示允许通过信息的多少,0表示不允许通过,1表示允许通过。Sigmoid函数为
σ(x)=1/[1+e-x]
(1)
门控单元的形式表示为
目前健康管理还没有一个公认和统一的定义。简单来说,健康管理是以人的健康为中心,长期连续,周而复始,螺旋上升的全人、全程、全方位的健康服务。可见,健康管理的目标和健康的定义是密切相关的。世界卫生组织(WHO)指出:“健康乃是一种在身体上、精神上的完满状态,以及良好的适应力,而不仅仅是没有疾病和衰弱的状态”。与健康管理相关的另外一个重要概念就是管理。目前认为,在健康管理中,管理是改善人群健康状态以达到最大健康效应的过程。因此,从管理角度而言,健康管理也是以健康为核心的。
g(x)=σ(Wx+b)
(2)
遗忘门、输入门和输出门公式分别为:
ft=σ(Wxfxt+Whfht-1+bf)
(3)
it=σ(Wxixt+Whiht-1+bi)
(4)
ot=σ(Wxoxt+Whoht-1+bo)
(5)
式中:ft、it、ot分别为t时刻遗忘门、输入门和输出门的输出值;W和b分别为网络的权重系数矩阵和偏置值;ht-1为t-1时刻的隐藏层输出。
当前时刻记忆细胞状态值由输入门和遗忘门决定,公式为
ct=ftct-1+ittanh(Wxcxt+Whcht-1+dc)
(6)
式中ct-1为t-1时刻的记忆细胞状态值。
输出值ht与输入值相关,公式为
ht=ottanh(ct)
(7)
2 LSTM神经网络建模
本文使用LSTM神经网络模型,模型确定为单输入单输出的系统,输入为MEMS加速度计的实际输出值,输出为预测的MEMS加速度计的误差信号。
2.1 数据预处理和拆分
图3 LSTM模型建立过程
2.2 训练
选用2.1中划分的训练集对LSTM神经网络进行训练。输入维度为2,时间步数为1。确定LSTM神经网络结构和存储单元数目。为了训练神经网络,需要定义一个损失函数来衡量模型预测值和真实值之间的误差,并使用优化器更新模型参数,使损失函数最小化。
2.3 评估
使用测试集评估模型性能。LSTM 网络模型的预测能力根据平均绝对误差(MAE)、均方误差(MSE)、均方根误差(RMSE)这3个评价指标来判定[17]:
(8)
(9)
(10)
MAE、MES、RMSE的值越小表示预测模型的性能越好。
3 实验验证分析
3.1 数据采集与预处理
实验中使用的设备包括MEMS惯性测量单元 (IMU)MPU6050、USB-TTL模块和计算机。IMU首先被校准并静态放置在工作台上。然后以100 Hz的采样频率收集X轴加速度计的输出,以g为单位。 校准后,记录了6320个数据点。
在实验中,将得到的数据点通过窗口大小为3的均值滤波器进行预处理,生成的数据集分为2部分(50%∶50%)。 图4显示了均值滤波前后的信号。
图4 预处理均值滤波后与原始数据对比图
3.2 训练深度学习神经网络
选用3160个样本数据集为训练集,3160个样本为测试集。对每种情况训练200次,观察网络模型的性能指标。
本文模型由4个 LSTM 层和2个全连接层组成,其中每个 LSTM 层的输出都需要返回到下一层的输入。在这个模型中,第1个 LSTM 层有 50 个神经元,其余3个 LSTM 层分别有 100、200 和 300 个神经元。每个 LSTM 层都返回序列数据,直到最后一层,之后将输出序列数据重新形成单个向量,然后经过2个全连接层后输出单个标量结果。
本文模型使用二元交叉熵作为损失函数,ADAM 优化器进行优化,准确度作为评估指标。使用 fit 函数对模型进行训练,将训练数据和标签以及训练时每个批次的大小和迭代次数,作为函数的输入,然后模型通过反向传播算法进行参数优化,不断迭代,直到损失函数达到预定的最大迭代次数为止。最后,通过实际数据对训练好的模型进行评估,得到其在应用中的表现。
4 实验结果及分析
本文采用均值滤波的方法对采集到的数据进行预处理,并对LSTM网络进行了200次迭代训练。将获得的网络参数存储,并使用这些参数对测试数据集进行测试,以评估LSTM网络模型的性能。图5显示了LSTM网络训练损失随着迭代次数的增加的变化情况。结果表明,LSTM网络在经过15次训练后,其损失函数开始保持稳定状态,不再显著下降。
图5 LSTM神经网络的模型损失和迭代次数的关系
为了验证本文提出的随机漂移补偿方法的有效性,设计了相关实验,并与传统ARMA-KF算法进行比较,结果如表1所示。由表1可知LSTM网络模型相比于ARMA-KF模型在抑制MEMS加速度计的随机漂移方面表现出明显的优越性。图6 显示了2种方法的原始观察结果和补偿结果。
表1 补偿前后加速度计的性能指标
图6 实验不同方法的补偿结果
通过3次实验对补偿后的模型进行了评估,结果如表2所示,这3次实验的均方误差、绝对值均差和均方根误差变化较小,且整体数值较小,验证了本文模型具有很高的预测精度和稳定的补偿效果。
表2 LSTM网络评价指标
5 结论
本文提出了一种将深度学习算法与神经网络相结合的补偿 MEMS 加速度计随机漂移的方法。首先,对采样数据进行均值滤波和归一化预处理,然后利用有限样本数据对LSTM神经网络进行训练,使网络对非线性函数输出具有一定的预测能力,从而实现对MEMS加速度计随机误差的补偿。实验结果表明,本文提出的方法降低了MEMS加速度计的噪声指标80%以上,并且在相同的数据集上,基于LSTM的降噪方法明显优于传统的ARMA-KF方法,验证了基于LSTM滤波器的有效性。