APP下载

基于神经网络的磁场定位技术

2022-12-22王华英孙海军张雷王学黄艳宾郭海军

关键词:步长磁场神经网络

王华英,孙海军,张雷,2,3,王学,2,3,黄艳宾,2,3,郭海军,2,3

(1.河北工程大学 数理科学与工程学院,河北 邯郸 056038;2.河北省计算光学成像与光电检测技术创新中心,河北 邯郸 056038;3.河北省计算光学成像与智能感测国际联合研究中心,河北 邯郸 056038)

受室内和煤矿地下等环境定位需求的推动,复杂环境下定位的相关技术研究备受关注[1-6].早期磁场定位方法大多为将磁源等效为磁偶极子阵列或椭球阵列,通过各点测量值建立线性方程组,然后反解出磁源的磁矩、位置等信息[7-17].但此种方法并不适用于空间含有不规则磁介质的环境,如煤矿井下掘进和综采环境, 因此,面对煤矿井下掘进机截割部的定位难题,提出一种适合矿下环境的定位方法十分迫切.本文提出一种基于神经网络的磁场定位算法,把含有大量不规则分布的铁磁介质环境中的磁场定位问题等效为一个对高复杂性数据进行高维非线性拟合的问题,使用神经网络完成高维非线性拟合,获得空间磁场分布与磁源位置之间的映射关系,从而对目标进行定位[18-21],并通过实验研究了磁源移动步长及传感器数量对定位精度的影响.

1 磁源定位系统建模

根据电磁场理论,当空间某点磁场位置确定时,它的磁场分布也随之确定.反过来,当测得磁场在空间的分布时,产生磁场的磁源位置就是确定的.磁场强度可用三轴磁场传感器测定.实验时首先对所用磁场传感器进行标定,将传感器放置到正式实验所设定的位置上,测量地球和环境磁场随时间的变化,并保存下来作为背景磁场.然后把磁源放在实验台上,再利用磁场传感器采集空间磁场数据,磁源每移动1步,记录1次磁源位置坐标及磁场数据,直到磁源移动范围覆盖实验台的工作平面.最后将测量的磁场数据与背景磁场相减,即可得到由磁源单独产生的磁场强度.这样就获得了磁源对应坐标下的空间磁场数据.通过BP神经网络对磁场数据和磁源坐标之间的函数进行逼近运算,直到获得两者间的映射关系,然后再利用该关系进行磁源定位.为了确定定位精度,不仅计算神经网络迭代运算的最小均方误差,而且计算实际定位误差.定位时随机选取20个坐标点,每次定位都以此20个点为定位点,并计算定位的均方误差.

1.1 封装磁源

在磁场传感器采集磁源磁场强度时,为了增强磁源的磁场强度,减少地磁场对其采集数据的干扰.把4个直径10 cm、厚度2 cm的圆柱形永磁铁,借助0.5 cm木制隔板,相互吸附为一体,并封装在3D打印的塑料壳中.至此,磁源工作准备完毕.

1.2 搭建实验平台

为减少震动等因素的影响,实验架搭建在HAP-100型光学气垫隔振平台上,该平台底座及平台台面均是由典型的铁磁质材料制作而成,平台表面均匀分布有间隔2.5 cm的标准孔,作为坐标点.磁源移动范围为90 cm×120 cm,传感器采集平面距离实验台140 cm,传感器布局在212 cm×120 cm矩形的4个角上.实验中使用的磁场传感器型号为JY61P-RM3100,该传感器的分辨率为15 nT.1、2、3、4号传感器分别对应串口号com4、com7、com5、com8,如图1所示.

图1 实验模型示意Fig.1 Schematic diagram of the experimental model

1.3 构造BP神经网络

BP神经网络是一种按误差反向传播的多层前馈网络,具有良好的非线性拟合能力.神经网络算法通过信息数据正向传播和误差负反馈调节的学习机理,多次迭代,实现对输入输出数据之间的非线性映射.

BP神经网络结构如图2所示.P1,P2,…,P12代表输入层12个节点的输入,Wij代表输入层与隐含层节点之间的权重,f(s1),f(s2),…,f(s12)代表隐含层的激励函数,Wjk代表隐含层与输出层节点间的权重,x、y代表输出层2个节点的输出.

图2 BP神经网络结构Fig.2 BP neural network structure diagram

为保证神经网络磁场定位的精度,以控制变量的思路进行研究.实验数据处理时采用相同结构的神经网络.输入层和输出层节点由磁场传感器的输入维度和输出维度决定,比如使用4个传感器采集数据,要获得磁源在实验台上的二维坐标,那么输入节点12个,输出节点2个.目前隐层节点数量采用的是试凑法,且设置多少隐层节点与训练样本的数量及样本中复杂关系相关.激活函数,最常用的是f(s)=logsig(s)和f(s)=tansig(s)函数.通过实验,发现当激活函数为f(s)=logsig(s)时,最优节点在10~12个,如图3所示.当激活函数为f(s)=tansig(s)时,最优节点为12和14个,如图4所示.综合考虑以上2种情况,最终以12为隐层节点数.

图3 通过f(s)=log sig(s)得出的MSE Fig.3 MSE from f(s)=log sig(s)

图4 通过f(s)=tan sig(s)得出的MSE Fig.4 MSE from f(s)=tan sig(s)

基于激活函数f(s)=logsig(s)建立的神经网络模型在不同隐层节点下更稳定,因此激活函数选取f(s)=logsig(s).

神经网络算法采用Levenberg-Marquardt算法,该算法在一定程度上克服了基本的BP网络收敛速度慢和容易陷入局部最小点等问题[22].其他参量设置[23]:学习率为0.01,附加动量因子为0.9,最大确认失败次数为20,最小性能梯度1×10-5,训练1 000次,每训练25次显示1次[24].

1.4 对比实验

数据采集量与磁源每次移动步长直接相关,为此进行了3组实验,每次实验中仅有步长不同.在实验1、2、3中,磁源移动步长分别为5.0、7.5、10.0 cm.在传感器布局与数量验证实验中,关闭4号传感器,以步长7.5 cm进行实验4;关闭1号、3号传感器,使用2号、4号传感器以步长7.5 cm进行实验5.如表1所示.

表1 不同实验对照

实际定位时随机选取20个坐标点:(0, 0)、(30, 30)、(20, 40)、(50, 20)、(70, 10)、(90, 20)、(60, 30)、(30, 40)、(10, 20)、(80, 40)、(50, 90)、(30, 80)、(60, 70)、(20, 60)、(80, 50)、(90, 90)、(90, 60)、(0, 30)、(10, 80)、(50, 50).

2 实验结果及分析

2.1 训练数据的采集

以固定步长移动磁源,通过磁场传感器记录磁源运动时对应的空间磁场信息并采集磁源产生的磁场数据.磁源的运动轨迹为首尾相连的“一条龙”形,观察磁场在磁源周期运动下的变化.实验中的磁源运动轨迹和对应磁场强度变化情况分别如图5和图6所示.由图6可知,磁源做周期性运动,各个磁场传感器采集的磁场数据也做周期性变化.

图5 磁源运动轨迹Fig.5 Motion trajectory diagram of magnetic source

图6 磁场随磁源运动变化(380组磁场数据)Fig.6 Changes of magnetic field with the movement of magnetic source (380 sets of magnetic field data)

2.2 定位结果及误差分析

保存好训练完毕的神经网络,然后把磁源坐标输给神经网络模拟定位.“*”代表磁源实际坐标,“o”代表神经网络根据输入磁场计算的定位坐标,结果如图7所示,可以看出神经网络定位坐标非常准确.与此同时,进行了20个随机坐标点的实际定位,结果如图8所示,这种情况下的MSE=2.797 1.显见,实际定位的精度不如神经网络模拟定位的精度高,这说明输入神经网络的磁场数据发生了变化.而磁源的磁场在短时间内无特殊原因并不会退磁.因此,推测误差变大是由传感器本身的电子噪声影响了磁场数据采集造成的.

图7 磁源坐标与BP神经网络计算坐标对比Fig.7 Comparison of magnetic source coordinates and coordinates calculated by BP neural network

图8 实际随机20个点磁源坐标与定位坐标对比Fig.8 Comparison of the magnetic source coordinates and the positioning coordinates of the actual random 20 points

为了验证上文传感器电子噪声的假设,对该20个点的磁场数据加上均值为0、标准差为2.5且服从正态分布的随机数,再将磁场数据输入神经网络进行定位,并与不加电子噪声的模拟定位进行对比.实验结果如图9和图10所示.比较图8与图10,显见,无论在x方向还是y方向,加入随机数前的定位坐标均比磁源实际位置坐标偏小;而加入随机数后的定位坐标与磁源实际位置坐标相比,偏大和偏小的都有,且只有个别点的定位坐标有较大误差.再次计算加入随机数后定位结果的MSE,得出均方误差为2.635 6,与实际定位MSE很接近.因此传感器电子噪声影响定位精度的假设基本成立,且该电子噪声符合均值为0、标准差在2.5~2.6服从正态分布的随机数.

图9 实际测试点模拟定位Fig.9 Simulated positioning diagram of actual test points

图10 计入随机数的模拟定位Fig.10 Simulated location map with random numbers included

按相同的实验步骤和数据处理方式,进行其他实验, 得出数据汇总表,如表2所示.

表2 数据汇总

由表2可见,随着移动步长的减小,神经网络训练误差和实际定位误差都快速减小,说明增大训练数据量有益于神经网络训练且可以提高定位精度.对于传感器布局的实验,以步长7.5 cm,分别进行了矩形、三角形、对角线形布局的实验.结果表明,矩形布局的实验效果最好,即传感器数量越多,定位精度越高.同样得到采集的数据量越大,定位精度越高.

3 实验结论

本文中结合BP神经网络对空间磁介质分布不均匀的复杂环境进行磁场定位,并以实验采集的360组磁场坐标的对应值为训练数据,得到了较为准确的定位结果,证明了使用BP神经网络实现磁场定位的可行性.此外,实验结果还表明:数据采集时,随着磁源移动步长的减小,无论是神经网络的均方误差,还是实际检验的均方误差,都有所减小;无论传感器如何布局,传感器数量越多,定位结果越准确;传感器电子噪声对定位结果有一定影响,使用电子噪声小的传感器能获得较准确的测量结果.

猜你喜欢

步长磁场神经网络
基于递归模糊神经网络的风电平滑控制策略
西安的“磁场”
自然梯度盲源分离加速收敛的衡量依据
为什么地球有磁场呢
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
一种改进的变步长LMS自适应滤波算法
神经网络抑制无线通信干扰探究
一种非线性变步长LMS自适应滤波算法
基于神经网络的中小学生情感分析
基于Q-Learning算法和神经网络的飞艇控制