摘要:煤矿环境复杂,且无线通信条件恶劣,极易发生信号丢失等问题,致使井下作业人员的移动网络节点定位结果存在较大误差。基于此,提出复杂煤矿环境下人员的移动无线传感器节点协同定位算法。采用 min-max 算法构建网络节点的锚盒,确定复杂煤矿环境下人员移动的范围,并利用 MBTA 算法得出各样本间垂直距离与水平距离,确定需要定位的煤矿人员移动节点;使用未知节点历史时间点的空间位置信息,将未知节点历史时间点空间位置,作为锚节点空间位置,协同速度数值,完成煤矿人员的协同定位。实验结果表明,所提方法定位误差较小,适用于复杂煤矿环境下人员定位。
张楠; 霍羽, 吉林大学学报(工学版) 发表时间:2021-08-19
关键词:复杂环境;人员定位;无线传感器节点;协同定位;min-max 算法;MBTA 算法
1 引言
我国煤矿工作环境复杂、恶劣[1],作业中通常采用井工方式开采,而在开采过程中容易发生塌陷、瓦斯爆炸等危险,严重威胁煤矿人员的安全[2]。为此煤矿人员安全问题已成为煤矿领域研究的重点。
无线传感器[3]具备成本低、耗能小的特点,并且不需要进入现场即可实现定位的优势,被广泛使用于煤矿人员定位中。高精度节点定位方式是对井下工作人员定位最基本的要求。为此,无线传感器网络节点高精度定位是提高煤矿安全作业管理水平主要方法。
关于无线传感器网络节点定位算法研究诸多。张楠[4]面对煤矿人员无线传感器节点定位耗时较长的问题,采用最大期望算法将未知节点测量的信号数据进行聚类处理,并使用赤池信息量准则优化聚类数据,利用加权质心得出未知节点坐标,该方法为了提升定位速度,简化定位流程,提升定位精度,但针对环境的变化考虑甚少,存在一定局限性。王灵矫等人[5]针对煤矿人员无线传感器网络节点定位误差较大,根据网络的锚节点与各节点之间的相邻关系,得出未知节点与锚节点间的距离,并依据此距离建立过滤条件,引入算法的过滤阶段优化样本集合与降低定位误差,但计算过程较为复杂,需要较长时间获取煤矿人员定位信息。
为了更好地提升煤矿人员的移动无线传感器节点定位,采用协同定位算法对井下工作人员进行定位。根据权重方式确定采样范围,缩短煤矿人员定位范围,为定位运算节省大量时间;运用线性化微积分、白化方程等进行定位计算,有效提升煤矿人员定位精度。
2 煤矿环境下人员协同定位算法
2.1 协同定位原理分析
无线传感器节点定位中,凭借已知位置的无线传感器网络节点,确定部署在监控范围内未知网络节点的位置。网络节点按照已知位置与未知位置将网络节点分成两种,即锚节点与未知节点,而未知节点即煤矿人员位置。锚节点在无线传网络节点中占比重较低,是已知本身空间位置节点,负责帮助未知节点完成定位,其成本较高;剩余节点即为未知节点。未知节点通过协同定位算法[6-7],经过锚节点或已知定位的未知节点间的信息运算得出位置。
无线传感器网络节点数量较多,利用人工方法定位时效果较差,且成本极高。在目前无线定位技术中,全球定位系统是使用最广的定位方式,但因复杂煤矿环境,该方法在井下使用容易失效。
质心定位算法[8-10]是一种不需要测距即可定位,具备操作简单与通信开销小的优势。但未知节点空间定位结果与锚节点分布情况有直接关系,若锚节点均匀分布,则定位精度高,相反,定位精度低。协同定位算法根据无线传感器网络各节点测量的信号结果完成定位,同时无线传感器节点均有无线发射功能,不需要增添额外测距设备即能完成定位,极大程度上降低成本,为此本文选用协同定位算法对煤矿人员进行定位。
2.2 复杂煤矿环境下人员移动范围确定
在上述协同定位基本原理分析基础上,为实现复杂煤矿环境下人员的移动无线传感器节点协同定位,首先确定采样范围。
设 定 ( , ) x y 代表锚节点的空间坐标 , min min max max ( , , , ) x y x y 表示锚盒位置, r 表示通信半径, S 表示 t 时间点未知位节点到两个跳范围内锚节点集合,依据该集合的情况可分为三种状况。(1)若集合 S 为空,在 t 时间点未知位节点收到锚节点的信息时,需要将未知节点的权重增添一个单位,采样区域选择未知节点上一个时间点 t 1 所在位置当作圆心,并将最大移动速度 Vmax 当作圆的半径,如图 1 所示:
(2)若 S 不为空集,根据锚节点集合 S 建立锚盒,并将未知节点 t 1 时间点的空间位置当作圆心,移动速度最大值 Vmax 当作圆的半径,若二者相交为空集,则将此节点的权重[11]增添一个单位,采样区域选择与状况相同。设定 ( , ) i i x y 代表未知节点到 锚 节 点集 合 中 一个 跳 锚 节点 的 空 间坐 标 ,( , ) x y 与 max max ( , ) x y 代表建立锚盒的两个极值坐标,计算过程如公式(1)所示。 min max 1 1 min max 1 1 max( ), max( ) max( ), max( ) n n i i i i n n i i i i x x r x x r y y r x y r (1)未知节点移动的空间位置和锚盒相交形成的阴影部分,则为采样的区域范围。
(3)若 S 不为空集,根据锚节点集合 S 建立锚盒,并将未知节点 t 1 时间点的空间坐标当作圆心,最大移动速度 Vmax 当作圆的半径,若二者相交不是空集,则选择未知节点一跳区域内的临时锚节点集合与两个跳范围内的锚节点结合,并使用 min-max 算法建立锚盒,得出锚盒所覆盖区域即为采样范围,如图 2 所示。
经过以上三种情况分析,得出未知节点移动空间,即为煤矿人员移动空间范围。
2.3 煤矿人员移动节点样本选取
根据上述确定的煤矿人员移动空间范围,为实现精准定位,需要确定该范围内的移动节点样本。上述构建的锚盒不能将全部样本覆盖,为此,本文采用 MBTA 算法选取盖一栋范围内的节点移动样本。
通过MBTA算法得出各样本间的垂直距离与水平距离,计算过程如公式(2)所示: , , cb cb cb V H s s cb L W W d d R N R N L R (2)式中, V d 与 H d 描述临近样本间的垂直距离与水平距离, Wcb 与 Lcb 描述锚盒的长和宽的数值; Ns 描述需要样本个数。设定起始数值 220 、 0.007 ,最终选取出样本,即需要定位的煤矿人员移动节点,得到: Vmax N e s (3)
2.4 移动无线传感器节点协同定位算法实现
现阶段,煤矿环境下人员移动无线传感器节点定位基本采用部分网络节点移动[12-14],而部分节点均处于静止的状况,而协同定位算法可在未知节点与锚节点移动状态下定位,同时还能利用锚节点自身携带的 GPS 模块,获得空间位置,得到煤矿人员的空间坐标。由于网络节点位处于移动状态,未知节点在不同时间点通信的锚节点也不同,为此按照不同通信锚节点个数,将煤矿工作人员定位划分成三种情况。
(1)若未知节点和多个锚节点通信,以三个锚节点为例。
在 t * 时间点,若未知节点 X 可以和三个锚节点通信,未知节点从三个锚节点中选取信号最强节点通信,并利用三边测量算法得出自身空间坐标并保存。若未知节点接收到的锚节点 A、B、C 的信号分别为 RSSIA 、RSSIB 、RSSIC ,使用距离变换模型,获得对应的距离,即 A d 、 B d 、 C d 。将锚节点 A、B、C 分别当作三个圆的圆心, A d 、 B d 、 C d 当作圆的半径,三个圆相交的点则为未知节点实际位置,如图 3 所示:
根据图 3,确定三个圆相交的点,计算过程如公式(4)所示: * 2 * 2 * 2 * 2 * 2 * 2 ( * ) ( * ) ( * ) ( * ) ( * ) ( * ) A A A B B B C C C x x y y d x x y y d x x y y d (4)式中, * * ( , ) A A x y 、 * * ( , ) B B x y 、 * * ( , ) C C x y 分别表示锚节点 A、B、C 空间坐标; A d 、 B d 、 C d 分别表示锚节点 A、B、C 距离未知节点的距离。由此得出未知节点的实际坐标 ( *, *) x y 。
(2)未知节点和两个锚节点通信。
在 t * 时间点,如果知节点仅能和锚节点 A、锚节点 B 通信时,不能利用三边测量方法完成未知节点定位。因此,设定 v 表示未知节点的运动速度; * * * 1 * 1 ( , ) t t x y 表示此未知节点上一时间点的空间位置; A d 与 B d 表示在 t * 时间点未知节点到两个锚节点距离,并以锚节点 A、锚节点 B 分别为圆的圆心,以 A d 与 B d 为圆的半径,相交于 X1 与 X2 两个点,并算出 X1 与 X2 空 间 坐 标 , 即 * * 1 1 1 X x y ( , ) 与 * * 2 2 2 X x y ( , ) ,计算 t * 1 时间点未知节点到 X1 与 X2 的距离,即 1 d 与 2 d ,并获取的速度对比,判定在 t * 时 间 点 未 知 节 点 的 空 间 位 置 。 如 果 1 2 | | | | d v d v ,代表 X1 是未知节点在 t * 时间点的空间位置;而 1 2 | | | | d v d v ,代表 X2 是未知节点在 t * 时间点的空间位置,如图 4 所示。
(3)未知节点只能与一个锚节点通信。
在 t * 时间点,只有一个锚节点 A 和未知节点通信,设定未知节点的运动速度为 v ,t n * 到 t * 1时间完成未知节点定位。前 n 个时间点定位的坐标倾斜角度集合为 * * 1 * 1 ( , ,... ) i t n t n t ,其中, * * tan( )i i i y ac x 用后一项减掉前一项获得临近的角度差集合,即 1 2 1 ( , ,..., ) i n 。运用 n 1 个角度差来估计第 n 个角度差,得出 t * 时间点未知节点倾斜角度。设定角度差为初始序列为 (0)* (0)* (0)* (0)* x m x x x n ( ) ( (1), (2),...., ( 1) (5)通过一阶累加形成序列,即 (1)* (0)* 1 ( ) ( ), 1,..., 1 k m x k x m k n (6)构建 (1)* x k k n ( ), ( 1, 2, ..., 1) 的一阶线性化微积分函数方程为: (1)* (1)* ( ) ( ) dx k ax k u dt (7)其中, a 、u 分别表示未知节点线性化微积分过程的参数,则白化函数方程为: (1)* (0)* ( 1) ( ) ( (1) ) , 1,..., 1 u u a k x k x e k n a a (8)利用最小二乘算法理论[15]估算参数 a 、u 数值,即: 1 [ , ] ( ) ˆ ˆ n a u B B B Y (9)将 a 与 u 的估算数值 a ˆ 与 u ˆ 引进公式(9),获得预测函数方程 (1)* x k ˆ ( ) 。初始数据序列数学模型为:
x x x k x k x k u e x e k a (10)其中, (0)* x k ˆ ( ) 表 示 初 始 数 据 序 列 (0)* x k k n ( )( 1,2,..., 1) 的 拟 合 数 值 ; (0)* x k k n ˆ ( )( 1) 表 示 初 始 数 据 序 列 (0)* x k k n ˆ ( )( 1,2,..., 1) 的估计数值。估计n 后得出 t * 时间点未知节点的倾斜角度,如公式(11)所示 t t n * * 1 (11)
在 t * 1 时间点,将未知节点的位置当作圆心,速度 v 当作圆的半径,和 t * 时间点将锚节点 A 空间位置当作圆心, A d 为半径的圆进行相交,得出两个相交点 X1 、 X2 ,而 X1 、 X2 中有一个点为 t * 时间点未知节点的真实位置。预算出 t * 时间点未知节点和原点连线 L 的倾斜角,经过判定 X1 与 X2 到连线 L 距离结果断定未知节点的位置,其中距离小的点为 t * 时间点未知节点的实际位置,即 X1 。如图 5 所示:
经过以上三种情况分析,得出未知节点位置,即煤矿人员位置。
3 实验分析
3.1 实验方案
为了检测本文定位算法结果的精度,使用 MATLAB 仿真实验。在 150 m×150 m 的圆形区域范围内任意放置 200 个未知节点与 20 通信节点,各节点通信半径为 R 为 4 m、8 m、12 m、16 m、20 m。实验选择文献[4]改进高斯混合滤波的矿井加权质心定位算法与文献[5]距离估计的无线传感网络移动节点定位当作对照组,并选取平均定位误差当作算法性能的评估指标。设定表示平均定位误差为: 1 , 0 k i i i p q k N kR (12)其中, k 描述定位节点数量, i p 描述算法得出第 i 未知节点的空间位置, i q 表示第 i 未知节点的现实空间位置。
3.2 定位误差结果分析
实验分析了本文方法、改进高斯混合滤波的矿井加权质心定位算法与距离估计的无线传感网络移动节点定位方法,对样本节点数据定位的平均误差,得到的结果如图 6 所示:
从图 6 中可知,改进高斯混合滤波的矿井加权质心定位算法通信半径定位误差最大,而距离估计的无线传感网络移动节点定位算法在一定程度上降低通信半径的定位误差,但该方法没有使用权重方法确定煤矿人员所在区域,增加通信半径定位的难度,本文所设计算对通信半径间定位的误差始终低于上述两种方法,这是由于本文方法利用 MBTA 算法得出各样本间垂直距离与水平距离,确定需要定位的煤矿人员移动节点,降低了定位的误差,提升了方法定位的性能。
3.3 节点定位耗时分析结果
由于煤矿环境复杂,且事故频繁发生,及时对井下人员定位确保工作人员生命安全。实验对比了不同定位算法定位需要的时间,得到的结果如图 7 所示:
从图 7 可知,距离估计的无线传感网络移动节点定位方法定位耗时最长,而改进高斯混合滤波的矿井加权质心定位算法与本文算法定位耗时差距不大,但由于本文算法能够将未知节点历史时间点的位置当作锚节点的位置,并把速度当作通信半径,完成煤矿人员定位,有效缩短定位计算的时间,为此本文算法优于其他算法,验证了本文方法的性能良好。
4 结论
由于复杂煤矿环境恶劣,安全问题一直是煤矿领域研究的重点。现阶段,无线传感器网络节点定位算法因受到环境、成本等因素限制,不能很好地应用于复杂煤矿环境中,给煤矿人员定位带来了极大困难。面对复杂煤矿环境下人员的移动无线传感器节点定位算法的误差大、耗时长等问题,文中提出一种协同定位算法。实验结果证实本文算法的有效性。