最近老总脑洞很大想要做一个基于任意场所的室内定位的app。之前没有接触过这种东西,我很傻很天真的以为像室外地图一样简单...然后研究了两天,越研究越想哭...由于室内环境比较复杂而且干扰比较多,如果完全按照一般地图那样做,那么误差会很大根本达不到室内定位的需求。
下面给大家简单总结介绍下,给有意做室内定位的朋友一个全览。
先上结论:室内定位技术基本已经成熟而且有很多应用,比如微信的摇一摇就是基于iBeacon做的。但是由于需要架设wifi-ap或者iBeacon硬件成本,以及室内地图的信息人工采集陈本,导致室内地图开发需要一定的成本。
目前较为成熟的室内定位技术主要有以下几种:
- PDR:放在腰上的 加速度+磁力计+陀螺
- FPN:放在脚上的 加速度+陀螺+磁力
- 基于外部临时性基站,如iBeacon。
- 基于WiFi的室内定位技术:通过三点以上AP采集终端的RSSI(Received Signal Strength Indicator)值,并通过前期做的位置指纹(室内打点)判断位置。
前两种方式PDR和FPN不太友好,因为需要外界硬件的支持。所以一般采用WiFi和iBeacon的方式。下面着重介绍下WiFi和iBeacon的方式。
iBeacon方式
- 装置小,价格20-30
- 架设方便,无需电源
- 在移动平台要求的是蓝牙,相对于UWB、RFID更友好,每三十平方米一个节点做到3-5米半径的精度。微信的摇一摇即是使用iBeacon。
WiFi方式
- 大部分是做APP开发的厂商采用的方法,这种方式的好处是,直接从终端拿RSSI,APP自己就搞定了。高德的室内定位用的就是这种实现方式。
- 都需要进行指纹采集,用终端,里面装一采集程序,在室内各个位置走一圈。
- wifi室内定位,对AP的部署密度有要求,最基本的要求是,需要定位的每个点,都需要至少能收到3个AP的信号。如果之前的wifi网络只是为了给用户提供上网服务的话,密度会不够,建议部署密度是180平米一个AP,在这个密度下,定位精度可以做到2~3米,成本不低。
技术原理
Wi-Fi定位(iBeacon)的大概原理主要有2种技术方案。
- 一种是需提前获知其AP的位置,然后通过无线信号衰减的物理理论公式,并加上三角定位算法或其他近距离算法,来计算出终端的位置;但由于无线信号在不同环境的衰减并不相同,使得这一方案获得的精度通常具有较高的误差;
- 现在人们普遍使用的定位技术是指纹原理,大概思想是提前在室内的每个位置采集该点的坐标,以及当前能收到的Wi-Fi信号和强度,形成指纹数据库;在定位时,将终端实时到的信号及强度,与数据库中的指纹数据做匹配,相近者则为其大概位置。开发者只需对信号匹配公式进行数学建模,即可完成该算法的开发。各团队的差异基本来自于匹配算法的不同,以及与其他传感器的结合算法等。