黄有山,候 鸣,徐 玲,秦宏帅,周佩光,漏鸣杰
(1.浙江新纳陶瓷新材有限公司,浙江 东阳 322100;2.滁州市质监局,安徽 滁州 239000;3.杭州电子科技大学电子信息学院,浙江 杭州 310018)
众所周知,全球卫星导航系统(GNSS,Global Navigation Satellite System)的发展和应用已经非常完善,可以在室外提供准确可靠的定位服务。然而,建筑物对于卫星信号的遮挡导致GNSS难以在室内提供定位服务,使得室内成为定位的盲区,亟待开发能广泛应用的室内定位系统。例如,在博物馆,可以根据游客的位置为其提供相关展品的信息;对在养老院养老的阿兹海默症、失智症患者进行及时定位救助非常有必要;另外对于盲人等残疾人,实时室内定位系统可以大大提高其行动的自主性和准确性。
目前常见的室内定位方法主要有超声波、激光、红外线、RFID、Wi-Fi、ZigBee、图像视觉等,其中具有低功耗、低成本并且灵活性较高的ZigBee成为近几年研究的热点。张凤英[1]等人设计基于ZigBee及RSSI的养老院室内定位系统,采用了二边定位算法及CC2530模块。杜雅锋[2]等人实现了一种基于双摄线追踪的室内RSSI指纹空间模型,通过Friis方程与麦克斯韦方程组以射线追踪的方式追踪直射路径上的接收信号强度,结合信号的能量反射系数计算出经反射后信号强度变化情况,利用综合了直射加单次反射的双射线RSSI追踪算法对室内环境进行“直射+单次反射”双类型共计七条射线的RSSI追踪来建立位置指纹数据库。Rana Ramadan[3]等人研究了基于RSSI的室内传感器定位问题,提出了一种加权系数法来确定传感器的位置,实验表明在定位方面优于传统方法。丁宏伟[4]等人提出了一种基于Wi-Fi与蓝牙的室内融合定位方法,以及SVM定位算法与卡尔曼滤波结合的定位算法,有效减少定位误差。余凯[5]等人设计了一种基于ZigBee的盲人室内定位导航及远程监控系统,通过改进加权质心定位算法,设计出RBIWCL算法,误差减小,精度提升。Y.Alvarez[6]等人提出了一种用于定位和跟踪的新的算法,使用由一组发射机节点收集的相对场级,将这些层次引入到成本函数中,避免了信号强度波动对系统标定的影响。Daniel Konings[7]等人研究了基于ZigBee的室内定位系统中不同速率的Wi-Fi对RSSI值的影响。
室内无线定位方法虽然进行了比较多的研究,但在定位精度、系统实时性和可操作性方面的不足,导致室内定位系统无法大规模普及。例如二边定位算法可以完成室内定位跟踪的工作,但二边定位算法定位结果精度较差,难以满足实际应用需求。另外,国内外大量研究也都是从算法着手来提高室内定位的精度,但这样往往带来更加复杂的计算。在未来的研究中,兼顾定位精度和系统的实时性是重要的发展趋势。
本文选择以ZigBee无线通信网络为核心并采用位置指纹与二角质心算法相结合的定位方案,分析了实验场景下信号强度的统计特征,从统计结果入手,进行ZigBee信号测距的可行性分析,优化了基于接收的信号强度指示(RSSI)的测距方程。进而使用改进的位置指纹法和优化的参考节点布局方案完成定位。最终实现了基于ZigBee的室内定位精度的提升。
RSSI测距原理是根据无线通信信号强度随着距离增加逐渐衰弱的规律,通过测算公式进行距离计算。当发射功率已知,通过测量收到的信号强度,由数学模型表述传播损耗和距离之间的转换关系,该模型也称为长期衰落模型,表达式为:
式1中:发射节点和接收节点的距离为d,n为路径损耗指数,该参数依赖周围的环境和建筑物的类型,表示路径损耗随距离的增加而增大的快慢;Xσt是以dB为单位,且标准偏差为零的均值正态分布随机变量;Pd为距离为d时接收到信号的功率强度;Pd0是发射节点和接收节点相距为d0的信号强度值,是一个经验参数,通常以测量距离1m处的RSSI值为该参数大小。设P1为距离1m环境测量RSSI值大小,则由式1可得距离公式为:
根据公式2可知Pd0和n取值的不同会影响Pd的值,图1a)给出了n为常数,Pd0为不同取值条件下Pd和d的关系,图1b)给出了Pd0为常数,n为不同取值条件下Pd和d的关系。从图中可以看出,Pd0增加时,相同Pd值对应的d也相应的增加;在Pd值一定时,d与n的关系成反比特性,n越小,RSSI越接近实际值,信号传播距离可以更远。
图1 Pd0和n取值对Pd值的影响
在实际环境中,对ZigBee路由器的信号强度进行了采样,采样频率为2Hz。间距1m时测得RSSI的值为-46,所以Pd0为-46。同时测量其他点的值,得出n=2.3。所以公式1变为公式3:
1.2.1 位置指纹算法
位置指纹算法将移动的终端设备在定位区域内采集到的信号强度作为参数对移动目标进行定位,其流程如图2所示,大致分为两个阶段:离线阶段和在线阶段。在离线阶段,为了采集各个位置上的指纹,构建数据库,需要在指定的区域进行繁琐的勘测,采集好的数据有时也称为训练集。在在线阶段,系统将估计待定位的移动设备的位置。
图2 位置指纹定位算法流程图
(1)离线阶段
在定位区域内设置指定参考节点,并记录移动节点所在位置接收的所有参考节点设备的信号强度信息。生成各已知位置的参考节点对应的信号强度表:RSSI=[rssi1,rssi2,…,rssin]。表元素 rssii表示移动节点测得i点所在参考节点的信号强度(i=1,…,n)。由所有参考节点和对应位置组成位置指纹库。移动节点的RSSI可建立一个关于信号强度与指纹库有关的数据库,即移动节点的路径。
最典型的场景如图3所示,地理区域被一个矩形网格所覆盖,本场景中为4行8列的网格(共32个网格点),2个Access point。在每一个网格点上,通过一段时间的数据采样(5~15min,约每秒采集一次)得到来自各个Access point的平均RSSI,采集的时候移动设备可能有不同的朝向和角度。该例子中,一个网格点上的指纹是一个二维的向量ρ=[ρ1,ρ2], 其中 ρi是来自第 i个 Access point的平均RSSI。我们记录RSSI样本的分布作为指纹。这些指纹是在每个网格点所示的区域(如图3)采集到的,这些网格点坐标和对应的指纹组成一个数据库。
图3 基于信号强度的位置指纹法场景示意图
图4 三角质心算法示意图
(2)在线阶段
当来自各个 Access point的RSSI都被测量到的时候,RSSI向量的测量值被传输到网络中。设图4的例子中RSSI向量为r=[r1,r2]。确定移动设备的位置,就是要找到在指纹库中和r最匹配的指纹ρ。一旦找到了最佳匹配,该最佳匹配的指纹所对应的位置就被估计为移动设备的位置。即首先确定所在局部区域,并获取区域中的参考点,最终采用局部二边定位算法获得待测点的位置估计。
在指纹库的M个指纹中,找到在信号空间中与RSSI观测值的欧氏距离最近的指纹,然后将它所对应的位置坐标作为移动设备的位置。这个使用欧氏距离的方法也叫做在信号空间中找到最近邻,因为目标是在信号空间中找到一个离RSSI观察值最近的指纹。假设位置指纹是N维的,也就是说有N个可见的Access point,M个网格点,这样指纹库里面有M个指纹。r和ρ的欧氏距离定义为:
1.2.2 三角质心算法
二角质心算法是对二边测量法的优化。基于RSSI测距方法,受实际环境影响,通常换算出移动节点到参考节点的距离都会大于实际距离。如图4所示,参考节点为 C1,C2,C3,移动节点为 O。已知测得 O 到 C1,C2,C3的距离分别为 r1,r2,r3。分别以 C1,C2,C3为圆心,r1,r2,r3为半径,得到重叠区域。二角质心定位算法的基本思想是:计算重叠区域的二个顶点A,B,C所组成二角形的质心为移动节点的坐标。
假设移动节点坐标为O=[x,y]T,参考节点的坐标为Ci=[xi,yi]T。参考节点个数设为N (本例中N=3)。而移动节点距离参考节点的距离设为ri,ri为距离第i个参考节点的距离,则根据已知条件可得到移动节点与参考节点位置关系如下方程组(5)所示:
使用方程组 5可计算出 A,B,C的坐标(x1,y1),(x2,y2),(x3,y3), 得出 O 点 的坐 标为 二角 形ABC 的质心((x1+x2+x3)/3,(y1+y2+y3)/3)。仿真计算可得,图中移动节点实际位置为O,二边测量法估计点为B,而二角质心算法的位置估计为点M。不难发现二角质心算法有更高的准确度。
实验选取 8m(W)*12m(L)*3.6m(H)的长方形室内区域作为实际测试环境,没有强烈的电磁干扰。该室内区域的路由器节点和参考节点安置如图5所示。
图5 室内路由器节点和参考节点安置示意图
图6 网络节点实物图
在室内四个角落和室内中央一共设置5个参考路由器节点,恰好形成了4个等边二角形区域(对角线长度为14.4m),即参考节点间距为7.2m。参考节点的编号及实际坐标如表1所示。ZigBee网络节点实物图如图6所示。
表1 参考节点编号及坐标
表2 三边定位算法与位置指纹和优化的三角质心相结合算法定位结果对比
从表2实验结果可知,采用传统的二边定位算法或本文提出的位置指纹与优化的二角质心算法相结合的定位算法,都可以完成室内定位跟踪的工作。但二边定位算法所定位的结果精度较差,定位误差达3m左右,而且坐标浮动较大,基本处于区域级的定位精度,即只能提供人员所在的房间区域,无法完整地呈现人员移动路径。而采用位置指纹和优化的二角质心算法相结合的定位算法,能够比较正确的显示位置信息,呈现人员的移动路径,定位误差通常情况下在1.5m左右。对于对精度要求不是非常苛刻的环境,是具有一定精度优势的定位方法。
同时,基于ZigBee的室内定位方法不需要额外的传感器支持,只需要很少的外围设备即可工作,而且可扩展性强,可根据需要添加温湿度传感器、CO2传感器、烟雾传感器等,能够应用于贵重物品位置检测、展览品安放报警等特殊场合。
本文完成了基于ZigBee的室内定位方法的分析和改进,以ZigBee无线通信网络为核心并采用位置指纹与二角质心算法相结合的定位方案,分析了实验场景下信号强度的统计特征,优化了基于接收的信号强度指示(RSSI)的测距方程。实验结果表明该室内定位方法具有通用、低成本、高精度的特点。