android 定位自己的位置_基于Wi-Fi的室内定位系统

本文介绍了Android平台上的室内定位系统,利用WiFi指纹技术和行人航位推算(PDR)相结合,提高定位精度。系统包括数据采集、定位、轨迹跟踪和最短路径查找四大模块。K近邻算法用于WiFi信号分类,PDR技术通过移动设备传感器估计位置,实现实时动态定位和轨迹记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

09958f638b355efa9ae6d6648fb2ecdf.png
项目地址​github.com

一、概要

室内定位技术是一种在室内无法使用精确的GPS服务所衍生出来的技术。由于传统的卫星信号到达地面时,信号强度变弱,加上建筑物、室内复杂环境的影响,诸如GPS或者北斗等定位系统不能提供精确的位置服务。然而,人们对于室内定位的需求却日益增加,所以室内定位系统的研究是解决移动服务最后一米的机会。常见的无线定位技术有:WiFi、蓝牙、红外线、超宽带、RFID、ZigBee和超声波等。行人航位推算是通过测量目标的运动方向和运动速度来对目标当前位置进行估计的一种方法。这种方法来源于航海过程中,船员要知道自己目前所在的位置,船员通过起始点进行推算,使用罗盘等工具记录运动的方向和运动的速度,同时也通过标志建筑的纠正,来确定自己的当前位置。本系统就是采用基于Android平台的WiFi指纹技术和行人航位推算技术(PDR)设计实现的。通过WiFi室内定位系统获得目标的起始位置,之后通过PDR技术估算出现有位置,通过这种方式,得到更加精确的位置,弥补传统定位系统的不足。

二、K近邻算法介绍

K近邻算法是一种分类算法,它首先获得一个样本训练集,样本训练集中的每一组数据都有自己的标签,通过当前点的特征与样本训练集中数据对应特征进行比较,得到最相似的数据标签,最相似数据一般选用前K个,这就是K近邻算法中K的来源,最后选择相似数据中标签概率最大的,作为新数据的标签。其中衡量相似的标准常用的有:曼哈顿距离、欧氏距离等。

8d6e29817c0f9265140909057251675b.png

b8203483192b6ca1468c2a3f69ba26cf.png

公式中i表示标签,n表示AP的个数

三、行人航位推算法介绍

行人航位推算是通过测量目标的运动方向和运动速度来对目标当前位置进行估计的一种方法。这种方法来源于航海过程中,船员要知道自己目前所在的位置,船员通过起始点进行推算,使用罗盘等工具记录运动的方向和运动的速度,同时也通过标志建筑的纠正,来确定自己的当前位置。行人航位推算是通过测量目标的运动方向和运动速度来对目标当前位置进行估计的一种方法。这种方法来源于航海过程中,船员要知道自己目前所在的位置,船员通过起始点进行推算,使用罗盘等工具记录运动的方向和运动的速度,同时也通过标志建筑的纠正,来确定自己的当前位置。这种方法被推广使用在了室内定位领域中,有着很好的效果。这种方法被推广使用在了室内定位领域中,有着很好的效果。

a3774592602fe20b81a9ba4add4b268f.png

四、总体设计方案

根据系统需求分析,我们可以将本系统分为四个功能模块,它们分别为数据采集模块、定位模块、轨迹跟踪、查找最短路径模块,相应的层次方框图如图所示:

4c022aac0befbf4c6c433a4a62fa852b.png

五、软件使用说明

基于Android的室内定位系统是基于移动端的应用,下面将按照功能模块的划分对使用流程进行说明,具体分为一下模块:数据采集模块、定位模块、轨迹跟踪、查找最短路径模块。

(1)数据采集模块

在使用本模块时首先进入主页面,之后点击信息采集按钮,在信息采集页面填写采集当前采集信号的位置信息,最后点击采集按钮完成WiFi信息采集。在该界面中我们将看到每个参考AP点的信号强度,方便用户感知WiFi信号强度的变化。

f72cd719da712b5d247e5f0f2cd16ac3.png

393ff16dc2be8d83dccae5d400dccd02.png

(2)定位模块

在使用本模块时首先进入主页面,点击定位按钮,在定位页面中,我们将看到自定义地图,之后点击定位按钮,当前的位置信息将显示在界面上。

b4221bec2c40b8b229f089e4d2966416.png

7541a1b8f7c7521f43fb8165471213df.png

(3)轨迹跟踪

本模块和定位模块一起集成在定位页面中。

(4)查找最短路径模块

在使用模块中首先进入主页面,点击路径规划按钮,在路径规划页面(图5.4)中,我们首先点击定位按钮,获得当前位置,之后输入想要到达的位置,点击导航按钮,完成查找路径功能。

六、功能测试

本系统测试和使用时不需要知道每个AP点摆放的位置,对室内环境也没有特别要求。在数据采集模块进行前我们首先对室内地图进行绘制如图所示,之后在每个点进行WiFi信号强的的采集,将采集的结果存入数据库中,其结果如图所示

863177afe45d40be4f678d13c77e8f95.png

ba338bb1fb38d23473a0b80b34c63bb3.png

在定位模块中用户点击定位按钮之后,系统将采集当前位置的WiFi信号强度,将信号强度信息传送至服务器,服务器使用定位算法得到位置,将位置信息传送至Android客户端,并在自定义地图上进行显示,其测试结果如图所示。

在轨迹跟踪模块中,系统首先完成定位功能,之后将调用Android的方向传感器和加速度传感器,获得运动步数以及运动方向,通过轨迹跟踪算法获得轨迹信息,其测试结果如图所示,图中蓝点的位置为用户走过的位置,通过这样的方式我们可以获得实时的动态位置和运动轨迹。

2e22ba88f59c49bca3f7c6bf7e42e976.png

903ded0d34ad1ed40274ae0def81a9eb.png

在查找最短路径模块中,系统首先完成定位功能,之后用户在界面上输入想要到达的位置信息,系统将位置信息传送至服务器,服务器通过路径规划算法,获得路径信息,并将路径信息传送至Android客户端,客户端将其绘制在爱定义地图上,其测试结果如图所示。

d37bf9b8662e48756b7fb4ffcdbf45ee.png

25ccd4471bc8d2654b71f22f99671d8b.png
随着人们对基于位置的服务(Location Based Service,LBS)需求日益增大,以及无线通信技术的快速发展,无线定位技术成为了一个研究热点。人们在室外广泛使用目前较成熟的GPS,A-GPS等定位系统进行定位,但是在复杂的室内环境中,这些技术的定位精度不高,不能满足室内定位的需求。WIFI网络具有通信快速、部署方便的特点,它在室内场所广受欢迎.Android系统从几年前发布以来在智能手机操作系统市场占有率不断升高,成为目前使用最为广泛的智能手机操作系统,同时Android移动终端自身具备WIFI无线连接功能。指纹定位算法以其独特的优势减小了对室内难以精确定义的信号传播模型的依赖性,成为定位技术中的一个研究热点。基于此,本课题重点研究并改进指纹定位算法,设计实现基于AndroidWIFI室内定位系统。 首先,通过阅读大量相关的文献资料,对比分析了当前国内外WIFI室内指纹定位技术的研究现状对其中涉及到的相关技术的原理和特点进行介绍分析,包括WIF1无线通信技术,室内无线定位技术以及位置指纹定位技术,并根据室内WIFI指纹定位技术的特征对定位过程中的影响因素进行分析。 其次,根据前面提到的定位过程中的关键影响因素,介绍了对应的解决方案。分析与研究了几种典型的指纹定位算法,包括最近邻法(NN).K近邻法(KNN)、K加权近邻法(WKNN),并提出算法的改进方案,使用MATLAB软件进行算法的仿真分析,寻求其中的最佳参数值以及定位性能差异。通过分析几种算法的性能仿真结果,拟定了基于最强AP法的改进算法作为定位系统采纳的算法。 然后,通过对基于AndroidWIFI室内定位系统的需求分析,提出了一种基于AndroidWIF1室内定位系统设计方案。接着介绍了定位系统软件开发环境,并设计了定位系统总体架构,以及定位系统的各个功能模块。在各项设计确定以后,采用JAVA语言编程实现定位系统的各项功能。 最后,搭建了WIFI室内定位实验环境,使用完成的室内定位系统结合硬件资源,在实验环境下,进行离线阶段创建数据库以及在线阶段的定位测试,并记录呈现在定位客户端上定位结果,分析对应的定位性能.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值