文章目录
说一说室内定位中的一些黑幕
前言
首先自我介绍下,本人接触室内定位这个行业三年多,主要从事定位算法的研究。
虽然我入行时间不长,但是还是接触过不少的定位算法,其中主要包括蓝牙、WI-FI、地磁、惯性、灯光定位算法,据我所知这几种方式基本覆盖了市面上90%的室内定位公司。
黑幕其实也说不上,主要是说说我这几年踩到的一些有意思的坑,顺便对有志入行的朋友提个醒,不要去尝试一些看似有可能但是实际上是死路一条的方法。
如果我下面的任何观点有误,欢迎指正。
行业情况
这个行业可谓是鱼龙混杂,有非常有技术实力的公司,也有纯属圈钱的公司。公司规模一般不大,所以还没有哪一家能够一统天下的。
这个行业本身利润还是挺高的,毕竟主要靠算法。这几年也正好赶上国家政策,一是智慧停车,二是智慧医院,前者一般对应大型商场的地下停车场,商场和医院一样是不差钱的主。这样一来也就吸引了大量的室内定位公司如雨后春笋一般“崛起”。当然,并不是你的技术实力强就能拿到大订单的,这点想必各位都心知肚明,技术、营销、人脉缺一不可。
室内定位算法
定位算法真的是五花八门,我就主要从我熟悉的几种算法来一一介绍。
惯性导航(PDR)
惯性导航主要是通过用户的运动数据(一般包括行走步数、行走步长和行走方向)来推算出用户当前到达的位置,以达到定位的效果。
起点未知
想要对用户进行定位,首先必须要先知道用户在哪。不管你是用GPS、蓝牙还是其他任何定位手段都好,首先要知道用户在哪儿,然后才能利用惯性导航算法来一步步推算出用户下一步的运动位置。
这点就证明了,这个算法是没法单独使用的。
误差累积
惯性导航是有误差累积的,而且是越积越多。
计步器的误差我们暂且忽略不计,但是运动步长的误差就很难忽视了,假设一开始每一步只是偏差3-5厘米,到了一百步以后就是3-5米了,走的越远误差越大。
另一个重要的影响因素便是方向了,即使方向偏差仅仅只有 10 ° 10\degree 10°,一百米以后也就相当可观了。根据我个人的经验来说,手机的方向偏差在 10 ° 10\degree 10°到 30 ° 30\degree 30°都是非常正常的,可想而知最终的定位误差。
但是咱们反过来想,如果只要求在10米范围内的定位,上面的这些问题就不是什么问题了。所以说,小范围内,用惯性导航的效果还是挺好的。
评价
惯性导航只适用于辅助定位,而且是小范围的。
蓝牙、WI-FI
由于我本人只研究过蓝牙的定位算法,而蓝牙、WI-FI据我了解两种算法原理是比较接近的,所以我这里只提下蓝牙的定位算法。
蓝牙或者说类似蓝牙的定位方式用的算法一般有两大类:三点定位法、指纹法。
三点定位法
三点定位法的原理由下面这一张图就可以说明白。
只要知道A、B、C三个点的坐标和三点分别到图中O点的距离,就可以通过下面的数学公式将O的坐标给计算出来。
{ ( x O − x A ) 2 + ( y O − y A ) 2 = O A 2 ( x O − x B ) 2 + ( y O − y B ) 2 = O B 2 ( x O − x C ) 2 + ( y O − y C ) 2 = O C 2 \begin{cas