基于iBeacon的商场室内定位及导航系统设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于iBeacon的商场室内定位及导航系统设计与实现
作者:前晋陈淑荣
来源:《微型电脑应用》2019年第01期
摘要:基于蓝牙iBeacon设计C/S架构的商场室内手机定位及导航系统。手机接收蓝牙信号并上传至服务器,后台从蓝牙信号强度根据iBeacon距离-RSSI损耗模型计算出手机至iBeacon的距离,再采用三边质心法确定手机位置坐标,并标示在手机端商场地图上;另外,按照手机端输入的目的地信息,服务器运行引入回退机制的A*算法,规划出最优可行路径,实现手机端的商场导航。实验数据表明最大定位误差在3米以内,导航路径精准。
关键词: iBeacon; 室内定位及导航; 三边质心法; A*算法
中图分类号: TN925
文献标志码: A
Abstract: An indoor location and navigation system for mobile phones is designed with the C/S architecture by using iBeacon. A mobile phone receives the Bluetooth signal and uploads it to the
server, the server calculates the distance from the mobile phone to the iBeacon according to the strength blue teeth signal and the iBeacon distance-RSSI loss model, and then uses the trilateral centroid method to determine the position coordinates of the mobile phone marked on the mobile terminal map. In addition, according to the destination information inputted by the mobile phone,the server runs the A* algorithm that adds a fallback mechanism to plan an optimal path, so as to realize the shopping navigation for the mobile phone. Experimental data show that the maximum positioning error is within 3 meters, the navigation path is accurate.
Key words: iBeacon; Indoor positioning and navigation; Three-sided centroid method; A* algorithm
0 引言
随着商场、地下停车场、机场等大型室内场馆的兴建,手机室内定位及导航需求日趋强烈,如商场中基于位置信息给予用户手机特定的商品消息推送,地下停车场智能寻车,机场室内位置导航等。目前手机室内定位技术主要通过蓝牙iBeacon和Wi-Fi来实现,文献[1][2]使用Wi-Fi指纹定位算法,将接收Wi-Fi信号的RSSI值与已建立的指纹数据库进行对比实现定位;文献[3][4]使用iBeacon定位技术,首先建立iBeacon信号强度与距离之间的关系,再通过三边定位算法实现定位。以上两种定位技术均能满足商场室内定位精度需求,但商场人流较大,商铺位置易变动,导致Wi-Fi指紋库需要时常更新维护,人工成本较大,相比之下iBeacon技术更适用于商场环境。
导航是手机位置信息服务的一种,可转化为找寻定位点与目的地之间的最短可行路径。常用的路径规划算法包括Dijkstra算法、A*搜索算法、蚁群算法等。文献[5]指出Dijstra算法搜索全局空间,难以满足快速规划路径的需求,而通过改进A*算法建立平滑的A*模型,其性能优于蚁群算法,且能处理障碍物随机分布的复杂环境下的路径规划问题。可见A*算法更适用于障碍物较多的室内环境。
本文利用蓝牙iBeacon技术实现手机室内定位及导航功能,首先在室内部署ibeacon设备,测量室内环境中各点的RSSI值,得出信号强度与距离之间的关系,建立iBeacon距离-RSSI损耗模型;其次手机接收iBeacon的RSSI值,上传至服务器,利用上述模型和三边质心法计算手机位置坐标;服务器端按照用户输入的目的地,采用引入回退机制的A*算法计算最优路径,并在手机端自制的商场地图上标示最优导航路径。
1 系统概述
系统主要由3个部分组成:iBeacon设备、Android智能手机、服务器,如图1所示。
多个已知位置坐标的iBeacon部署在室内空间中,周期性地向外界广播信号。
手机应用由Android Studio开发环境搭建而成,其功能包括接收iBeacon信号并上传iBeacon的Major值及对应RSSI值至服务器;上传用户输入的目的地;接受返回信息并在室内地图标示当前位置;显示服务器返回的最优导航路径。
服务器由MyEclipse结合Apache Tomcat搭建而成,内部存储了iBeacon信息和地图信息,采用基于HTTP协议的doPost方式与手机端进行数据交互,功能包括接收手机端上传的RSSI值,运行iBeacon距离-RSSI损耗模型确定手机与iBeacon的距离;利用三边质心法计算手机位置坐标;接收输入的目的地信息,并运行引入回退机制的A*算法规划最优导航路径。
2 系统实现的关键技术
2.1 iBeacon室内定位
采用iBecaon进行室内定位,需先建立iBeacon距离-RSSI损耗模型,获取手机与最近的3个iBeacon之间的距离,再通过三边质心法计算手机位置坐标,实现定位。算法步骤如下:
第一步:RSSI值采集预处理。部署iBeacon应选取周围无遮挡物的位置降低信号损耗,在信号稳定后采集RSSI值以防其它信号干扰,减少环境误差;在同一地点采集多个RSSI值采用均值滤波预处理,以减少测量误差,如式(1)。
3 实验结果与分析
3.1 iBeacon距离-RSSI损耗模型参数选取实验
为确定模型的待定参数n和R1,在室内距离iBeacon设备0.1 m、0.7 m、1.3 m、1.9 m……处,选取13个点,按照定位算法步骤一对采集的RSSI值进行均值滤波,再根据步骤二运用最小二乘法选取最优参数,得出具体数值如式(10)。
3.3 商场室内导航实验
根据服务器计算的定位坐标,在手机端的商场地图上标示当前位置,当用户输入目的地,手机上传输入信息,服务器根据改进的A*导航算法规划出最优路径并返回至手机,结果如图9所示。
其中绿点代表起点,蓝点代表终点,红线标示为最优导航路径。
4 总结
针对商场手机定位和导航应用,首先通过实验建立