APP下载

基于室内外定位的校园LBS系统设计与实现

2015-02-21张好好朱静娴江苏科技大学电子信息学院江苏镇江212003

电子器件 2015年2期
关键词:位置服务

于 睿,陆 南,张好好,朱静娴(江苏科技大学电子信息学院,江苏镇江212003)



基于室内外定位的校园LBS系统设计与实现

于睿,陆南*,张好好,朱静娴
(江苏科技大学电子信息学院,江苏镇江212003)

摘要:为了解决目前智能手机中位置服务LBS(Location Based Service)类移动应用在小环境区域不能准确提供位置服务的问题,以校园为例提出了一种基于室内外定位的LBS系统设计方案。首先介绍系统结构设计,然后详细分析了Mobile GIS、GPS、基于WiFi信号强度值的位置指纹定位算法等系统设计中的关键技术,最后测试验证系统的各个功能模块。测试结果表明,系统可以实现终端定位、室内位置服务、校园导航、地图服务等功能,且操作便捷,具备可行性和实用性。

关键词:位置服务; Android;室内外定位; Mobile GIS

近年来,移动互联网技术飞速发展、Android智能手机的日益普及,基于Android平台而开发的各种移动应用层出不穷。其中,被看作移动互联网领域的“杀手级应用”的LBS更是得到了前所未有的发展。LBS发展至今,人们更加需要在像学校、医院这样的小环境区域中获得准确LBS服务[1]。提供LBS服务必须在确定用户位置的基础上,而这样的小环境区域往往包含室内和室外两种不同的环境。在室外,GPS提供了非常精准的位置信息;但是卫星信号易受到建筑物的遮挡,在室内环境下GPS并不能提供高精度的定位,而WiFi、ZigBee、蓝牙、红外、超声波、射频识别、超宽带等无线定位技术快速发展,成为对GPS的有力补充。

因此本文以校园这个特殊职能的小环境区域为研究对象,基于Android平台设计和实现了一个校园LBS系统:以ArcGIS系列软件制作的校园地图为背景;室外环境中通过接收GPS信号进行定位;室内环境中在无需利用额外硬件设备的前提下,综合考虑无线信号覆盖范围、受室内环境影响程度、定位精度要求等等,采用基于WiFi信号强度的位置指纹定位算法进行定位。系统可为师生和来访者提供位置相关的信息服务。

1 系统设计

1.1系统需求分析

本系统所追求的理想结果是在室外环境中,地图服务功能能够让用户在终端设备上查看校园环境地图,通过放大缩小、上下移动等操作全面熟悉校园环境。实时定位用户位置、查询从当前位置前往目的地的最优路径并标记在校园环境地图上;在室内环境中,根据用户的选择显示相应的室内环境地图。定位时,将用户相对于室内环境的位置标记在室内环境地图上,并且能够获取该位置相应的服务信息,例如,空教室信息、课程信息等等。

1.2系统总体设计

根据系统的需求分析,整个系统在逻辑上分为客户端、服务器端与数据库三层架构。系统结构如图1所示。

图1 系统架构图

(1)客户端:安装于Android系统的智能手机上,完成核心功能与数据的前台显示,是与用户进行交互的重要层。系统核心功能主要包括地图服务、室外GPS定位、校园路径指引、室内WiFi定位、课程信息查询、空教室查询。

(2)服务器端:运行于PC端,主要分为GIS服务器、Web服务器和定位服务器。将ArcGIS Desktop软件创建的校园地图利用ArcGIS Server发布于Web服务器,并实现管理和更新。当Web服务器接收到客户端发来的地图操作请求时,通知GIS服务器根据要求调用数据库中的地图数据以及相应的地理处理工具来提供服务。定位服务器主要用于运行算法,当接收到客户端发来的无线信号时,调用室内定位算法确定终端设备的位置,并将该位置的相关数据发送至客户端。客户端与服务端之间利用无线网络进行数据传输,通过标准的HTTP协议进行通信。

GIS服务器: ArcGIS Server 10.2

Web服务器: IIS 6.0(Internet Information Server 6.0)

定位服务器: Apache Tomcat 7.0.47

(3)数据库:负责向服务层提供数据支持。客户端使用SQLite和文件方式存储少量本地数据;定位服务器采用Mysql数据库存储室内定位中离线训练阶段的位置指纹库[2]、空闲教室信息和课程信息。GIS服务器采用Geodatabase地理数据库存储校园地图的空间数据和属性数据。

2 校园地图系统设计

针对校园环境的地图系统的设计过程就是将校园地理信息矢量化为地图并完成发布和管理的过程,由ArcGIS Desktop软件来完成空间数据的采集、编辑、分析、更新等操作,ArcGIS Server实现地图服务和网络分析服务发布,在Android平台上结合ArcGIS for Android插件访问自行发布的地图,获取地图服务和网络分析服务。

2.1空间数据的采集

空间数据的采集是将纸质地图、遥感影像、外业观测数据、文本资料等不同来源的数据转换成计算机可以接收与处理的数字形式[3-4]。本地图中,主要包括以下几种数据: (1)地图数据,采用了由学校提供的校园平面地图。(2)影像地图,在Google Earth上利用GEtScreen软件截取校园卫星影像数据。(3)实测数据,由于设备有限,本地图直接通过ArcGIS Online、Google Map等现有的地图软件测量比较获取地图点坐标、道路路线长度等数据。

2.2地理配准

采集的校园平面地图和卫星影像数据是不含任何地理数据信息的,要使用它就要进行配准以及赋予它正确的地理数据。这里必须引入空间参考的概念。空间参考包括X、Y、Z值坐标系以及X、Y、Z和M值的容差值和分辨率值,使用这些属性,可以确定一个地物在地球上的位置。常用的坐标系统主要包括地理坐标系和投影坐标系。本地图中选择地理坐标系GCS_WGS_1984,该坐标系就是移动平台GPS所采用的坐标系统,通过GPS获得的坐标信息都是按这个坐标系提供的经纬度。ArcGIS中地理配准使用Georeferencing工具条,一般要经过坐标系的选择、添加控制点、检查残差、校正及重采样等几个步骤。

为减少误差带来的影响,控制点应当尽量选取卫星影像上容易分辨且比较精细特征点或者图像边缘处的点。并且尽可能在区域当中均匀、满幅的选点。影像特征变化较大的地区应该多选几个控制点。

2.3空间数据的编辑

完成地理配准之后,需要构建校园要素图,对校园内所需描述的要素以图层的形式表现出来,这是一个矢量化的过程。根据系统的设计要求,将校园地图的空间数据分为5个图层,涉及点要素、线要素和面要素3种图层类型,完成对不同属性地物的矢量化。具体如表1所示。

表1 空间数据图层

ArcGIS中空间数据的编辑使用Editor工具条,依次对各个图层的地物进行编辑。进行数据编辑时需要注意各个数据元素之间的拓扑规则。

2.4空间数据的分析

ArcGIS中使用网络分析功能模拟解决现实世界的多种网络问题。根据网络问题的不同类型,可以采取不同的建模方式。对于定向网络,通常采用几何网络分析方式建模。对于非定向网络,通常采用网络数据集的方式建模。

交通网络属于非定向网络,适用由边、交汇点和转弯要素组成的网络数据集建模。步骤如下:首先建立和编辑网络数据集;然后在网络数据集中利用ArcToolbox中的网络分析扩展模块进行点到点的路径分析,获得最短路径。

2.5地图服务与网络分析服务发布

在ArcGIS Server服务器上发布服务之前需先安装IIS,它是允许在网络(包括互联网和局域网)上发布信息的Web服务器。校园地图服务和网络分析服务发布成功之后,可在ArcGIS Online上实现在线访问,通过IIS供不同的移动终端调用。Android平台使用ArcGIS for Android插件调用自行发布的地图,执行最短路径分析操作。

3 基于WiFi信号强度的位置指纹定位

复杂多变的室内环境中,无线信号传播衰减模型[5]难以准确的描述具有较强时变特性的WiFi信号强度与距离之间的关系。由于基于WiFi信号强度值的位置指纹定位算法具有较好的定位鲁棒性,因此本系统使用它来进行室内定位。

位置指纹定位是依据终端所处位置的位置指纹信息,查询位置指纹库,根据相应的匹配算法来估计终端所处的位置[6-7]。可获取的位置指纹有多种,因RSSI易于测量,因而受到了广泛关注。

位置指纹定位通常分为两个阶段:离线建库阶段和在线定位阶段。离线建库阶段首先建立一张与目标环境地理图相对应的地理空间坐标图来,然后将目标区域划分为若干采集点。采集点的密集程度及数量可根据环境而定,一般情况下,采集点越密集,定位结果越精准。对每个采集点多次扫描每个AP的信号强度值,扫描结果进行“平滑”处理,去除一些跳变较大的值,其余值求平均,形成RSSI位置指纹库。本文采用高斯滤波方法对信号进行“平滑”处理,之所以采取高斯滤波方法,是由于RSSI值的分布与正态分布曲线相似。依据工程中的经验,我们选择概率大于0.6的范围[8]。经过高斯滤波处理之后的RSSI取值范围为[μ+0.15σ,μ+3.09σ]。其中:

根据文献[9]可知,AP接入点个数为4个时室内环境位置指纹可满足定位精度的要求,因此将RSSI位置指纹库的数据表设计[10]为<ID、X、Y、MAC1、RSSI1、MAC2、RSSI2、MAC3、RSSI3、MAC4、RSSI4>形式,其中ID为各个采集点编号,X、Y为采集点的横纵坐标,MAC1、MAC2、MAC3、MAC4分别为4个AP接入点的物理地址,RSSI1、RSSI2、RSSI3、RSSI4分别为对应的信号强度平均值,也是用于定位的指纹特征。考虑到校园楼宇AP的布设情况,大多数楼宇都能满足一个楼层4个接入点或者更多的要求,这里不再另外布置AP,而是选择平均信号强度值最大的4个现有AP进行建库。测量无线信号的设备使用华硕笔记本A45V,测试软件是专门写的一个采集无线信号的小程序。

在线定位阶段,通过客户端扫描当前位置的实时信号强度值。为了提高数据准确性,将扫描次数定为5次,然后取平均值作为该AP的实时信号强度值。将处理好的实时RSSI值发送至定位服务器,由定位服务器调用最近邻算法与位置指纹库进行匹配,找出与当前位置距离最近的采集点,从而估算出终端所在位置。

4 校园LBS系统功能模块实现

4.1地图服务与校内地点查询

地图服务模块采用ArcGIS for Android开发包提供的地图核心控件MapView来实现对地图的加载、浏览、缩放、平移等操作。ArcGIS for Android中将Map-View作为地图容器,用来呈现地图服务的数据。要显示地图图层必须将其添加到MapView地图容器中。首先定义MapView对象,然后将校园地图动态图层加载到MapView对象上,通过发布地图服务的URL地址对应到地图服务的REST接口上,实现地图服务的操作。以下是获得地图服务的关键代码。

除实现地图服务的操作之外,界面中还定义了一个EditText和一个Button。在EditText中输入地点,点击Button完成数据解析,获得对应地点ID,并找到位置点,实现校内地点查询。图2为查找“研究生部”位置的效果图。

图2 校内地点查询

4.2 GPS定位

Android平台中,GPS定位功能被封装在一个LocationManager对象中。要使用GPS定位服务,首先应当定义LocationManager对象loc,开启定位服务。服务开启之后通过requestLocationUpdates方法注册定位服务监听器LocationListener,当前定位状态或位置发生变化时会向监听器发出通知。自定义功能在监听器函数内实现。以下是在Android平台上调用GPS定位的关键代码。

GPS定位效果图如图3所示,点击“获取当前位置”按钮开始定位,以红色图标告知用户定位点,以Toast方法给出当前位置经纬度。

图3 GPS定位

4.3最短路径查询

ArcGIS for Android执行路径分析可以通过RoutingTask类的solve方法来进行,首先将对应到网络分析服务的REST接口上的URL地址传递给RoutingTask对象,然后调用RoutingTask类的solve方法,并给它传递RoutingParameters类型的参数,就可以进行最短路径的查找。以下是获取网络分析服务,执行最短路径查询的关键代码。

最短路径查询效果如图4所示,默认起点为当前位置,用户也可以自行输入起点、终点位置名称,点击“查找”按钮,完成最短路径查询。

图4 最短路径查询

4.4室内定位与服务

在线定位阶段,客户端需要扫描当前位置的信号强度值。Android平台中,这一功能被封装在一个WifiManager对象中。首先应当定义WifiManager对象wifimanager,通过getSystemService方法开启操作WiFi的权限;权限开启之后,建立接收器broadcastReceiver,并重载WiFi信号的回调函数onReceive () ;然后通过registerReceiver()方法注册接收器broadcastReceiver;最后用startScan()方法启动扫描。当获得扫描结果后,触发回调函数onReceive (),回调函数完成将扫描结果发送至定位服务器,获得定位服务器返回的结果后更新显示界面的功能。以下是Android平台上获取周边AP信号强度的关键代码。

室内定位效果如图5所示,进行定位之前,用户根据所进入的楼宇选择显示对应的室内地图,点击“获取当前位置”按钮启动扫描,将扫描结果提交给定位服务器,获得定位服务器返回的位置信息以红色图标告知用户定位点。

图5 室内定位

定位服务器估算出终端位置后,根据new Date()方法获得当前时间,查询空闲教室信息表与课程信息表,将查询结果发送至客户端。查询结果如图6所示。

图6 空闲教室与课程信息

5 结语

通过对Android平台上的GPS定位、基于WiFi的室内定位和Mobile GIS等各项技术的研究,设计并实现了一个校园LBS系统。测试结果表明,该系统的各个模块能够基本满足师生对校园LBS服务的基本要求。但还有很多地方有待提高: (1)从整个系统看,客户端与服务器的数据传输依赖无线通信网络,数据量较大,网络不通畅时会出现无法交互的现象。(2)空间数据采集时,缺乏获取精确数据的专业设备,采集的数据会出现小范围误差。(3)扩展功能模块,添加周边娱乐设施查询、好友查询等等,使系统功能更加完善。

参考文献:

[1]杨帆.基于GIS与定位技术的室内外定位系统的设计和实现[D].沈阳:东北大学,2011.

[2]林以明,罗海勇,李锦涛,等.基于动态Radio Map的粒子滤波室内无线定位算法[J].计算机研究与发展,2011,48(1) :139-146.

[3]牟乃夏,刘文宝,王海银,等.ArcGIS10地理信息系统教程-从初学到精通[M].北京:测绘出版社,2012.

[4]孙茜茜,陆南.基于Android与Mobile GIS的新生报到服务系统[J].现代电子技术,2013,36(20) : 79-83.

[5]Kwok-Wai Cheung,Jonathan H M Sau,Murch R D,et al.A New Empirical Model for Indoor Propagation Prediction[J].IEEE Transactions on Vehicular Technology,1988,8(3) :29-37.

[6]王赛伟.基于位置指纹的WLAN室内定位方法研宄[D].哈尔滨:哈尔滨工业大学,2009.

[7]万群,郭贤生,陈章鑫.室内定位理论、方法和应用[M].北京:电子工业出版社,2012.

[8]罗军舟,吴文甲,杨明.移动互联网终端、网络与服务[J].计算机学报,2011,34(11) : 2029-2051.

[9]李同松.基于ZigBee技术的室内定位系统研究与实现[D].大连:大连理工大学,2008.

[10]杨鹏.基于Android的校园位置服务系统研究与实现[D].大连:大连理工大学,2013.

于 睿(1990-),女,汉族,江苏扬州人,江苏科技大学电子信息学院在读硕士,硕士研究生。研究方向为智能信息处理系统,537719732@ qq.com;

陆 南(1971-),女,汉族,现在江苏科技大学电子信息学院电子工程系基础教研室任教,副教授/硕士。研究方向为现代通信系统与通信技术;

张好好(1986-),女,硕士研究生,研究方向为信息隐藏;

朱静娴(1990-),女,硕士研究生,研究方向为现代通信系统与通信技术。

Research and Design on the Vehicle ESP System Based on XC2365 and Fuzzy Control

WANG Aijun*,SUN Ming
(Xinxiang Vocational and Technical College,Xinxiang He’nan 453000,China)

Abstract:In order to accurately make the vehicle running stability,an Electronic Stability Program system based on Fuzzy control and XC2365 was designed.The sensors was used to collecte the vehicle running data and transmit the data to MCU by CAN bus.Fuzzy conrol was adopted to design the system.The test results show that the ESP system can be used widely in the future.

Key words:ESP; MCU; MATLAB; fuzzy control

doi:EEACC: 722010.3969/j.issn.1005-9490.2015.02.047

收稿日期:2014-06-03修改日期: 2014-06-23

中图分类号:TN964

文献标识码:A

文章编号:1005-9490(2015) 02-0463-06

猜你喜欢

位置服务
互联互通 畅享未来 第12届卫星导航与位置服务运营商大会在深圳举行
第六届中国卫星导航与位置服务年会暨首届卫星应用国际博览会
中位协二十周年庆典暨第四届中国卫星导航与位置服务年会将在北京举行
位置服务中服务点空间可达性评估模型分析