基于ibeacon的盲人建筑物内定位与导航
2017-07-06吴文卿
吴文卿
【摘要】国家统计局网站公布:中国是全世界盲人最多的国家之一,眼部疾病在中国也是一个主要的公共卫生问题。中国约有盲人600-700万,占世界盲人总数的18%,另有双眼低视力患者1200万。我国盲人数量早已超过诸如丹麦、芬兰、挪威等国家的人口数。
盲人的出行问题是关系到盲人生活质量的重要因素。如今,广泛普及的智能手机与导航软件极大的缓解了盲人出门在外的定位与导航问题。但是,现今导航软件、设备的使用场景都局限在室外,进入室内后无法定位与导航。室内建筑中大量使用的标识以及平面图为普通人提供了极大的便利,使得人们可以在不熟悉的建筑中快速通往目標位置。对于盲人以及更广大的低视力人群,进入陌生室内环境、建筑将寸步难行。因此,本课题的目的在于设计一套建筑物内定位与导航的解决方案,填补盲人出行障碍的“最后100米”,是盲人进入建筑物后能准确找到餐厅、洗手间、会议室、商铺、教室、图书室等位置。
【关键词】ibeacon 导航 定位 盲人导航
【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2017)22-0222-03
一、研究背景
室内导航技术是近年来的热点领域,主要有WIFI定位、ibeacon定位、RFID定位、超声波定位、激光定位、移动通讯网定位等。
(一)ibeacon技术
ibeacon是苹果公司2013年9月发布的使用于移动设备的通讯协议。使用低功耗蓝牙BLE技术进行广播信号,ibeacon向周围的设备发送自己特有的ID。ID可以包括名字,UUID,信号强度RSSI。
(二)其他技术
各定位技术方向对比见表1。
在上述技术方向中,激光定位没有避障能力,如果场景中有行人遮住了发射源,直接影响到定位,且激光会对正常视力人群产生一定伤害、存在光污染问题。超声波定位虽然比激光定位的安全性好,但避障能力仍然很差,当受到其他行人的遮蔽时,导航效果会很差。
RFID定位精度差,范围小,一般用于门禁系统,不适用建筑物内导航。
移动通信技术2g,3g和4g导航的精度在50-300米范围内,该精度不适用建筑物内导航。
WIFI定位、ibeacon定位都可以用在建筑物内导航。WIFI定位需要在手持终端上操作,加入该导航WIFI,可能还需要设置权限,这些操作对于盲人来说都是困难的,特别是对第一次进入该建筑物的盲人。
ibeacon不需要实现设置权限,与建筑物内的通讯网络分离,安全性更好。任何可接受ibeacon信号的手持终端无需任何操作都可以接收ibeacon信号。
从导航设备部署方面考虑,WIFI设备需要电源及网络布线,能源耗费大,部署更复杂。ibeacon只需要电池供电,一个电池可以支持2年以上的运行时间。
从成本方面考虑,WIFI设备比ibeacon设备贵,施工成本更高,长时间运行的能耗更大。
综合以上,选用了ibeacon作为室内导航的技术基础设备。ibeacon技术的优势如下:
(1)定位方式安全。
(2)精度1-2米,满足室内定位需求。
(3)电池供电,应用方便。
(4)适合应用于手持终端(包括手机)广泛普及的环境。
(5)部署方便和运行成本低。
二、方法
基于ibeacon的盲人室内定位与导航的方案设计主要包括信号发射系统、接收系统和中央处理系统的三大系统。
(一)信号发射系统
该系统由三个及以上的ibeacon发射设备组成。
1.选用设备Eddstone beacon,发射功率0dBm,广播间隔500ms。
2.广播的信息包含UUID、Major、Minor参数、信号强度RSSI。
3.UUID、Major、Minor这三个参数就决定了iBeacon广播出的信息。使用UUID标识不同的定位目标,Major参数标识安装楼层与区块,Minor标识具体房间号及该房间的用途。放置ibeacon发射设备于建筑物内各房间的入口处,同一楼层的ibeacon保持高度一致,为尽量避免障碍物造成的干扰,ibeacon放置在2米高度以上更为合适。
(二)接收系统
接收系统即手持终端,可以是一部有蓝牙4.0及以上的安卓手机:
手持终端的服务程序实现:
1.实时扫描检测附近ibeacon广播信号,生成ibeacon列表,如图2和图3所示;
2.与中央处理系统使用socket通讯协议连接,作为socket客户端,将ibeacon列表发送给中央处理系统。
(三)中央处理系统
中央处理系统由一台PC服务器组成,它负责接收手持终端发送过来的ibeacon信息,及手持终端的导航请求,通过导航算法分析,向手持终端反馈导航信息。具体如下:
(a)中央控制系统中拥有所有ibeacon的列表,根据接收系统发送来的ibeacon列表中的UUID、Major、Minor参数值确定大致楼层、房间。
(b)中央控制系统通过使用各ibeacon的信号强度值(RSSI)计算距离。
(c)中央控制系统根据定位算法来确定盲人所在位置。
(d)根据盲人所在位置和目的地址,采用导航算法进行路径导航。
(e)使用socket通讯协议,作为socket服务器实时将指令发往socket客户端(即手持终端)。
1.距离计算公式
其中根据信号强度值(RSSI)计算距离的公式如下。
距离=常数A*(r/t)^常数B+常数C
其中,r为测量到得信号强度RSSI,t为发射设备1米距离的参照型号RSSI,A、B、C为不同设备的常数。
2.定位算法
在导航开始之前,首先要完成各目标地址及盲人所在位置的定位。各目标地址都是固定的位置,比如:餐厅、洗手间、会议室等用ibeacon来定位,部署时在每个目标地址的入口处安装一个或若干个ibeacon,ibeacon每隔固定时间向外广播该位置,方便手持终端接收。
盲人所在位置是移动的,定位比较困难,这里采用三点定位算法来定位盲人所在位置。其原理如下(图3)。
算法原理:平面上有三个ibeacon发射装置A,B,C,和一个接收系统D,并已测出三个ibeacon到手持终端D的距离分别为R1,R2,R3,则以三个ibeacon发射装置坐标为圆心,三个ibeacon到手持终端距离为半径可以画出三个相交的圆,如图下图所示,接收系统D的坐标即为三圆相交点。
3.导航算法
导航算法是整个解决方案的关键所在,建筑物通常有多层,每层有走廊、转角和多个房间等元素组成,楼层之间通过人行楼梯及电梯相连。盲人进入建筑物之后,目的地可能是任意楼层的任意房间,立体空间导航是个很复杂的问题。为了简化该问题,本解决方案将建筑物内的立体空间导航分解成平面导航和纵面导航两个部分。
平面导航即同一楼层的导航,纵面导航即人行楼梯间及电梯间的导航。服务器软件事先为平面导航和纵面导航分别建立坐标系,此时坐标系已经简化为类平面坐标系,在该坐标系中根据已部署安装的ibeacon位置绘制每一楼层的平面图、人行楼梯纵面图和电梯纵面图。
上述图都建立完成后,对于一楼的导航,可以直接通过该楼层的平面图进行导航。
对于二楼及以上的任意导航请求,都可以通过以下步骤完成导航:
(a)首先通过平面图导航到一楼的人行楼梯间或电梯间。
(b)通过纵面图导航到指定楼层。
(c)通过平面图导航到该楼层的指定位置。
三、结果
(一)ibeacon定位场景实现
目前本设计实现了两大场景的ibeacon定位:长廊场景(如图4)、转角场景(如图5)。
(二)导航的实现
通过使用纵横向平面的方法将三维导航简化为平面导航。
情景一:盲人处在一楼平面内
这种情景实际就是接收系统处在横平面内。中央控制系统根据ibeacon表和所接收的ibeacon表及参数,确定在所处平面的坐标。对横平面图进行图搜索,找到现位置与目标位置的路径。有别于传统意义的图搜索,这里不仅要考虑节点间相对关系,还要考虑距离。
情景二:盲人处在人行楼梯间或乘坐电梯
这种情景实际就是接收系统处在纵向平面内。纵向平面用于楼层的判断,电梯间与楼梯楼道内的ibeacon采用特殊UUID标识,当中央控制系统所收到ibeacon列表中ibeacon为纵向平面ibeacon后,只需进行根据ibeacon间距的关系判断,因为鉴于楼梯间及电梯井的直筒型结构,ibeacon安装时保持在同一直线上。由此,中央控制系统可以判断接收系统所处楼层,进行新横向平面的路径导航。
情景三:盲人走在一楼平面与电梯、楼道之间
这种情景实际就是接收系统处在纵横平面之间纵向平面的ibeacon发射装置使用小于5米的发射距离,因此當检测到纵向平面ibeacon后将不再考虑横向平面ibeacon切换至纵向平面导航。
四、结论
课题目前初步实现了基于ibeacon的建筑物内的定位、导航解决方案的设计。但在精度问题上仍有改进的空间。
实现:
(1)无需电源、布线的廉价硬件,设计安装方便。
(2)可利用智能手机的socket客户端以及ibeacon检测与列表实现。
(3)纵横向平面导航设计,简化空间导航难度。
(4)初步帮助盲人实现出行的最后“100米”。
参考文献:
[1]Altbeacon Android Beacon Library http://altbeacon.org/
[2]Java Concept Early Objects(第七版)[美] Cay Horstman著John Wiley & Sons Inc
[3][美]Robert Sedgewick,[美]Kevin Wayne.算法(第四版)[M].北京:人民邮电出版社,2012