基于IOS的室内导航软件设计与实现毕业论文
2021-05-09 21:33:27
摘 要
从2009年开始,移动互联网逐渐萌芽并开始蓬勃发展,日益影响着我们的生活,越来越多的外卖,O2O,LBS移动互联创业项目变的成熟。在移动互联的今天,我们出门不用到不用担心迷路,吃饭,买东西不用出门,打车不再困难。这都是移动联带给我们的便利之处。不过当人们行走在大型的商场,看着扑朔迷离的路标,往往会晕头转向,找不到北。因为室内没有GPS信号,所以传统的导航软件,不能在室内使用。故本文将基于iOS 9.3 SDK,使用蓝牙做信标,采用位置指纹算法,前期通过收集目标定位区域的信标信号,经过高斯滤波处理后,做为位置指纹存入数据库。在实时定位阶段,通过对实时检测到的蓝牙信号强度做修正与加权小滤波后,得到更准确的蓝牙信号强度值,然后通过信号强度值,与提前收集好的位置指纹数据库中的数据做对比。采用NNSS算法求出欧氏距离最小的几个位置,再经过算数平均。最终得到预测位置坐标信息。最后将坐标信号通过UI展示给用户。高度导航方面,使用气压计根据气压值来计算高度信息,然后通过气压计感知高度变化带来的气压差,通过气压差值得到较为准确的相对高度。结合室内位置指纹定位模型,就可以做到完整的3维坐标。
关键词:室内定位,蓝牙,iOS,位置指纹
Abstract
Since 2010, the mobile Internet to flourish, increasingly affect our lives, more and more takeaway, O2O, LBS mobile Internet venture becomes mature. In the mobile Internet today, we do not have to worry about getting lost do not go out, eat, do not go out to buy things,Take a taxi is no longer difficult. This is a mobile-linked brings us convenient place. But when people walk in large shopping malls, watching confusing road signs, often confused and disoriented, can not find the direction. Because there is no GPS signal indoors, so the traditional navigation software can not be used indoors. Therefore, this paper will be based on iOS 9.3 SDK, use Bluetooth be beacon, adopt the position of the fingerprint algorithm, we need collected by the beacon signal targeting the region before, after the Gaussian filter processing, stored the location of the fingerprint in the database. In real-time positioning stage, Through real-time detection to the Bluetooth signal strength to make modifications and weighting filter. accurate the Bluetooth signal strength value. then the signal strength value, the location in advance and collect data in the fingerprint database to do comparison. Use NNSS algorithm determined by the minimum Euclidean distance of several locations, and then through the arithmetic average, can obtained predicted position coordinate information. Finally, the coordinates of the signal presented to the user through the UI. About height navigation, the use of the barometer for air pressure value to calculate the height information, and then through the perception barometer height changes brought about by the pressure difference, Get more accurate relative height by pressure difference. Indoor location positioning model combining fingerprint, you can do a complete three-dimensional coordinates.
Keywords:Indoor location, BLE, iOS, location fingerprin
目录
第1章 绪 论 1
1 研究背景与现实意义 1
1.1 LBS的概念及特点 1
1.2 卫星定位及常用的移动端定位方法 2
1.3 室内定位相关研究现状 3
1.4 本文研究方向 4
第2章 室内定位技术基础理论 5
2.1室内定位主要技术 5
2.2基于蓝牙的定位系统 7
2.2.1 蓝牙技术简介 7
2.2.2 蓝牙低能耗技术 7
2.2.3 蓝牙定位 7
2.3楼层高度的获取 7
2.4相关定位算法理论 8
2.4.1最邻近法 8
2.4.2 朴素贝叶斯 9
第3章 室内定位系统构架设计 11
3.1 体系结构特点 11
3.1.1 定位系统总体构架 11
3.1.2 系统交互分析 11
3.2 RSSI 信号优化处理 12
3.2.2实时 RSSI 信号的优化 13
3.3室内定位算法 15
第4章iOS 平台定位软件实现 16
4.1 iOS开发环境 16
4.1.1iOS 操作系统 16
4.1.2 iOS 设计模式 17
4.1.3开发工具 18
4.1 iOS 客户端设计 18
4.2.1信号采集模块 18
4.2.2 定位计算 19
4.2.3位置显示模块 20
第5章 测试与分析 21
5.1 信号采样 21
5.2 RSSI 采集信号处理 22
5.3定位算法测试 22
第6章 总结 24
致谢 25
绪 论
研究背景与现实意义
LBS的概念及特点
基于位置的服务,又可称为LBS(Location-based-services),是通过各种定位方法获得用户当前所在的位置,从而根据位置信息提供大量的位置服务,如泊车、吃饭、健身等生活服务。
LBS定位的方式有很多种,可以通过手机运营商基站定位,WCDMA,WDMA,GSM网络。然后通过地理信息系统,获取位置和周边的LBS服务,如在上海市内,用户随机出现在市区内某个位置,通过LBS服务用户定位所在位置3000m范围内的商场、餐饮、体育场、医院、超市等名字和地址。
在移动互联网时代,基于位置的服务慢慢的被人们熟知的。在当前移动互联网的大背景下,依靠计算机程序,LBS被当作位置计算的总称,它能够广泛的提供信息服务,并且此服务广泛存在于社会服务娱乐。随着移动设备的普及,移动定位的需求也会越来越大,LBS将会成为移动互联的重要里程碑。
早在上世纪90年代,学者们就开始研究LBS服务,其中包括约翰逊主持的爱立信欧洲 GSM LBS 服务系统,还有90年洛杉矶的I n t e r net Teletrac Systems,可以动态实时的找回被偷车辆的服务 [1]。此后,摩托罗拉也开始制作基于编程的寻呼机,它能够定位有关位置的商品和提供相应的服务信息。到了1996年,美国FCC要求运营商必需做可以定位到紧急呼叫的确定位置或者定位方向。
Palm公司的PalmVII是全世界第一个集成LBS移动设备,它诞生在1999年。它可以基于基站编码定位,从而为消费者提供位置服务,根据位置提供天气[2]。
在其他基于位置服务出现前期,最先由01年05月瑞士的电信公司推出friendzone,它使用了VALOS有限公司提供的专利。它具有找到新的朋友,和附近的人一起玩游戏,交友等功能。之后,沃达丰公司(德国),Orange公司(葡萄牙)和以色列的Pelephone公司三家公司也同时提出了类似的服务[3]。
2002 年 5 月, ATamp;T和 GO2 移动公司一同发布了第一款使用A u t o m a t i c Locdation Identification (A L I)技术的 LBS 应用,功能根据当前的位置来提供服务(商场,餐馆等)列表。对于 LBS作用来说,最大的好处是当用户处于不在本地的状态到时,不用手动去设定邮编或者其他的位置相关标示符。
卫星定位及常用的移动端定位方法
目前应用最广泛的定位系统,应当属于美国的GPS卫星定位系统。比如我们日常出的地图导航、公交到站提醒、微信的位置共享、附近的人等功能都离不开GPS定位。那么我们的手机是如何通过GPS卫星定位的呢。GPS共有24卫星,21颗正常工作,3颗卫星备用。21颗卫星运行于平面轨道上,保证任意地点都能观测到至少4颗卫星。GPS卫星不断的向地面广播自己的位置信息,任何GPS接收设备都可以随意的接收这些信息。通过时间戳来计算卫星与接收设备之间的距离,那么可以已知4个卫星的位置和距离设备的距离,通过坐标转换就可以计算出GPS接收设备的位置L。根据空间几何的知识,我们知道,空间定位通过3点就可以确定一个位置,对于GPS定位,甚至可以通过2点确定(逻辑上排除地球外的一点)。需要4个卫星信息是因为GPS卫星上用的是铯原子钟计时,而GPS接收设备的时间精度(因为成本问题)无法与卫星高度同步,所以多于的参数可以用于算法上的修正。上述定位方式属于单点定位,会受天气等因素的影响较大。实际中多用的是差分定位。差分定位的方式是,在定位点附近建立已经位置的GPS接收信标,通过已知位置计算与卫星的准确位置,然后再通过卫星的广播信号来计算位置。最终将受天气气压等因素影响的修正数广播。GPS定位设备再根据修正数来修正计算出来的定位结果。早期一次完整的GPS定位需要花费大量的时间,而现在iPhone GPS定位只需要几十毫秒就能完成。苹果对GPS定位做了大量优化,通过稳定设备收集AP信息,同时将AP所在的定位坐标即,经纬度坐标到自己的数据库,用户在定位时,苹果会首先通过周围的AP来在数据库中查找经纬度信息然后再计算出该处理的卫星信息有哪些。这样就会大大的加快了定位速度。如果定位设备附近没有AP那么苹果同样会扫描基站信息。这就是不具备通话功能和GPS模块的iPod Touch可以通过WLAN来定位的原因。
传统的移动端定位包括控制平面定位(Control plane locating)、自我报告定位(Self-reported positioning)、GSM 定位(GSM localization)三大方法。控制平面定位(Control plane locating) 一个完善的LBS服务,有一下几个关键的要素:
(1)尽可能低得成本
(2)坐标精确由服务决定
(3)对网络和设备的影响小
以下方法可以用来完成定位服务。最简单而标准的解决方案就是基于GPS 的 LBS。比如索尼爱立信的”NearMe”。索爱以前坚持用自已专利技术来做高精确定位,然而这样肯定会大大的增加终端用户的使用成本,所以,最后索爱不得不放弃自己的计划,从而投资配备GPS的手机。
自我报告定位(Self-reported positioning)是靠用户自己报告位置信息。Uncle Roy All Around U,早2003年发行的虚拟现实游戏中应用了该技术。[4]不使用跟踪技术,但可以通过给定用户移动,并且可以随时报告其位置的地图,让用户标注自己的位置。
室内定位相关研究现状
由于定位系统卫星发射的微波信号过于微弱,并且频率很高,即要沿着直线传播,且难以穿过墙壁,所以在封闭的室内就很难信号了[5]。所以室内无法通过GPS,北斗等定位卫星定位。
室内定位技术前景毋庸置疑,必然是会变的越来越重要,在该行业的创新技术也将会如雨后春笋般的出现,商业化也必将带来一波高潮。我们大多时间还是位于室内,可想而知,室内的服务技术前景绝不会低于GPS。我们可以想象,在商场里可以迅速的找到自己的位置,在家里再也不用担心东西放哪找不到了。不用担心小孩靠近危险的地方,如阳台,厨房等可能存在危险的地方。