APP下载

运用 iBeacon技术的室内导航系统的设计与实现

2018-06-06余成波孙梦娜杨如民

关键词:定位导航信号强度指纹

余成波,孙梦娜,杨如民

(重庆理工大学 远程测试与控制研究所, 重庆 400054)

随着导航定位技术的普及,基于位置的应用也越来越受大众欢迎。在室外,GPS可提供非常精准的位置信息;但在室内,GPS信号由于受到建筑围护结构的遮挡,以及反射、衍射以及多径效应等物理因素的影响,无法实现精准的室内定位。

近年来,对室内导航系统的研究逐渐兴起。Nammoon等[1]提出了融合多传感器结合行人航迹推算的混合航向估计方案,提高了室内导航系统的性能,但存在着室内定位精度不高,导航精确性不强的问题。Arie Sheinker等[2]提出了一种基于磁性信标的室内导航方法,降低了开发成本,但存在系统功能单一的问题。因此,欲提高室内导航定位系统的准确性和适用性,不仅需要准确的非GPS式空间位置信息,也需要比室外GPS系统更高效的路径规划技术。

在室内定位技术层面,目前已经有Wifi、ZigBee、蓝牙、红外、超声波、射频识别、超宽带等多种技术。其中,基于低功耗蓝牙(bluetooth low energy,BLE)的iBeacon技术[3],因具有传输距离长、应用广、AES-128加密等优点,已成为现阶段室内定位的研究热点。

在路径规划技术层面,多目标路径规划方法是当前的研究热点和难点。路径规划的研究目标在于找到满足条件的Pareto最优解或非劣最优解[4]。当前典型的规划方法有A*算法多目标启发式搜索模型(multiobjective A*,MOA*)、最优多轨道规划算法(multirobot path planning,MPP)、多目标路径规划算法(multiobjective path planning,MOPP)[5]等。

本文研究iBeacon定位技术与平滑多目标D*Lite规划算法[6]相结合的室内导航系统,其中定位部分采用国内外应用较多的基于信号指纹的定位方法,重点研究iBeacon信号与指纹库之间快速精准的匹配算法。具体实现方式为:对采集到的iBeacon信号强度值进行滤波去噪处理[7],降低信号强度失真造成的误差,并采用K近邻算法(K-nearest neighbor,KNN)[8]进行指纹匹配,获得移动定位结果;再对移动定位结果进行滤波处理,抑制结果中的大幅波动,获得空间定位结果;最后,将空间定位结果与平滑多目标D*Lite规划算法相结合实现室内实时导航。该导航系统具有Web界面,涵盖用户管理、数据查询分析等功能。

1 iBeacon室内导航系统

1.1 系统架构

本系统采用iBeacon室内定位技术、多目标路径规划技术,基于J2EE技术框架,使用面向服务SOA(service-oriented architecture)方式,通过SaaS(software-as-a-service)模式对外提供服务。设计了由表现层、业务逻辑层、数据访问层、设备接入层组成的分层架构,如图1所示。其中表现层负责为使用者提供交互操作的Web、APP应用;业务逻辑层负责建立各种业务处理过程,如定位导航、广告推送、用户动态数据分析等;数据访问层负责数据采集、数据处理、数据存储,建立系统数据中心和标准化数据接口;设备接入层负责iBeacon基站与智能移动终端之间的设备感知和接入。

1.2 系统功能

本系统的功能按照普通用户、商家、管理员3类使用者的应用场景进行设计,统一的云平台系统为这3类使用者提供各种服务[9]。使用者与系统的交互方式有APP和Web应用。

系统为普通用户提供的是基于位置的服务(location based service,LBS),用户可以是一般携带智能移动终端的个人用户,也可以是装有BLE4.0模块的安卓机器人。服务的具体功能包括:管理用户信息、实时室内定位导航、查询iBeacon基站数据、查询定位及导航数据、查询指纹数据库、根据用户位置适时推送信息等。

图1 系统分层架构

系统为商家提供的功能包括:查询用户定位导航数据、管理商家信息与设计上传商业活动及广告通知等。

系统为管理员提供的功能包括:采集上传iBeacon信号强度、审核管理商家及用户信息、分析统计用户定位及导航数据、管理维护iBeacon基站、管理设备地图、审核管理商业广告信息、管理维护系统等。

1.3 系统组成

基于iBeacon技术的室内导航系统组成如图2所示,有以下三大模块并结合用户随身携带的智能移动终端、数据库服务器、Web终端完成系统功能。

3个模块相互结合完成具体工作,各模块的具体功能有:

1) iBeacon室内定位模块。利用iBeacon室内定位技术获取用户当前空间位置信息,记录并上传当前位置坐标。

2) 路径规划与实时导航模块。利用起点和终点位置信息,结合用户路径偏好规划满足用户需求的导航路径,并在导航过程中结合定位信息实时导航,记录并上传导航数据。

3) Web操作模块。具体工作包括管理员对用户定位及导航数据的分析统计,审核管理用户及商家信息,管理维护iBeacon基站,管理设备地图,审核管理广告及商业活动信息,管理维护系统等;普通用户查询自身定位及导航数据,管理个人信息等;商家查询用户定位导航数据并利用各用户数据设计上传相应的商业活动和广告通知等。

图2 iBeacon室内导航系统组成

2 iBeacon室内定位模块

iBeacon室内导航系统中的定位模块也可作为独立的室内定位系统工作,由信号强度采集与指纹库建立模块、匹配定位模块并结合iBeacon基站、智能移动终端、后台服务器、数据库服务器完成定位功能。信号强度采集与指纹库建立模块的具体工作有:

1) APP与后台服务器建立Socket通信,判断用户终端是否支持蓝牙4.0,若支持则发出采集请求,采集当前目标点位置接收到的iBeacon基站的Major、Minor、RSSI、UUID值。其中Major设定为区域编号,Minor设定为区域内iBeacon编号。

2) 解析数据形成RSSI序列,例如某一位置处可以接收到1、3、5、6、7号iBeacon基站的信号强度(RSSI1、RSSI3、RSSI5、RSSI6、RSSI7)。记录当前目标点的坐标(X,Y),将RSSI值序列经卡尔曼滤波处理[10]。

3) 提交以上数据至后台服务器,建立完整的n×m信号指纹库,n为采集目标点序号,m为iBeacon基站编号。指纹库中每一行数据包括当前采集目标点的位置坐标(X,Y),区域编号Major,在第i个采集目标点接收到的第j个iBeacon基站的RSSI值RSSIij(i=1,2,…,n;j=1,2,…,m)。

匹配定位模块包括信号强度采集、数据解析和处理、判定区域并估计距离、位置计算、回传数据显示定位结果等工作。具体有:

1) APP与后台服务器建立Socket通信,判断用户终端是否支持蓝牙4.0,若支持则发出定位请求并采集当前位置接收到的iBeacon信号强度值。

2) 解析信号强度数据,形成信号强度序列,将此序列进行卡尔曼滤波并按照一定时间间隔不断上传至后台服务器。

3) 后台服务器接收后采用KNN算法进行指纹库匹配,得到3个最接近的样本点。

4) 计算3点的质心得到此时用户的位置,并进行滤波处理,抑制移动定位结果的大幅波动。

5) 后台服务器将计算得到的位置坐标回传给客户端并显示到对应界面,可选择是否上传定位信息至数据库。

3 路径规划与实时导航及Web操作模块

iBeacon室内导航系统中的路径规划与实时导航模块包括地点选取、偏好选择、路径规划选取、实时通知、回传数据等。系统具体功能有:

1) 登录和客户端检测,进入主界面后判断用户终端是否支持蓝牙4.0。若不支持则可以点击定位导航选项跳转至导航页面进行地点选取和路径规划,最终在地图上显示此次的规划路线;若支持,则进入下一步。

2) 将当前定位位置默认为导航起点,用户于APP中选取地图上任一地点为导航目的地。选取导航路径偏好(距离最短、时间最短、路径较短且远离障碍物且较平滑)进行路径规划,并将此次导航所需数据发送至后台服务器。

3) 根据用户偏好,结合平滑多目标D*Lite规划算法规划路径,返回路径数据至APP终端。终端接收到数据后顺序遍历路径坐标绘制路径并显示到对应地图界面。

4) 结合用户行驶定位信息更新地图并进行导航通知直至到达目的地,并选择是否上传导航数据至数据库。

依据功能分析,在Web操作模块主要设计了系统首页和后台管理页面,其中系统首页展示导航系统的功能、使用范例以及研究成果等信息,用户可以在此页面查询系统使用方法并联系开发者。后台管理由用户信息管理模块、定位导航数据管理模块、系统设备维护模块、商业活动管理模块、地图位置信息录入模块5个模块组成。其中用户信息管理模块的主要任务是使用者信息的增删查改;定位导航数据管理模块的主要任务是根据不同权限的使用者管理定位导航数据;系统设备维护模块主要进行的是管理员对系统和iBeacon基站的维护;商业活动管理模块的主要任务是商家提交商业活动和广告等信息,管理员对此进行审核和管理;地图位置信息录入模块进行的是管理员将物品与地图信息的连接。

用户登录后跳转至后台管理页面,根据不同用户权限显示不同的菜单栏,总的菜单栏有:用户信息管理、定位导航数据管理、系统设备维护、商业活动管理、地图位置信息录入五大部分,点击不同的按钮弹出不同页面,在各子页面进行具体操作。

4 系统实现

为了验证系统的定位导航功能并分析系统的运行效果,将本系统应用于8 m×14 m的实验室内,并在实验室内部署iBeacon基站,如图3所示。实验室内包括20个工作台、1个会议桌、1个办公隔间,由于环境复杂度较高,共布置了12个iBeacon基站,见图3。

用户于APP登录后进入系统首页,选择BLE指纹库可以进行指纹库的建立和查询等的操作。图4所示为iBeacon信号强度的采集与查询页面,可选择是否通过滤波处理采集信号。图5所示为坐标(570,970)处接收到的信号强度序列进行卡尔曼滤波后的信号波动图,从图中看出信号跳变较少,说明可以降低信号强度失真造成的误差。

图3 8 m×14 m实验室示意图

图4 采集iBeacon信号

拟定实验室内左上角为坐标原点、向右为X轴、向下为Y轴,按照每间隔1 m作为采集目标点采集数据录入指纹数据库,如图6所示。图中位置(570,970)处采集的信号强度id号为378~380,其中第378行是未经滤波的指纹数据,第379、380行是经卡尔曼滤波后的指纹数据。对比3行数据可知,滤波可以使得采集的指纹库较稳健。

打开系统的定位导航功能,显示当前用户在地图中所处位置,可导航至地图上任意地点(若目的地处于障碍物区域则规划至目的地邻近可行区域)。导航过程中可实时跟踪用户位置,直至到达目的地结束此次导航。

实时定位测试结果如图7、8所示。图7中绿色定位点显示的是利用APP定位的用户实验室内具体位置,图8显示的是实验室定位实测图片。经对比可知系统可得到精确的位置信息。

在实验室内测试500组数据,采用KNN匹配定位,在1 m以内的定位精度为30%[11]。采用本文滤波后432组数据的定位误差达到1 m以内,定位结果误差在1 m以内的比例达到了86%,整体定位精度较高。

图5 RSSI序列卡尔曼滤波

图7 APP定位测试

用户使用APP定位导航测试结果如图9、10所示,定位的同时可选择是否导航。图9显示的是默认用户当前定位点为导航起点,地图中选取导航终点,根据用户路径规划偏好规划不同路径。图10显示的是用户行走于一条距离较短且远离障碍物较平滑的规划路径上,结束导航时上传导航数据至服务器。

用户上传导航数据至服务器,结合管理员录入的位置相关信息,可查询导航地点具体信息。表1所示为数据库中导航地点信息视图中的部分数据。

图8 实验室定位实测

IdRoadpathstdetailenddetailxyendxendy1(272.10,80.05)|(277.77,81,72)…第3排第4列桌子未录入5856211503062(272.10,80.05)|(277.77,81,72)…第3排第4列桌子未录入5856211202103(272.10,80.05)|(277.77,81,72)…第3排第4列椅子未录入5856411403214(272.10,80.05)|(277.77,81,72)…第2排第4列椅子第1排第2列桌子585534140470

本系统除在APP进行相关操作外,还可进行Web操作:查询管理用户个人信息、查询用户导航及定位信息、录入位置地图信息、商业活动管理、维护系统等,如图11、12所示。从图中得出用户上传导航数据后,结合管理员录入的地点位置信息,最终可以查询导航具体位置信息。

图11 Web后台管理首页

图12 录入位置信息

综合以上实验,打开定位功能系统显示当前用户在地图中所处位置,并可导航至地图上任意地点。导航过程中实时跟踪用户,直至结束导航。系统的数据分析和查询等功能均能在Web界面实现。

5 结束语

基于iBeacon技术的室内导航系统不仅具有开发简便、信号干扰小、定位精度高、多功能导航等优点,而且可以根据更多的商业需求实现丰富的功能扩展。本文通过搭建的室内导航系统实现了智能定位导航服务、设备管理、用户管理、商业信息管理、位置及导航数据管理等功能,为不同的使用者提供了丰富的应用功能和交互方式。

本系统将卡尔曼滤波应用到iBeacon室内定位系统中,实验结果表明滤波可提高定位结果的稳定性与精度。本系统在导航过程中采用平滑多目标D*Lite规划算法根据用户偏好规划路径,上传位置及导航数据至服务器供后期查询统计。此外,Web端可供3类用户各自进行相关操作,系统实现多功能。

[1] NAMMOON K.A hybird heading estimation scheme exploiting smart-phone inertial sensors for PDR based indoor navigation[C]//6th International Conference on Application of Digital information and Web Technologies.2015:150-157.

[2] SHEINKER A,GINZBURG B,SALOMONSKI N,et al.A method for indoor navigation based on magnetic beacons using smartphones and tables[J].Journal of the International Measurement Confederation,2016,3(1):197-209.

[3] 李娟娟,张金艺,张秉煜.蓝牙4.0标准规范下的模糊指纹定位算法[J].上海大学学报(自然科学版),2013,19(2):126-131.

[4] 楼振凯.带模糊时间窗的配送问题多目标优化研究[J].模糊系统与数学,2017,31(3):183-190.

[5] YU J J,STEVEN M.Optimai Multirobot Path Planning on Graphs:Complete Algorithms and Effective Heuristics[J].IEEE Transactions on Robotics,2016,32(5):335-339.

[6] 孙梦娜,杨如民,余成波.导航系统中多目标路径平滑化规划的研究[J].计算机工程与应用,2017,53(18):17-23.

[7] 刘志华,马征征,陈嘉兴.无线传感器网络中移动节点的后验信号滤波定位法[J].传感技术学报,2013,26(5):739-744.

[8] OKAR I.A bluetooth signal strength based indoor localization method[C]//Proceeding of 21th IEEE International Conference on Systems,Signals and Image Processing.Dubrovnik,Croatia:IEEE,2014:251-254.

[9] MANLISES,YUMAN A N.Indoor Navigation System Based on Computer Vision using CAM Shift and D*Algorithm for Visually Impaired[C]//6th IEEE International Conference on Control System,Computing and Engineering,2016.

[10] 孔庆达,余成波,李彩虹.卡尔曼滤波在iBeacon室内定位系统中的应用[J].电讯技术,2017,57(4):450-456.

[11] 王艳丽,杨如民,余成波,等.相关性匹配蓝牙信标位置指纹库的室内定位[J].电讯技术,2017,57(2):145-150.

猜你喜欢

定位导航信号强度指纹
光学相干断层成像不同扫描信号强度对视盘RNFL厚度分析的影响
电子自旋共振波谱法检测60Co-γ射线辐照中药材
像侦探一样提取指纹
校园智能车定位导航系统设计与实现
为什么每个人的指纹都不一样
室内定位信号强度—距离关系模型构建与分析
WiFi信号强度空间分辨率的研究分析
基于自适应稀疏变换的指纹图像压缩
可疑的指纹
北斗系统全面应用为“一带一路”定位导航(3)