本文相当于对有价值的知乎回答进行汇总
一、室内导航的简单实现
1,首先要有室内地图
2,其次要有定位到室内的能力,目前室内定位使用较多的是蓝牙iBeacon,WiFi,UWB等技术
先说蓝牙iBeacon定位,通过在室内铺设蓝牙网关,当终端设备接收到网关的蓝牙信号时,通过定位算法就可计算出终端设备在室内的位置。借助于室内地图引擎,就可以导航到室内的其它地方~
二、Wi-Fi指纹定位
室内定位中的位置指纹法,简单来说,就是事先把各个位置上的信号特征(各Wi-Fi的信号强度)测量一遍,存入指纹数据库。定位的时候,将当前的信号特征与指纹库中的进行匹配,从而确定位置。下图(AP就是WiFi,RP是离线采集选取的参考点):
离线阶段:记录下每个RP处测到的信号强度,每组数据(指纹)包含4个信号强度和对应的位置。
在线阶段:使用当前的扫描到的4个信号强度,与数据库中的指纹进行匹配。
最常见的算法为kNN,也可以使用概率方法进行计算,实验定位精度大概3米左右(与WiFi热点个数有关),实际应用的话由于各种因素(人对信号的遮挡、环境的变化、指纹数据库的老化等)会使得精度有所降低。
祭出一篇经典论文,2000年Microsoft Research:IEEE Xplore Abstract。论文链接