背景

在超市逛逛的时候,作为一个男生,相信大家都有这样的经历,我是谁,我在哪,我要干啥?在嘈杂的人流中迷失了。。。这时候我们假想这样的一个情景,我们带着airpods,褚在一个大型商场的某圪塔
        me:siri,我在哪?
        siri:  你在***商城
        me:。。。这个我用你告诉?
这时候,如果我们有比较良好的室内定位解决方案,siri可能真的就不会这么智障了。

最近做了一个室内点定位的项目, 在开发的过程中经历了许多踩坑跳坑的过程,在这里把开发过程遇到的一些事情来记录下来。由于在建筑物内,GPS定位无法提供精准的定位服务,所以我们需要重新寻找可以实现室内定位的定位基准。

室内定位方式

indoorLocation(1)--项目介绍

实现的可行性及实现难度

1,基于无线信号发射设备的WIFI,BLE,RFID,UWB。
    -- 这种方式通过外围已知设备的辅助进行定位,根据信号的强度来计算推演位置。
2,基于地磁
     -- 地磁在一定范围内是变化缓慢的,但由于建筑内的影响磁场分布的物体存在,导致在室内的地磁会发生固定的变化。根据磁场的变化来进行位置推测
3,基于惯性导航
    -- 假设某物体以一定变化率的运动方式进行轨迹变化,根据预先确定的位置、估计或已知的速度和时间来估计当前的位置
4,基于图像视觉
    -- 基于图像识别

室内定位主要使用的定位算法

1,邻近探测法
    -- 通过一些有范围限制的物理信号的接收,从而判断移动设备是否出现在某一个发射点附近。(及信号最强)
     -- 基站定位操作简单,精度不高,依赖参考点分布密度

2,质心定位法
    -- 根据移动设备可接收信号范围内所有已知的信标位置,计算其质心坐标作为移动设备的坐标(三点定位)
    -- 基站定位精度不高,依赖参考点分布密度

3,多边定位法
    -- 通过测量待测目标到已知参考点之间的距离,从而确定待测目标的位置。(主要用于超声波)
4,极点法
    -- 测量相对某一已知参考点的距离和角度从而确定待测点的位置激光扫描测量简单,精度高,应用不广(由于需要角度距离等参数,需要的设备要求比较高)
5,指纹定位
    -- 在定位空间中建立指纹数据库,通过将实际信息与数据库中的参数进行对比来实现定位(KNN,余弦相似度)
    -- 前期工作量大,不适用于变化环境中

6,航位推算法
    -- 根据预先确定的位置、估计或已知的速度和时间来估计当前的位置惯性导航数据稳定,无依赖,误差随时间积累

项目实现

本项目基于布设成本的考量,采用BLE和地磁组合来进行点定位,通过前期的数据采集,建指纹库,之后进行指纹匹配进行定位。
实现方式为两种:(具体实现后述)

1,根据采集的数据(ble-RSSI和地磁)构建深度学习网络,对数据输入量x以及输出量y进行建模,得到一个区域内的模型。

输入: 
    [(rssi1.t1,  magnetic1(x,y,z).t1, location(floor1,location1)),  
    (rssi1.t2,magnetic1(x,y,z).t2, location(floor1,location1)),
    ......
    (rssi1.tn,magnetic1(x,y,z).tn,  location(floor1,location1))]
    ..................
    [(rssin.t1,  magneticn(x,y,z).t1, location(floorn,locationn)), 
    (rssin.t2,magneticn(x,y,z).t2, location(floorn,locationn)), 
    ......
    (rssin.tn,magneticn(x,y,z).tn,  location(floorn,locationn))]

输出:
    对上述数据进行DNN建模,建立关于点RSSI和location的模型
    model for(rssi1--location)

2,根据采集的数据,对数据进行滤波,滤波结束后得到某点的模型值,对测量点进行余弦相似度计算,来确定点位置。

输入:
    [(rssi1,t1, magnetic1(x,y,z).t1,location(floor1,location1)), 
    (rssi1,t2, magnetic1(x,y,z).t2,location(floor1,location2)), 
    ......
    (rssi1.tn,magnetic1(x,y,z).tn,  location(floor1,location1))]
输出:
    对上述数据,进行滤波,可以得到某位置出现的rssi及地磁数据的分布函数。并滤波之后存放在数据库中,定位的时候使用余弦相似度计算,当某值在某一定阈值内表示在该点。

实验数据分析

本处使用地磁数据进行体现:(6个不同点的地磁数据采集XYZ分量)

indoorLocation(1)--项目介绍

由上图可知,在单个点中,地磁的数据是基本稳定在一定的区域内。接下来我们看在连续的区域内地磁的变化:(6次连续位置地磁分量测量)

indoorLocation(1)--项目介绍

indoorLocation(1)--项目介绍

indoorLocation(1)--项目介绍

由上图可以得到,在室内连续的区域内,点之间的地磁变化基本是固定的。再由于固定点的地磁数据是稳定的,那么我们就可以结合RSSI进行指纹定位,或者余弦相似定位。由于RSSI和地磁单一的采集量在定位的时候是无助的,不准确的,采用RSSI和地磁的结合指纹将有效提高精确度。
要实现上述问题,需要一些数据处理,在后文中进行描述。

 

欢迎大家批评!!!

相关文章: