室内定位技术原理揭秘
地图软件已经成为我们日常出行必不可少的工具之一,在导航和搜索上带来了很多便捷的帮助。而定位技术在地图软件里的应用可谓无法替代,尤其是在小范围的室内定位环境下,如何帮助用户高精度搜索导航,是百度地图定位技术的研究重点。
我们一提到定位,大家印象中最熟悉的技术可能就是GPS定位。其实更为准确的说法是GNSS(Global Navigation Satellite System)定位,中文含义就是全球卫星定位系统,而 GPS只是GNSS中的一种实现方法,该系统是由美国部署的。另外,还有其他类型的定位系统,例如,俄罗斯的格洛纳斯(GLONASS),欧洲的伽利略和中国的北斗。大家可能会有疑问,既然这么多国家投入巨资建设全球定位系统,是不是就可以直接覆盖到室内定位呢?
答案是否定的。简单介绍一下原因:卫星定位使用的电磁波,属于L波段,这种信号穿透建筑物或其他阻挡物时,信号强度会被削弱,尤其是在室内环境中,信号在通过屋顶、墙壁、窗户等障碍物时,会由于折射和能量吸收而损耗掉部分能量。最坏的情况下,信号直接被完全阻塞,也就是GPS检测不到任何卫星。在一些半开放区域,有一些能够勉强透射过来的信号,但由于其损耗过大,信号所携带的伪距和载波精度没有参考意义,它们被GPS接收机接收,精度就会极差。因此,GPS很难覆盖到室内区域,要做到室内高精度定位,就必须借助其他”高科技”手段,例如:基于LED定位、基于红外线定位、基于超宽带定位、基于蓝牙/Wi-Fi定位、基于超声波定位等。
几何定位算法
在介绍那些“高科技”的定位设备和手段之前,为了便于大家理解,首先给大家介绍一下相对来说比较“简单”易懂的定位方法-几何求解定位法,目前这种方法已经被广泛用于那些“高科技”定位设备中,所不同的只是他们所依赖的设备和“信号波”不同而已。
几何求解定位法,就是通过空间中各个线段测量,利用空间几何关系及公理,求解定位点在空间中的位置。在具体的定位系统中,我们通过测量设备得到准确的观察量:例如,信号到达时间(TOA)、信号到达时间差(TDOA)、信号到达角度(AOA)、接收信号强度(RSSI)等,然后通过演算得到线段长度或者角度测量,进而利用空间几何知识求解定位。
下面,我们展开介绍这几种定位求解方法。
基于TOA定位方法
TOA也被称为圆周定位技术,实际定位过程中通过设备发射电磁波测量得到当前定位点到三个标定点的时间:t1、t2、t3。根据电磁波的传播速度是光速的知识,很容易得到三边距离r1,r2,r3。利用平面几何的两点距离公式,我们构建方程组,求解出定位位置。
仔细看一下上图,大家都会发现,定位过程中需要对两个时间点进行测量,就是开始时间t0和到达时间t1,t2,t3,这四个时间变量直接影响测量距离。由此可见,TOA算法对系统的时间同步要求很高,因为即使有很小的时间误差,但是乘以光速,误差就会被放大很多倍。因此,如何保持各设备间的时钟高精度同步问题,是很多专业定位设备包括GPS系统中需要解决的重要问题。
基于TDOA定位方法
TDOA也被称为双曲线定位技术,其所依赖的几何知识是,如果测定待定位点到周围两个标定点的传播距离差,则待定位点肯定在以这两个标定点为焦点,点到两个焦点的距离差值为传播距离差的双曲线上。
如上图,ri1为距离差值,通过对其计算公式化简,很容易将公式中t0消除,避免了对t0的测量误差引入,这样定位系统只要保证同时发送测量信号,然后精确测量到达时间差即可,减少了时间测量误差影响。TDOA技术常用的算法有Fang算法、Chan算法、Taylor级数展开算法。若大家对这些算法感兴趣,可以通过维基百科进一步了解。
基于AOA定位方法
TOA也被称为方位角定位技术。根据平面几何知识,两条射线平行或相交于一点,通过设备测量待定位点到两个标定点间的入射角,很容易确定待定位点的位置。
如上图,通过变化公式,很容易消除变量r,直接求解二元一次方程,很容易得到待定位点位置。
相比TOA、TDOA等,AOA机制不需要时间同步,实现同维度的定位任务所需要的参考节点数量最少,例如二维平面定位只需要两个基站。但该方法必须有方向性较强的天线阵列支持。
基于RSSI定位方法
RSSI为信号强度,基于信号强度进行定位。根据物理知识,我们能够知道一些信号在自由空间传播遵循固定的衰减模型,通过该模型我们能够给出信号强度与距离远近的准确关系。如下图。
其中,pd为待定位点接收到的信号强度。p0为距离辐射源d0处的信号强度。n 为信号衰减系数。
如上图,是按照信号衰减模型绘制出来的曲线,我们可以看出随着距离的增加,信号强度逐渐变弱,且这种变化程度逐渐变缓。
定位过程中,通过设备测量三个不同参考点的信号强度,依据模型计算出三个距离值,那么采用和TOA类似的几何求解方法,即可以得到定位点。一般的射频芯片都具有RSSI测量功能,故RSSI机制实施简便,但易受信道和噪声影响,在远距离定位时测量误差较大,多用于小范围定位。
基于专业设备的定位系统
通过上节给大家介绍一些简单易懂的几何定位算法,大家可以隐约体会到,通过那些几何知识,我们可以利用很多物理信号来实现高精度定位。事实上,无论是研究机构,还是工业界,都已经对很多信号、设备做过研究实验。接下来,我给大家做一个汇总,按照信号的物理属性,可以大致分为两类:电磁波、超声波。
电磁波,概念非常宽泛,包含很多种类,按照频率从低到高的顺序排列为:无线电波->红外线(不可见)->可见光(赤橙黄绿青蓝紫)->紫外线(不可见),其频率范围大致在3Hz到3000GHz之间。常见的定位方法有:超宽带定位、Wi-Fi定位、蓝牙定位、ZigBee定位,红外线定位,LED定位等。
超声波是一种机械波,区别与电磁波,它依赖于物体机械振动进行能量传输的,其振动频率大于20000Hz,超出了人耳听觉的上限故被称为超声波,遵循反射、折射、衍射、散射等传播规律,与可见声波的规律没有本质上的区别。常见定位方法有:超声波定位。
下面从精确度、成本、是否需要专业设备、技术优势和技术缺陷等,穿透性,抗干扰性,布局复杂程度,成本5个方面全方位来比较一下这几种室内定位手段。
方法 | 精度 | 成本 | 设备依赖 | 技术优势 | 技术缺陷 |
超宽带 | 6~10CM | 高 | UWB接收器+标签 | 穿透力强、功耗低、抗多径效果好,安全操作性高 | 造价高 |
蓝牙 | 10CM | 中 | 蓝牙设备+手机 | 体积小 | 传输收视距影响、稳定性稍差、受噪声信号干扰大 |
Wi-Fi | 5~20M | 低 | 无线路由器+手机 | 普及度高,精度较低 | 易受干扰 |
Zigbee | 2M | 中 | Zigbee各类节点 | 低功耗、低成本 | 受多径效应、移动等影响显著 |
红外线 | 5~30M | 高 | 红外接+发设备 | 精度一般 | 易受墙体等阻隔,传输距离短 |
LED | 1M内 | 高 | LED灯具等+手机 | 抗干扰性强、成本一般 | 新技术、国外推广阶段 |
超声波 | 10CM | 高 | 测距器+标签 | 功耗小、精度一般、抗干扰性强 | 多径效应、非视距传播影响大 |
下面我们简单对上述表中各种方法进行补充说明和介绍
超宽带定位,是一种基于极窄脉冲无载波的无线技术,传输速率高,发射功率较低,穿透能力较强,用来做室内定位能够获取极为准确的结果。利用超宽带定位需要事先布置好的已知位置的锚节点和桥节点。定位过程中,已有节点与新加入的盲节点进行通讯,利用TDOA技术来测距定位。该方案总体上看,功耗较高,部署成本比较高,精度较高。
蓝牙定位,无线电波的一种,定位系统需要在室内安装的若干个蓝牙设备。定位时,通过手机等设备测量当前位置点扫描到各个蓝牙的信号强度,由信号衰减模型换算成距离,然后利用三边测量等方法推算定位坐标。总体来看,该方案实施成本中等偏高,低功耗,对复杂空间环境,稳定性稍差,受噪声信号干扰大。
Wi-Fi定位,无线电波的一种,此类定位系统也需要在室内安装的若干个wifi设备。定位时,利用手机等设备对至少3个以上的无线网络接入点的信号强度测量,通过三角定位、指纹等方法进行位置定位。Wi-Fi定位可以在广泛的应用领域内实现复杂的大范围定位、检测和追踪任务,总精度比较高,但用于室内定位的精度只能达到2~6米。
Zigbee,无线电波的一种,是一种新兴的高可靠、短距离、低速率无线网络技术,类似于CDMA和GSM网络,数据以接力的方式通过一个节点传到另一个节点。此类定位系统主要包括两类节点,一类是锚节点,一般通过GPS定位或者人工部署的方式知道自身的精确位置。另一类是跟踪节点,跟踪节点通过准确测量其到数个锚节点的距离或方位,然后使用三边测量等方法来计算节点位置。该类信号传输受多径效应和移动的影响很大,定位精度取决于信道物理品质、信号源密度、环境和算法的准确性,因此造成定位软件的成本较高,提高空间还很大。
红外线,一种不可见光。利用其进行室内定位有两种,第一种是被定位目标使用红外线IR标识作为移动点,发射调制的红外射线,通过安装在室内的光学传感器接收进行定位;第二种是通过多对发射器和接收器交织的红外线网来覆盖待测空间,直接对运动目标进行定位。红外线的技术已经非常成熟,用于室内定位精度相对较高,但是红外线只能视距传播,穿透性极差,当标识被遮挡时就无法正常工作,也极易受灯光、烟雾等环境因素影响。另该类系统部署比较复杂,成本较高。
Li-Fi属于可见光通讯,将需要传输的信息编译成一段调制信号,用脉宽调制的方法附加到LED灯具的驱动电流上,利用室内无处不在的光源作为发射再提,当用户进入灯具照明区域,利用智能手机的前置摄像头接收并识别光信号,解析出灯具发送的唯一身份识别信息。利用所获取的身份识别信息在地图数据库中确定对应的位置信息,完成定位。
超声波定位,一种基于机械波的定位方法,定位系统中包含主测距器、若干个电子标签等。各个电子标签需要固定设置在室内空间,定位时,上位机发送相同频率的信号给各个电子标签,待电子标签接收到后将信号反射传输给主测距器,主测距器根据几何关系计算得到定位坐标。该方法可以实现厘米级别定位,结构相对简单。另外,超声波会收到传播损耗衰减影响、加上反射测距时受多经效应和非视距传播影响很大,造成需要精确分析计算的底层硬件设施投资,成本非常高。
Wi-Fi的另一用途——室内定位
ok,终于讲到本片文章的核心部分。虽说可以通过那些”高科技”设备做到高精度的定位,要给全国所有商场部署特殊硬件,其成本之大是难以接受的。从定位使用者角度来看,大家不可能随时随地携带那些各种标签、发射器、设备,那么百度是如何切入做室内定位呢?
答案就是Wi-Fi。近年来,中国公众对WiFi网络建设与发展的关注和热情可以用如火如荼来形容,全国大部分商场、公共交通枢纽等场所都已经密集部署了Wi-Fi设备,有了这些Wi-Fi设备,我们就可以构建室内高精度定位。
那么基于商场中已经部署好的Wi-Fi设备,到底如何构建呢?接下来,我们来看看Wi-Fi定位的技术原理。我们将定位过程进行抽象,变成一个数学问题,即位置函数求解: (x,y) = F(ap1,ap2,ap3….apN)。函数F的输入数据是一系列的扫描到的Wi-Fi的信号强度,输出是定位坐标。我们知道如果存在函数F能够满足以上关系,也就是说输入和输出之间就满足一定函数关系,也可以视之为相关性。虽然我们不能够马上得到函数F,但可以通过感性分析和理解,信号与位置之间有没有相关性?我们看以下分析:
- 离无线设备越远,信号越弱。
- 不同位置扫描到不同的Wi-Fi、蓝牙等信号。
- 设备固定、各处信号强度相对稳定。
通过以上三个因素,可以看出信号与位置之间确实存在较强相关性,利用这种相关性,可以构建出一套由无线电信号到XY映射的技术。
结合前半部分讲的几何求解法,我们很容易能够想到,当空间有三个真实的位置AP([x1,y1],[x2,y2],[x3,y3]),通过手机测量Wi-Fi的信号强度,按照信号衰减模型,将信号强度换算成测量距离,利用几何求解法得到定位点。
总体上来看,这种方法的优点是模型简单,容易实现。如果实际系统使用这个简单的定位模型来做定位,会存在很多问题。首先我们需要一一标注所有AP的准确位置,其会带来不小的工作量。其次,该模型对AP信号辐射分布刻画不足,精度不高。
真实的Wi-Fi信号是怎样的呢?Wi-Fi信号作为一种电磁波,在空间中传播也会有散射、衰减、损耗、折射等现象。下图来自于某篇论文仿真图片。左图是完全按照信号衰减模型绘制的信号在空间中分布情况。右图是通过对现场进行多点多次采样而绘制出来的信号强度真实分布情况。显而易见,此种分布肯定不符合衰减模型。
另外,通过实验,我们也发现:因为手机不同的制造工艺,不同的芯片,不同的机壳材质,会导致无线电信号RSSI感知的差异,呈现出非线性的规律。(如下图)
上图不同颜色代表不同的手机模型,可以看出这些手机在相同时间地点所测量出来的rssi差异还是挺大的。对于手机感知差异问题,一般业界比较推崇的做法是要对rssi进行校正。通过一些参考场景逐步迭代式优化校正参数,直至收敛稳定。
基于Wi-Fi的室内定位算法系列介绍
下来我们着重介绍一些Wi-Fi相对复杂和靠谱的定位方法。之后也会顺便介绍百度目前在用的一种低成本长期有效的定位方法-地磁定位。
真实模型的逼近 - 指纹法
既然我们很难得到每个Wi-Fi在空间中的信号真实分布模型,那么我们可以直接对空间中各个点的进行各种信号的数据采集。用采样数据代表AP复杂模型。
定位过程中,手机发送当前扫描到的Wi-Fi Query指纹,服务器端直接计算库中与之相似的指纹,按照权重进行加权中心点计算,从机器学习角度来看,该方法实质是KNN。
如上图是KNN计算示意图,一般来讲,KNN适用于分类问题,在定位问题上,我们将Top K个指纹直接进行加权计算而不是统计分类。整体上看,该方法实现简单,精度尚可,但是要将所有数据和样本进行比对计算,消耗存储空间,计算量非常大。
局部模型 + 指纹法
在实际采集作业过程中,我们很难将商场所有空间区域都进行密集采集,总会有一些采集不充分,指纹比较稀疏,那么怎么办呢?在此,我们可以借助局部模型来生成虚拟指纹。
指纹生成阶段:针对比较稀疏区域,选择周围范围内一定数量的采集指纹,尽量让指纹覆盖到四周分布。训练该区域中每个AP的辐射模型和被扫描到概率等特征,针对稀疏区域反向推算出每个AP对该空间点的辐射信号强度,最终合并成为虚拟指纹。定位时可以使用采集指纹和虚拟指纹混合的方式提供定位。
该方法主要用来弥补或者增强采集不充分区域的定位效果,训练过程相对复杂,定位精度逼近于指纹法,具备一定的鲁棒性。
位置回归分析法
通过之前分析,某点扫描到AP集合与当前点位置(x,y)形成了一个映射关系,我们求解定位位置,其实就是在做位置的回归分析问题。回归的目标就是得到x和y。相信了解机器学习的同学对接下来做的事情就很熟悉了。首先我们将扫描到AP集合作为特征向量,训练对x,y的回归模型。该模型相当于得到那个非常复杂的信号在实际空间辐射分布模型,所以很难用单一公式表达,但是通过回归分析模型的训练,我们得到其复杂模型。如下示意图,整个模型是由很多复杂树构成。
定位过程中,我们同样将Wi-Fi Query上传到服务器上,服务器将其转化为特征向量,然后由回归模型来进行定位位置预测。整体上来讲,该方法实现比较简单,但模型训练复杂,需要调参,有一定难度,精度可以逼近指纹法。
地磁定位法
地磁信号来源于地球本身,因为地心引力,地磁场本身存在。钢筋结构和地板等物体都会对地磁产生影响。地磁强度由于建筑结构不发生变化,基本上还是比较稳定的。如下图是某个商场内部地磁场强分布示意图。
一般情况下,在一段时间内磁场强度变化本身就是一种指纹。例如我们从走廊东头走到走廊西头的整个过程中,地磁场强变化就很明显,如下图,曲线上下变化本身就是一种指纹。
定位过程中,通过计算定位地磁序列指纹与指纹库中的子序列相似度来得到最佳匹配位置。这是一个模糊子序列查找问题,一般来说,商场地磁指纹数量比较多,导致实时搜索空间巨大,因此会利用空间索引技术+粒子滤波提高匹配性能。总的来说,地磁定位法的特点是实现相对复杂,需要做地磁校正,但是精度效果优秀。
总结
通过上述各章节介绍,相信大家对室内定位已经有了大体了解。室内定位是垂直专业方向,除了需要信号处理相关专业知识,还需要对机器学习有一个很深入的了解。因此,真正要做好,需要很长时间的技术积累和经验总结。