基于DL-LSTM的UWB/INS室内定位算法*
2021-10-15张宝军廖延娜
张宝军,陈 曦,廖延娜,田 奇
(西安邮电大学 电子工程学院,陕西 西安 710121)
0 引 言
目前比较成熟的超宽带(ultra-wide band,UWB)室内定位方法[1~3]包括有接收信号强度(receive signal strength,RSS),信号到达角度(angle of arrival,AOA)、到达时间(time of arrival,TOA)和到达时间差(time difference of arrival,TDOA)。在室内定位的应用场景中,定位系统往往会受到多径效应、非视距(nonline of sight,NLOS)误差等因素的干扰。UWB信号可以在较宽的带宽上传输,可以有效分辨并抑制多径传播,所以,UWB成为目前市场应用较多的定位方法,而降低NLOS误差也成为UWB室内定位技术的研究热点。
文献[4]提出了一种结合卡尔曼滤波(Kalman filtering,KF)和线性化原理的TOA室内定位方法,将UWB定位数据线性化后用KF进行处理,有效地减小多径和NLOS引起的误差。但是KF无法满足强非线性系统。文献[5]提出一种基于IA-BP神经网络的UWB室内定位方法,为了避免反向传播(back propogation,BP)神经网络收敛速度较慢,将其训练的误差值作为免疫算法的抗原,通过计算亲和度寻得网络的最优权值和阈值,达到减小定位误差的目的,同时解决了网络易陷入局部最优值的问题。文献[6]提出一种长短期记忆(long-short term memory,LSTM)神经网络定位方法。选择不同比例的振幅和相位数据以形成不同数据集训练神经网络,得到最优特征比下的模型,可以有效提高定位精度。LSTM神经网络[7~9]能够从大量的样本数据中学习到数据深层次、抽象化的特征,在训练修正序列化数据方面有着显著的优势。
本文设计了一种NLOS环境下基于双层长短期记忆神经网络(double-layer long-short term memory,DL-LSTM)的室内定位系统,根据信号在NLOS环境下定位数据的深度特征建立DL-LSTM模型,将基站测距值和惯性导航系统(inertial navigation system,INS)的加速度、角速度数据作为模型输入进行训练,第一层网络用于消除NLOS误差;第二层网络对UWB/INS组合系统进行位置预测的位置信息。
1 UWB定位原理
本文使用DWM1000UWB模块,利用信号在基站(base station,BS)与移动标签(mobile tap,MT)之间的双向传播时间(two-way time of flight,TWToF)完成测距。基站A在tA1时刻发送测距请求信号,移动标签M在tM1时刻接收到请求信号,并在tM2时刻返回响应信号,传感器A在tA2时刻接收到响应信号,则测距方程为
dAM=c×[(tA2-tA1)-(tM2-tM1)]/2
(1)
式中c为光速。
实验的数据采集是在NLOS环境下进行的,得到测距值后需要对UWB系统的基站进行标定。但在NLOS环境下,信号无法在直接路径上传递,不仅会影响信号的检测精度,而且会使得信号在接收过程中产生附加的时延,即式(1)中tM1,tA2会明显增大。为了减小这种误差,需要对UWB模块在NLOS环境下的测距性能进行标定,本文选择一次函数作为标定模型[10],用最小二乘法进行误差线性拟合。
LSTM神经网络是将循环神经网络(recurrent neural network,RNN)[11,12]内部常规的隐含层单元替换为LSTM单元,通过特有的门控制将短期记忆与长期记忆结合起来,可以有效地解决梯度消失、梯度爆炸等问题,如图1所示。
图1 LSTM网络结构
图1中,Ct-1指向Ct的水平线,表示细胞状态,看作是记忆链条,细胞状态会沿着这个链条进行传送,在LSTM单元中只有少数地方有一些线性交互,因此LSTM网络可以记忆长期的信息。LSTM网络的记忆块单元包含3个门结构:输入门,遗忘门和输出门。
其计算过程如下:
1)遗忘门ft决定从细胞状态中遗忘什么样的信息,表达式为
ft=σ(Wf·[ht-1,xt]+bf)
(2)
式中σ为激活函数Sigmoid,xt为该时刻的输入,ht-1为上一时刻隐含层的输入,ft为遗忘门的输出,Wf为遗忘门的权值项,bf为遗忘门的偏置项。
2)输入门it决定储存什么样的信息,其主要分为两步,第一步激活函数Sigmoid决定需要更新的值,表达式为
it=σ(Wi·[ht-1,xt]+bi)
(3)
式中Wi为输入门的权值项,bi为输入门的偏置项;第二步激活函数tanh产生一个新的候选值向量t,会被加入到细胞状态中,表达式为
(4)
式中 tanh为双曲正切激活函数;Wc,bc分别为权值项和偏置项。
3)更新细胞状态Ct,表达式为
Ct=Ct-1×ft+t×it
(5)
输出门ot根据新的细胞状态确定输出部分,表达式为
ot=σ(Wo·[ht-1,xt]+bo)
(6)
ht=ot*tanh(Ct)
(7)
式中Wo,bo分别为权值项和偏置项;ht为该时刻的隐含层输出。
2 UWB/INS DL-LSTM定位融合
本文使用MPU6050模块作为INS的惯性测量单元(inertial measurement unit,IMU)。MPU6050模块带有陀螺仪传感器和加速度传感器,可以获取载体当前的三个旋转角速度和加速度分量。
根据信号在NLOS环境下[13]传播时多源定位数据的深度特征建立DL-LSTM模型。通过对序列化的数据学习训练以减小NLOS误差对测距的影响,并融合INS系统数据,从而得到更高精度的位置信息。
DL-LSTM模型主要由两层LSTM网络组成,本文称之为消除误差层和数据融合层,其模型如图2所示。
图2 DL-LSTM结构
DL-LSTM模型的训练流程如图3所示。
图3 模型训练流程图
1)多源数据的采集。
2)数据预处理,使用min-max标准化法对多源定位数据进行归一化处理
(8)
式中xtrans为归一化处理后的待训练数据,其数值均在0~1之间;xraw为原始数据;min(X)为原始数据的最小值;max(X)为原始数据的最大值。
3)DL-LSTM模型训练过程如下:
a.消除误差层用来消除NLOS误差,优化UWB的测距值,其公式为
gi=(xai,xbi,xci)
(9)
hi+1=f′(gi,gi-1,…,gi-m+1)
(10)
式中gi为第i时刻的UWB测距值,f′为消除误差层的映射函数,hi+1为第i时刻优化后的UWB测距值。
b.数据融合层用来融合多源定位数据[14],提高定位精度。第i个时刻所对应的测距值不仅需要考虑当前时刻的特征信息xi,还要考虑前m个时刻的特征信息,其公式为
xi=(hi+1,axi,ayi,wi)
(11)
(12)
(13)
(14)
式中N为样本的数量大小。
其训练过程图如图4所示,当训练超过200轮时,网络逐渐稳定。
图4 训练过程
3 实验与结果分析
3.1 实验参数设置
本次实验的室内环境平面图如图5所示,选择15 m×15 m的实验室,以基站A为坐标原点,MT的运动轨迹为(5,5),(5,10),(10,10),(10,5),(5,5),运动一圈。其中,遮挡BS信号的障碍物是厚度为300 mm的砖墙。
图5 室内环境平面
3.2 实验流程
1)在室内NLOS环境下,BS从1~20 m每隔1 m测距1 000次,取其均值作为该距离下的测量值,同时剔除个别跳变严重的测距值,用最小二乘法拟合测距误差与真实距离之间的一次函数关系。由于信号传输距离较短,BS接收的响应信号会与自身的测距请求信号重叠,造成一定程度的干扰,对基站进行标定可以减小此类误差以及NLOS误差对定位精度的影响。
2)利用标定后的UWB采集测距值数据,INS采集传感器数据。
3)数据预处理,使用min-max标准化法对多源定位数据进行归一化处理。
4)根据信号在NLOS环境下传播时多源定位数据的深度特征建立DL-LSTM模型。
5)训练DL-LSTM模型。
6)对输出的估计位置进行轨迹绘制和误差分析。
3.3 位置估计对比
为了检验DL-LSTM算法的定位效果,采用KF以及CNN算法对测距值进行处理,之后再用扩展卡尔曼滤波[13](extended Kalman filtering,EKF)分别进行位置估计,将其结果与DL-LSTM算法结果进行对比,其定位轨迹如图6所示,定位误差如图7所示。
图6 定位轨迹
由图6,图7可知,相比于KF,CNN算法,DL-LSTM算法的位置误差更小,在0.07m左右,且运动轨迹更加贴近真实轨迹。
图7 定位误差
3.4 融合位置估计对比
为了更好地检验定位效果,使用CNN训练后的UWB测距值解算的位置结合INS系统解算的位置,用EKF对其进行位置估计,将其结果与DL-LSTM算法结果进行对比,其轨迹如图8所示,定位误差如图9所示。
图8 定位轨迹
图9 定位误差
由图8,图9可以看出,CNN算法的UWB/INS组合定位的精度相比于单UWB定位更高,定位误差在0.08 m左右,但相比于DL-LSTM算法,DL-LSTM算法运动轨迹与真实轨迹更加贴近,且定位误差更小。
KF/UWB,CNN/UWB,CNN/UWB/INS,DL-LSTM方法最终解算位置定位误差均值分别为0.15,0.09,0.08,0.07 m。由此可见,基于DL-LSTM算法的UWB/INS组合定位精度更高,可达到厘米(cm)级定位精度,更适合精度需求较高的室内定位场景。
4 结束语
使用UWB传感器模块采集测距值,通过多次测量取其均值并使用最小二乘法对基站进行标定,并根据信号在NLOS环境下传播时的多源定位数据的深度特征建立DL-LSTM模型,将标定后的测距值和MPU6050传感器的加速度值、角速度值作为DL-LSTM输入进行训练从而提高定位精度。通过实测实验的验证以及仿真结果表明,上述方法最终达到了厘米(cm)级的定位精度,能够适用于对精度要求较高的室内定位场所。