摘 要: 针对我国逐渐进入老龄化社会、老人增多的问题,利用Andriod平台开发了基于WiFi定位的老人看护系统。该系统由客户端、看护端和服务器组成,客户端和服务器联合完成定位功能,定位算法采用了基于RSSI的指纹算法估算出老人的位置坐标。客户端和服务器可进行危险区判断,采用特征量阈值二次判断法实现对老人跌倒检测,当老人进入危险区或摔倒时发出报警。实验表明,本系统定位速度快,定位精度高,准确报警率高。
0 引言
随着智能移动设备的普及和无线网络的快速发展,人们对位置信息的需求越来越强烈。目前,全球定位系统(Global Position System,GPS)在室外可以提供高精度的定位,而在环境复杂的室内,GPS不能满足定位需求。目前,室内定位的研究主要有ZigBee室内定位[1]、蓝牙室内定位、超宽带(UWB)室内定位[2]、射频标签(RFID)定位和WiFi室内定位系统[3-4]。WiFi部署简单,成本较低,因而WiFi室内定位技术成为研究的热点。本文针对老人的看护问题,开发了一种基于Andriod平台的WiFi定位的老人看护系统。
1 系统总体设计
基于WiFi定位的老人看护系统的总体设计框架如图1所示,系统由客户端、服务器和看护端组成。客户端和看护端与服务器采用Socket方式通信,客户端以手机信息(SMS)的方式向看护端发送报警信息。在线阶段客户端读取周围AP的RSSI值和加速度传感器的值,将收集到的RSSI发送给服务器,服务器通过定位匹配算法估算出位置坐标,把位置坐标发送给客户端和看护端,并根据坐标判断老人是否进入危险区。同时客户端根据加速度传感器值的变化判断老人是否跌倒,并及时发送报警信息。
2 系统算法的实现
由于WiFi信号受室内环境等多方面的影响,导致WiFi信号在同一地点不同时间采集到的RSSI不同[5-6]。这种RSSI的时变特性,导致传统的路径损耗模型定位误差较大,而采用指纹法可以有效地减小多径和阴影衰落的干扰。指纹定位法分为两个阶段,离线阶段和在线阶段。
2.1 离线阶段指纹库的建立
离线阶段指纹库的建立影响在线阶段的定位精度。针对多种因素对建立指纹库影响的问题,系统采取以下措施:(1)基于随着参考点的增加,定位误差降低,但是离线阶段的工作量增加的特点,系统采取间隔1 m的网格建立指纹库;(2)基于空间和时间因素对RSSI的影响,系统在每个参考点的4个方向(东、西、南、北)分别采集30次,然后去奇异值求平均。指纹库主要包含参考点的坐标、AP的MAC值和AP的RSSI值,如表1所示。
2.2 在线阶段的匹配算法
基于WKNN(Weighted K Nearest Neighborhood)算法[7]原理简单、计算复杂度低等优点,在线阶段系统采用WKNN算法。WKNN是根据待测点的RSS向量与数据库中已记录的指纹向量之间的距离赋予不同的最近邻采样点不同的权重进行位置估计,系统以欧式距离平方倒数作为权重值,即:
其中,wi是权重系数;是很小的正数,防止分母为零;Di是实际信号数据与第i个最近采样点的欧式距离,Di平方的大小反映权重的变化,Di越小,所占的权重越大。
2.3 跌倒检测方法
由于跌倒的方向是随机的,因此系统采用SVM(Signal Vector Magnitude)特征量阈值检测跌倒,因为SVM不需要考虑三轴加速度的空间方向[8-9]。SVM计算如下:
其中,x、y、z分别为X轴、Y轴、Z轴的速度值。
老人跌倒可分为跌倒和静止两个阶段,系统采用双阈值判断法提高检测的准确率。第一阶段老人跌倒时三轴传感器3个方向上的加速度值发生巨变,使SVM发生巨变,设定阈值t1,当SVM>t1时,初步判断老人跌倒。第二阶段老人静止在地面上,X轴、Y轴、Z轴上的加速度值会有两个方向上的值为零,另一个方向上的加速度值为重力加速度g,设定阈值t2,当|SVM-g|<t2时,判定老人跌倒。
2.4 危险区判别方法
设危险区域A(x1<x<x2且y1<y<y2),当客户端坐标(xi,yi)x1<xi<x2且y1<yi<y2时,判定进入危险区域A,开启定时器,定时器超时,服务器发送指令到客户端。为了减小定位误差对危险区域判断的影响,系统采用奇异值修正法来提高检测坐标在危险区域A内的准确率,判断当前t4时刻坐标是否在危险区域A内时查看前一时刻t3和后一时刻的坐标是否在危险区域A内,如果t4时刻坐标不在区域A内,而t3、t5时刻在区域A内,系统判断t4时刻坐标在区域A内。
3 系统开发
3.1 客户端开发
客户端流程图如图2所示,客户端包含WiFi信号的扫描、实时显示、加速度传感器值的检测、报警信息发送等功能。由于跌倒过程时间较短,因此系统判断老人是否跌倒在客户端实现以保证判断和报警的实时性。
3.2 看护端开发
图3是看护端流程图,看护端接收到服务器发送的坐标数据并在地图上标示并显示客户端坐标位置,同时接收客户端发来的报警信息。
3.3 服务端开发
服务器的流程图如图4所示。开启服务器的监听端口,当监听到客户端和看护端的请求时,服务器开启新的线程,监听客户端数据,接收到数据后,服务器通过匹配算法与指纹库数据匹配得出估计坐标,服务器把坐标值传输给客户端和看护端。其次,服务器根据这个坐标值判断客户端是否进入危险区,如果进入危险区,启动计时器,一旦计时器超出设定的阈值,服务器向客户端发送报警指令并恢复定时器,否则,服务器恢复定时器。系统采用手机短息报警的方式,拥有性能稳定、报警及时、方便查看等优点。
4 实验结果
本文选取东华大学2号学院楼一个环境复杂的会议室验证系统。测试区域长14 m,宽8 m,采用1 m×1 m的网格,共采集112个参考点。实验结果如表2所示。系统定位精度较高,系统的单次定位时间小于3 s,且看护端和客户端的地图刷新保持一致。当手机加速下降或在某一区域时间过长时,客户端及时发送报警信息,准确率达到70%以上。系统界面显示友好,客户端和看护端界面显示如图5所示,报警信息如图6所示,服务器端界面显示如图7所示。
5 结论
本文开发的基于WiFi定位的老人看护系统,利用现有的WiFi设备,成本较低;客户端和看护端在Android手机上实现,便于携带;报警信息通过手机短信的方式发送,可靠性高。实验表明,该系统定位精度理想、定位速度快、报警及时,具有很高的使用价值。由于系统没有考虑人体的一些剧烈运动对跌倒判断的影响,系统会发生误判,在以后的工作中需要全面地考虑人体形态对跌倒判断的影响。
参考文献
[1] FANG S H, WANG C H, HUANG T Y, et al. An enhanced ZigBee indoor positioning system with an ensemble approach[J]. Communications Letters, IEEE, 2012, 16(4), 564-567.
[2] 王子冉,李环.室内超宽带无线定位技术研究[J].微型机与应用,2015,34(8):60-62,66.
[3] 徐潇潇,谢林柏,彭力.基于WiFi信号强度特征的室内定位系统设计[J].计算机工程,2015,40(1):87-91.
[4] 崔惠媚,王小伟,王伟,等.基于WiFi的室内定位系统[J].微型机与应用,2014,33(23):58-61.
[5] 冯辰.基于压缩感知的RSS室内定位系统的研究与实现[D].北京:北京交通大学,2011.
[6] ULLAH K, CUSTODIO I V, SHAH N, et al. An experimental study on the behavior of received signal strength in indoor environment[C]. International Conference on Frontiers of Information Technology, 2013: 259-264.
[7] BAHL P, BALACHANDRAN A, PADMANABHAN V N. Enhancements to the RADAR user location and tracking system[R]. Technical Report MSR-TR-00-12, Microsoft Research. 2000.
[8] 周堂兴,范红.一种智能可穿戴的跌倒检测系统[J].微型机与应用,2015,34(2):94-96.
[9] 吴志强,曹蕾,王凯,等.基于智能手机的人体跌倒检测系统设计[J].计算机工程与设计,2014,35(4):1465-1470.