黄双双
摘 要:分析了当前市场上主流室内定位技术的优缺点,描述了基于NFC的博物馆智能导航系统的实现原理。用户只需要使用智能手机接触室内用于定位的读写标签,不仅能获取展览文物的详细信息,还能获取当前所在的位置。文中采用启发式A*算法,就能快速计算从出发点到目的地的最短路径。
关键词:室内定位;NFC;A*算法;最短路径
中图分类号:TN929.5 文献标识码:A 文章编号:2095-1302(2015)11-00-03
0 引 言
作为位置信息服务的代表,全球定位系统已被广泛用于车辆导航、工程测量、海洋救援、飞机导航、航空遥感等许多领域。在室内环境中,无线信号通常比较差,GPS定位准确度比较差,甚至失效。但是在商场、医院、博物馆等大型室内建筑场所,一套好的定位系统将会给群众的生活带来极大的便利,基于如此广阔的应用场景,室内定位技术正成为市场竞争的一个热点。
业界目前的室内定位解决方案主要有红外技术、超声波(Ultrasound)技术、蓝牙(Bluetooth)技术、WiFi技术、超宽带(UWB)技术及射频识别(RFID)技术等。这些技术都有各自的优势和不足,下面对其作简要比较:
(1)红外室内定位技术。系统通过红外线发射器发射调制的红外线,通过安装在室内的光学接收器进行定位。红外线定位技术定位精度较高,但红外线不能穿越障碍物,一旦标识物被遮挡,系统便无法定位,且红外线衰减速度快,传输距离短,易受灯光干扰等缺点使其用于室内定位时效果很差,并且系统的造价较高。
(2)超声波定位技术。系统通过主测距器向位置固定的应答器发射一定频率的信号,应答器产生回波,根据回波和发射波的时间差计算出两者之间的距离,当有三个或三个以上不在同一直线上的应答器做出回应时,根据三球定位等算法确定被测物所在的位置。超声波定位精度较高,原理简单,易实现。但超声波易受多径效应和非视距传播等因素的影响,而且硬件成本比较高。
(3)蓝牙定位技术。蓝牙是一种近距离无线通信技术,通过利用发射信号和接收信号的强度差来实现定位。蓝牙集成电路简单,易于集成在手机等移动电子设备中,且信号传输不受视距的影响,设备易被发现,但在复杂的室内环境中,蓝牙系统容易被噪声信号干扰,稳定性不好。
(4)WiFi定位技术。系统通常由无线接入点和定位服务器组成,定位服务器通过分析接入点的信号强弱和信号特征进行位置计算。WiFi定位系统采用信号传播模型与经验测试相结合的方式,易于安装且需要很少基站。WiFi网络稳定性好,传输速率高,但WiFi信号收发器只能覆盖半径90米以内的区域,且容易受到其他信号的干扰,系统的能耗也较高。
(5)超宽带(UWB)技术。超宽带技术通过发送许多间隔极小的脉冲进行测距。超宽带系统穿透材料能力强、功耗较低、时间分辨率高、抗多径效果好、系统易实现。其可应用于室内静止及移动物体的定位和导航,系统的定位精度较高。但UWB难以实现大范围室内覆盖,且手机不支持UWB,定位成本高。
(6)射频识别技术(FRID)。射频识别技术利用射频信号,通过非接触式双向通信交换数据实现信息传递,并通过所传递的信息进行识别和定位,通常通信距离为几十米。RFID系统的防碰撞算法使得读写器能在短时间内识别大量的标签,为实现实时定位提供了可能。随着集成电路设计技术日益成熟,RFID标签制造成本较低,但其定位距离有限且不能进行信息的传递[1]。
1 NFC技术
NFC近场通信(Near Field Communication,NFC),也就是近距离无线通信,是一种短距离的高频无线通信技术,它允许电子设备之间进行非接触式点对点数据传输(在十厘米内)交换数据。该技术由免接触式射频识别(RFID)演变而来,并向下兼容RFID,最早由Sony和Philips各自开发成功,主要为手机等手持设备提供M2M(Machine to Machine)的通信。NFC 技术和蓝牙相比操作简单、配对快速;和 RFID 技术相比适用范围广泛、可读可写、能直接集成在手机中;和红外线相比数据传输较快、安全性高、能耗低(可以无电读取);和二维码相比识别快速、信息类型多样。NFC 技术可适用于很多场景,比如移动支付、公交卡、智能海报等[2]。
NFC标签是一种可读写的电子芯片,通过带有NFC功能的电子设备扫描NFC标签就能读写标签中的内容。由于是无源器件,只需将线圈设计好便可制成NFC标签,因此NFC标签价格低廉。比起蓝牙等传统产品,NFC在使用上更为简单高效,可以给用户带来更好的体验。因此,在不久的将来,NFC会越来越多地出现在我们的生活中。
由于博物馆展览品数量庞大,每个展览品的展示空间有限,所以很难在展柜上充分描述展览品的详细资料。通过把展览品的详细资料存储到NFC标签中,观众可以用手机读写NFC标签,获取到更多的信息。尽管NFC标签存储容量有限,但其存储形式多样,可以存储小量文本,还可以存储网址,通过网页向观众进行详细展示[3]。
2 系统结构
系统主要由移动前端和服务后台组成,移动前端主要是手机、pad等电子设备,通过下载App实现位置导航和展览品信息获取。前端App采用时下广泛使用的Android平台,结合当前大热的NFC技术进行开发。系统后端服务器采用ubuntu+tomcat+java+mysql的方式搭建,系统稳定性好且易于多平台移植。
3 系统功能设计
系统的前端主要实现游客实时定位、目的地路线导航、展览品信息获取、地图更新等功能。后端为博物馆信息管理平台,博物馆管理员可以对馆藏物品进行增加、修改、删除等操作,后台还包含了博物馆所有展览品的详细信息、展柜地理位置、室内地图等数据,同时为前端提供数据接口。系统的功能结构如图1所示。
图1 系统功能结构图
当游客想获取展览品的详细信息时,只需用NFC手机接触展柜上的NFC标签,或者手动输入展览物品名称,手机便自动跳转到展览品信息界面,显示当前展览品的简要信息,游客可选择“获取详细信息”或“语音介绍”等高级功能菜单,获取展览品更加详尽的文字及图片介绍或者语音解说。
当游客想搜寻路线时,只需进入路线搜寻界面,将手机靠近NFC标签,手机将获取游客当前位置,并在地图上标注,显示的地图上会标示当前馆藏的所有物品,并显示物品名称和简要介绍,游客在地图上点击想参观的物品,系统将显示当前位置到目的地的最佳路线,从而游客将在复杂的场馆内轻松自如的找到自己想看的文物。图2所示为室内环境模拟图。
图2 室内环境模型图
当博物馆处于地下时,手机信号不佳,游客可通过离线下载数据界面,提前下载好馆内最新地图,展览品简介等小量数据存储到客户端数据库中,这样即使在信号不好的场地,游客也可以获取到展览文物的简要介绍,及位置定位和导航。
4 算法分析与实例
4.1 Dijkstra算法与最佳优先搜索(BFS)
Dijkstra算法从源节点开始层层向外扩展,遍历图中的各个节点,找到距离源节点最短路径的节点,并标记为已查节点,重复这一过程直到所有节点都被标记过。通过从初始节点向外扩展,直到到达目标节点。Dijkstra算法能够算出从源节点到目标节点的最短路径。
BFS算法与Dijkstra算法的原理相似,不同的是BFS能够评估(称为启发式的)任意节点到目标点的代价。与Dijkstra算法每次选择离源节点最近的节点不同的是,BFS算法每次选择离目标最近的节点。BFS不能保证找到一条最短路径,但通过使用启发式函数(heuristic function)可以快速地导向目标节点,因而比Dijkstra算法快很多[4]。
4.2 A*算法
A*算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是最优优先路径算法。该算法在节点扩展过程中使用了启发信息,算法的搜索方向智能地趋向目标节点,算法的效率得到很大的提高[5]。A*算法是启发式方法(heuristic approaches)如BFS,其是与常规方法如Dijsktra算法相结合的一种更高效的算法。类似BFS的启发式方法经常给出一个近似解而不是保证最佳解,尽管A*基于无法保证最佳解的启发式方法,A*却能保证找到一条最短路径。A*算法成功的秘决在于它把Dijkstra算法(靠近初始点的节点)和BFS算法(靠近目标点的节点)的信息块结合起来。A*算法的估价函数可表示为:f(n) = g(n) + h(n),其中g(n)表示从初始结点到任意节点n的最短路径,h(n)表示从节结点n到目标点的最短路径的启发值,h(n)启发函数选取的越好,算法就越高效。当从初始点向目标点移动时,A*权衡这两者,每次进行主循环时,它检查f(n)最小的节点n,其中f(n)= g(n) + h(n)。
4.3 算法分析
首先将搜索区域划分成方形网格,网格的边长为10,对角线距离近似为14。网格分为两种状态,浅色为可行状态,深色为展位或墙壁,即不可行状态,每个网格都有一个坐标值,左上角为坐标的原点,如图3所示。
本文采取A*算法进行路径搜索,路径搜索的关键是f(n)的计算,其中:
g(n)表示从起始点,沿着生成的路径移动到网格n的移动耗费;
h(n)表示从网格n移动到目标方格的预估移动耗费。
如上所示,G表示沿路径从起始点到网格n的移动耗费。本文中,我们令水平方向和垂直方向的移动耗费为10,对角线方向耗费近似为14。沿生成的路径通往网格n的G值,就是取网格n的父节点的G值,如果网格n相对父节点是对角线方向则其G值为父节点的G值加14,如果是直角方向则网格n的G值为父节点的G值加10。
H值的计算方法比较多。本文使用的方法为曼哈顿方法,它计算网格n移动到目标网格之间需要经过的水平方向和垂直方向的方格的数量总和(即两点X轴坐标差值的绝对值和Y轴坐标差值的绝对值之和)的最小值,移动方向不能为对角线方向,然后把结果乘以10。
F的值是G值和H值的总和。
下面以起始点(7,5),目标点(1,2)为例叙述路径获取算法。网格模型如图3所示,搜索步骤如下:
(1)从起点开始,将起点添加到一个数据列表中,简称“开启列表”;
(2)重复以下步骤:
a.搜索开启列表,找到F值最低的格子,如果F值相同,则取G值较低者,G值和H 值若都相同,则任选其一,并设为当前格。
b.把它添加到另一个数据列表,简称“关闭列表”。
c.搜索与当前格相邻网格,并进行属性设置:
①如果它不可通过或者处于关闭列表中,则不做设置,反之如②。
②如果它不在开启列表中,则把它添加到开启列表,并设置它的父节点为当前格,计算它的F值、G值和H值。如果它已经在开启列表中,重新计算它的G值并与之前的G值进行比较,如果新的G值比较小则将其父节点设为当前格,更新它的G值和F值,如果新的G值比大则更新它的属性。
d.结束。当目标格被找到并添加到关闭列表中,则路径被找到,从目标格开始,通过每个网格的父节点来遍历关闭队列,则可得到规划路径的反向序列,如果目标格没有找到且开启列表已经为空,则路径不存在。图3所示为其网格的模型图。
图3 网格模型图
5 结 语
本文提出了一种基于NFC的新型博物馆定位导航系统,游客通过扫描NFC标签不仅能获取展览文物的信息还能进行实时定位,系统采用了A*搜素算法,能以更快的速度获取到达目的地的最短路径。游客还可以通过客户端从服务后台获取展览文物的详细信息、下载离线数据等高级功能。
参考文献
[1]吴雨航,吴才聪,陈秀万.介绍几种室内定位技术[N].中国测绘报,2008-1-003.
[2]林龙,张果,王剑平,等.基于NFC技术的标签模式设计[J].微处理机,2013,34(3):31-36.
[3]吴连发.NFC技术在博物馆安防和展陈中的应用分析[J].魅力中国,2014,9(25):226-228.
[4]龚道雄,刘翔.迷宫搜索算法的比较研究[J].计算机应用研究,2011,28(12):4433-4436.
[5]房佳,杜震洪.应用于城市道路网的启发式深度优先有向搜索算法[J].浙江大学学报(理学版),2013,40(4):469-474.