煤矿井下基于降噪自编码器的航向估计算法研究∗
2021-08-28郭倩倩崔丽珍高丽丽赫佳星
郭倩倩,崔丽珍,杨 勇,高丽丽,赫佳星
(内蒙古科技大学信息工程学院,内蒙古 包头 014010)
目前,国内煤矿整体处于自动化向智能化过渡阶段,5G新技术的发展将推动煤炭产业加速走向智能化。随着智能煤矿建设进程加快,井下安全救援、危险区域预警等实现矿井人员精准定位对于保障井下人员的生命安全具有重要意义[1],而煤矿井下智能手机的使用为井下人员安全生产提供了强有力的保障,基于智能手机内置惯性传感器的行人航位推算算法(pedestrian dead reckoning,PDR)具有仅依赖设备自身不需要其他额外的设施即可实现定位[2],不受矿井复杂环境的限制,不需要前期训练数据,适用性强,成本低等优势,有效解决了煤矿井下矿工实时精准定位问题。
PDR算法[3]包含步伐检测、步长估计和航向估计,其中精准的航向估计对PDR算法来讲至关重要。文献[4]采用四元数解算航向角,一定程度上降低了陀螺仪直接积分导致的累积误差,但未融合其他传感器数据进行姿态更新,存在长时间漂移的问题。文献[5]通过互补滤波来融合陀螺仪与加速度数据进行姿态解算,解决了长时间漂移问题提高了航向解算的精度。文献[6]提出一种互补滤波算法,以短时间内陀螺仪输出角度为最优值,对其利用加速度计和磁力计进行校正,精度有所提高但未考虑到航向角的修正。文献[7]通过多传感器数据融合进行航向角解算,利用无迹卡尔曼滤波算法获得航向角的最优无偏估计,获得较高的估计精度。
针对现有航向解算算法存在累积误差以及不适应于井下特殊环境等问题,本文提出煤矿井下基于降噪自编码器的卡尔曼滤波融合航向估计算法,利用降噪自编码器(Denoising Auto-Encoder,DAE)对井下惯性传感器数据进行降噪处理,训练DAE中的编码器和解码器来最小化重构误差,学习重构分布来获得更加鲁棒的数据特征;提出基于智能手机陀螺仪、重力计和磁力计的航向估计方法,依据陀螺仪不受磁扰影响和磁力计不受长期漂移影响的互补特性采用加速度和磁力计数据对陀螺仪进行补偿,利用四元数互补滤波更新解算航向角,并利用卡尔曼滤波融合陀螺仪直接积分获取的航向角来提高算法在煤矿井下的适应能力,提高手机惯性传感器在井下航向估计的稳定性和普适性。
本文创新点:针对煤矿井下高动态、强磁场的复杂环境,使用智能手机中惯性传感器解算航向角存在较大累积误差及受磁场干扰等问题,提出一种基于降噪自编码器的卡尔曼滤波融合航向估计算法,提高了航向角解算精度,对复杂矿井下工作人员定位导航精度提高有一定的研究意义。
1 MEMS陀螺数据处理与分析
受煤矿井下恶劣环境影响,井下瓦斯等气体含量较高,存在安全隐患,仅可使用矿用本安型防爆认证的智能手机采集数据。矿用智能手机中装载三轴陀螺仪、加速度计和磁强计,但是低成本的MEMS传感器陀螺仪存在逐次上电不重复性[8],传感器系统性误差会随着每次重新上电而变化。同时手机惯性传感器在采集过程中受井下动态环境的影响会产生随机误差,随着传感器系统性误差与随机误差不断积累,会导致姿态误差,进而导致位置误差发散[9]。本文针对以上情况通过陀螺零偏校准和降噪自编码器来提高传感器性能。
1.1 陀螺零偏校准
MEMS陀螺零偏是影响陀螺精度的主要因素,减小零偏输出误差是传感器性能提高的关键方法[10]。本文将本安型智能手机水平静止放置采集5min传感器数据,然后对静态下陀螺输出值求统计平均来计算陀螺零点偏移量作为校准值,该修正方法使传感器数据具有更高的鲁棒性,增强其在煤矿井下的适应能力。
1.2 降噪自编码器
自编码器(Auto-Encoder,AE)[11]是近年来一种经典的无监督学习的非线性特征提取方法,其中降噪自编码器是在原有的自编码器基础上为原始数据引入噪声,让网络从其噪声样本重构输入数据,从而学习到更具鲁棒性的数据特征。降噪自编码器的结构如图1所示。
图1 降噪编码器结构图
DAE的训练过程包括加噪层、编码层和解码层三个阶段,具体过程为:①降噪自编码器的输入数据为X,人为加入噪声或以概率p将输入层节点的值置为0,得到含有噪声的输入数据~X;②含有噪声的输入数据~X编码得到隐含层的输出H;③对隐含层的输出H解码得到最终的重构数据Z,通过度量重构数据Z和原始数据X之间的误差L(X,Z),调整各层参数最小化重构误差,得到输入数据的最优表示。
编码过程为:
式中:σ为激活函数,为了提高非线性本文在编码层使用Relu激活函数,W1和b1分别为编码的权重矩阵和偏置向量;
解码过程为:
式中:σ为激活函数,W2和b2分别为解码的权值矩阵和偏置向量。
从上述过程可以看出,解码是编码的逆过程。对于解码过程中的权重矩阵W2可以被看成是编码过程的逆过程,即W2=WT1。为了使得重构后Z和原始数据X之间的重构误差最小,使用均方误差作为其重构误差:LDAE=‖X-Z2‖。
2 智能手机姿态解算
在煤矿井下矿工导航应用中,载体为矿工,手机姿态解算需要将智能手机的载体坐标系转换到导航坐标系上。载体坐标系(b系)是以手机自身为参考的坐标系,其中X轴朝向手机侧面右方,Y轴沿手机指向前进方向,而Z轴朝向手机屏幕正上方。导航坐标系(n系)是以地球为参考的坐标系,本文使用东-北-天作为n系,X轴朝向当地地理东向,Y轴指向地理北向,Z轴沿参考椭球面外法线方向指向天顶方向,由于b系与n系原点均与传感器测量中心重合,可将载体坐标系通过三次旋转,旋转到与导航坐标系对齐,旋转顺序为航偏(Z轴)-俯仰(X轴)-横滚(Y轴),旋转矩阵依次表示为:
式中:C n b为正交矩阵,两坐标系间相互转换的旋转矩阵有如下关系:
可得
本文定义四元数来表示手机姿态解算:
式中:q0为转动幅度,q1、q2、q3为旋转轴。将载体坐标系利用四元数转换为导航坐标系之间的旋转矩阵为:
通过式(10)四元数表示的旋转矩阵计算姿态角:
3 补偿四元数姿态解算
在井下矿工姿态解算中,所需角速度可以使用手机内置陀螺传感器采集输出,但在手机静止情况下陀螺累积误差严重,误差主要来源于三轴陀螺仪要将角速度对时间积分才能得到角度,由于噪声等误差在积分作用下不断积累,最终导致陀螺仪的低频干扰和漂移随时间延长而逐步增加。本文依据陀螺仪不受磁扰影响和磁力计不受长期漂移影响的互补特性,通过融合九轴传感器数据来补偿陀螺仪的漂移误差[12]。补偿四元数姿态解算流程如图2所示。
图2 补偿四元数姿态解算流程图
重力计补偿陀螺仪:取定导航坐标系中的标准重力加速度g,定义为g n[001]T,将重力向量由导航坐标系下的g n转换为手机坐标系得到g b=定义手机坐标系中的重力计数据输出为a b,对其进行归一化并与g b做叉乘得到重力计补偿误差e a:
磁力计补偿陀螺仪:定义磁力计数据经归一化后得到手机坐标系下的标准磁场数据为mb,将磁场数据由手机坐标系转为导航坐标系得到理论磁场数据,假设导航坐标系的y轴指向正北,则实际导航坐标系下的磁场数据为:mn′=[0,将磁力计在导航坐标系下的实际输出mn′转换到手机坐标系并与mb做叉乘得到磁力计补偿误差e m:
根据式(13)使用PI控制器消除向量积误差,e′w为负反馈给陀螺仪进行校正补偿的值
式中:K p ew为比例控制项,为积分控制项,其中ew=e a+e m。
根据式(14)将陀螺仪三轴角速度w x、w y、w z通过四元数微分方程求解四元数q0、q1、q2、q3输出,最后将四元数输出代入式(10)中转换为欧拉角形式解算出矿工行走方向。
4 基于KF-DAE航向估计
煤矿井下环境复杂,行走条件恶劣,仅用单一姿态解算方法很难满足精度需求,因此本文提出基于KF和DAE的航向估计算法,该算法由卡尔曼滤波融合陀螺仪积分及九轴传感器航向解算和旨在消除原始惯性传感器数据噪声的降噪自动编码器组成。首先利用DAE对井下九轴数据进行降噪处理,训练DAE中的编码器和解码器来最小化重构误差,学习重构分布来获得更适应复杂高动态井下环境的数据特征。
在矿工航向解算中引入卡尔曼滤波,融合九轴传感器解算的航向角与陀螺仪积分解算的航向角,将矿工运动航向角作为状态转移方程,九轴传感器补偿解算输出的航向角及陀螺仪直接积分解算的航向角作为量测值,式(15)、(16)分别为卡尔曼滤波状态方程与量测方程:
式(15)中:xk为k时刻的系统状态变量,xk-1为k-1的系统状态变量,A为状态转移矩阵,B为控制输入的增益,u k-1为系统控制量,wk-1为过程激励噪声是期望为0,协方差为Q的高斯白噪声,wk-1~N(0,Q);
式(16)中,z k为k时刻的量测值,H k为量测矩阵,v k为观测噪声是期望为0,协方差为R的高斯白噪声,v k~N(0,R),其中A=B=H k=1。
手机姿态角的初始值由加速度数据和磁场数据解算得到,加速度数据计算得到横滚角和俯仰角,再加入磁场数据经过计算得到初始的航向角,通过地磁方向和陀螺仪方向的相关性,可以消除井下地磁干扰导致的地磁方向突变。通过卡尔曼滤波融合航向解算估计出行走方向最优值,基于加速度、地磁、陀螺仪的手机姿态航向估计及融合方法流程图如图3。
图3 基于加速度、地磁、陀螺仪的手机姿态航向估计及融合方法流程
5 实验
5.1 数据采集平台
本文基于矿用本安型华为p10智能手机开发了数据采集App,主要实现采集矿工运动过程中的三轴加速度、三轴陀螺仪、三轴磁力计数据采集、显示以及数据存储功能,数据采集App如图4。
图4 数据采集App
5.2 测试试验
由于目前智能手机内置的传感器价格低廉、精度较工业级产品低,煤矿井下矿工运动加速度计和陀螺仪的原始传感器数据不可避免地包含噪声,采用降噪自动编码器消除原始惯性传感器数据噪声,获得具有较高鲁棒性的数据特征,提高手机惯性传感器井下航向估计的稳定性。
本实验所用传感器数据集是由鄂尔多斯高头窑煤矿矿工井下工作采集到的传感器数据,采样频率为100 Hz,该数据集包含了矿工工作时采集到的6 min的传感器数据(约30000个数据),选取其中1000个数据用于测试,其余全部用于模型训练。
以三轴陀螺仪数据为例,对原始陀螺仪数据人为加入噪声,使原始数据受到一定损坏,再将受损数据送入自编码器,DAE模型对编码器和解码器进行训练,使重构误差最小化,在得到降噪自编码器最优编码后,将训练后的特征作为卡尔曼滤波融合航向解算的输入。
降噪编码器使用Relu激活函数,使用均方误差作为其重构误差。总的网络结构由两个编码器和两个解码器构成,编码器的输入节点为3个,与输入数据的特征个数一致,输出节点为隐含层节点个数;解码器的输入节点和隐含层节点个数一致,输出节点为3个,与输入数据的特征个数一致,训练过程的损失函数曲线如图5所示。
图5 训练过程的损失函数曲线
图6为井下三轴陀螺仪原始含噪数据经DAE模型重构结果,由上至下分别为X-Y-Z三轴陀螺仪角速度降噪前后对比图,由图可得经对原始三轴陀螺仪数据人为加入噪声后,学习重构分布可获得更加鲁棒的特征,将降噪后的特征作为卡尔曼滤波融合航向解算的输入进行航向结算,提高航向角解算精度。
图6 三轴陀螺仪原始数据经DAE模型重构结果
为验证算法对陀螺仪累积误差有较好的补偿效果,本文在鄂尔多斯高头窑煤矿采集矿工运动数据,大多数井下原子路径为直线,拐弯为直角拐弯。因此本文设计了多种行进路线,并以矿工实际行走路线为参考,进行了陀螺仪积分解算航向角、重力计与磁力计补偿解算航向角以及本文提出的KF-DAE自适应航向解算这三种算法的对比试验。
①井下静态数据解算
矿工在高头窑煤矿3-1煤106辅运顺槽固定点平端手机保持静止,采样频率为100 Hz,采集3 min的传感器数据,计算陀螺零点偏移量作为校准值,用三种算法解算得到的航向角如图7所示,从图中可以明显看出陀螺仪直接积分解算在2 min后累积误差不断增大,而其他两种算法均有效消除了累积误差,航向角相对稳定。同时可以看出加入DAE降噪的融合航向解算算法较九轴传感器航向解算算法角度波动幅度小更稳定。
图7 静态数据航向解算
②井下动态数据解算
矿工手持手机在高头窑煤矿3-1煤106辅运顺槽沿Z字形巷道行走,为检验算法对磁场的抗干扰能力以及是否有效消除累积误差,本文选定一条弱磁场干扰的巷道及工作面附近一条强磁场干扰的巷道,按照静止-直行-转弯-直行状态运动。
路线1采集的传感器数据用三种算法解算得到的航向角如图8(a)所示,三种航向解算算法在弱磁场干扰的巷道均能有效解算矿工运动的航向角;路线2逐渐靠近有磁场干扰的井下工作面,采集的传感器数据用九轴传感器航向解算及KF-DAE自适应航向解算得到的航向角如图8(b)所示,从图中可以看出由于矿井下受采煤机、液压支架等机械及电气设备铁磁材料干扰,重力计与磁力计补偿解算航向角存在抖动,不能适应磁干扰较强的矿井环境,而本文提出的基于KF-DAE自适应航向解算可以有效缓解强磁干扰,在强弱磁场环境均能有效解算出矿工运动的航向角。
图8 Z字形巷道航向解算对比
九轴传感器航向解算与本文算法在直行-转弯-直行状态运动路线中航向误差分析如表1所示,从表中可以看出在干扰严重的工作面本文提出的基于KF-DAE自适应航向解算较重力计与磁力计补偿解算航向误差最多减小了10.39°,验证了本文基于KF-DAE自适应航向解算更适应矿井高动态复杂环境,有效消除累积误差且在磁干扰的环境下也有较强的适用性。
表1 KF-DAE自适应航向解算及九轴传感器补偿解算误差
6 结论
本文针对煤矿井下存在强磁场干扰的问题提出一种基于KF-DAE自适应航向估计算法,该算法利用降噪自编码器对井下惯性传感器数据进行降噪处理,训练模型中编码器与解码器来最小化重构误差,以此获得更加鲁棒的数据特征,同时利用卡尔曼滤波融合陀螺仪积分及九轴传感器航向解算来提高算法在煤矿井下的适应能力,试验结果表明:①基于KF-DAE自适应航向解算有效缓解了煤矿井下陀螺仪长时间误差累积;②基于KF-DAE自适应航向解算在井下工作面附近受强铁磁干扰,能较好地降低传感器的噪声干扰,较九轴传感器航向解算误差减小10.39°,增强了算法的环境应变能力,满足矿工井下导航的需求。