微软室内定位大赛是国际盛名的室内定位大赛(MS Indoor LOC Competition),从2014年开始举办,每年都能吸引大量的公司和高校团队参加。各个团队在同一块场地,利用各自不同的看家本领,来达到他们力所能及的最高定位精度。

2016年的室内定位大赛在奥地利的维也纳举办,在为期2天的赛程中,30多只参赛队的近100多人拥挤一个500平米大小的19世纪维也纳宫殿中,要在其中完成定位采集、上传、测试及最终的评测,对所有的参赛团队来说,都是一个有趣的挑战。经常地,你需要跨过别人的基站、绕开地上的电线,还要从人群中小心闪避那穿行于其中的近百万的激光雷达。
这次的比赛主办方将所有的参赛组分成了3D组和2D组,对于2组的定义,官方给出的标准是:3D组允许在场地中部署额外的辅助定位硬件,并且允许使用特质的设备作为被定位的终端,上报坐标时需要x、y、z三轴坐标;2D组不允许部署任何额外硬件,仅利用场地现有设施来进行定位,且必须使用智能手机、平板电脑或笔记本电脑作为被定位终端;在定位过程中,仅需x和y即可。
总的来说,3D组的技术基本上由激光、UWB、超声波构成;而2D组则基本上由惯性导航、Wi-Fi结合各种传感器为主。
对于3D组中的几乎所有定位技术,基本都是使用TOA/TDOA/AOA三种原理中之一来实现。
下面建向各位解读各类定位技术。
利用RSSI的定位技术(Wi-Fi定位)
主要利用现有场所的Wi-Fi路由器来进行定位,如果没有iOS的强制限制,将会是绝佳的定位信号来源。现代的建筑大都部署了Wi-Fi,用来提供人们联网服务,虽然路由器严格来说也属于额外部署的硬件设施,但由于其上述的性质,使得Wi-Fi本身已经成为了建筑环境的一部分。但由于iOS系统未开放获取无线Wi-Fi信号强度的API,使得Wi-Fi定位技术的应用前景并不乐观。
Wi-Fi定位的大概原理主要有2种技术方案,一种是需提前获知其AP(信号发射端)的位置,然后通过无线信号衰减的物理理论公式,并加上三角定位算法或其他近距离算法,来计算出终端的位置;但由于无线信号在不同环境的衰减并不相同,使得这一方案获得的精度通常具有较高的误差;现在人们普遍使用的定位技术是指纹原理,大概思想是提前在室内的每个位置采集该点的坐标,以及当前能收到的Wi-Fi信号和强度,形成指纹数据库;在定位时,将终端实时到的信号及强度,与数据库中的指纹数据做匹配,相近者则为其大概位置。开发者只需对信号匹配公式进行数学建模,即可完成该算法的开发。各团队的差异基本来自于匹配算法的不同,以及与其他传感器的结合算法等。
主流纯Wi-Fi定位技术的精度一般在3~5米左右。
所有的基于无线信号强度的定位技术中,有2个因素非常关键,一个是信号源部署密度,另外一个就是无线信号的稳定程度。
TOA/TDOA
TOA(Time of Arrival,到达时间)、TDOA(Time Difference of Arrival,到达时间差)都是基于电波传播时间的定位方法。同时也都是三基站定位方法,二者的定位都需要同时有三个位置已知的基站合作才能进行。
TOA原理是用基站传输到用户设备的时间与电磁波速度乘积获得两两之间的距离,然后建立三元一次方程组获得用户设备所在位置。由于距离的计算完全依赖于时间,因此TOA算法对系统的时间同步要求很高,任何很小的时间误差都会被放大很多倍,同时由于多径效应的影响又会带来很大的误差,因而单纯的TOA在实际中应用很少。
TDOA的原理是将基站传输到用户设备的时间做两两求差,再根据一定的数学方法获得用户设备的位置信息。TDOA的求差过程会抵消其中很大一部分的时间误差和多径效应带来的误差,因而可以大大提高定位的精确度。
AOA
AOA(Angle of Arrival,到达角度)定位是一种两基站定位方法,基于信号的入射角度进行定位。AOA定位通过两直线相交确定位置,不可能有多个交点,避免了定位的模糊性。但是为了测量电磁波的入射角度,接收机必须配备方向性强的天线阵列。
激光定位
激光定位是利用激光方向性好,(激光束的发散角很小,几乎是一平行的光线)基本原理就是利用定位光塔,对目标定位空间发射横竖两个方向扫射的激光(用以构建定位坐标系,天地图·福建注),在被定位物体上安置多个激光感应接收器,通过计算两束光线到达定位物体的角度差,然后,激光扫描仪根据自身的位置(一般是用GPS定位或者输入用户自定义的位置坐标),便可以确定物体的位置了。在大赛比较场地里,最吸引人的明星,就是这几台价值昂贵的激光定位装置。其基本上都由一个不停旋转的雷达以及处理终端构成。工程师把这些设备背在身后,激光雷达通常高于人头,并会不停的从360度发射激光。不停在建筑物内行走,就能完成整个场所的3维建模,同时可利用这些数据进行精确的室内定位。通常,这样的设备能达到极高的室内定位精度,误差基本在厘米级别,最优秀者甚至达到了0.05米的精度。但是价格非常昂贵。
UWB和超声波定位
在3D组中,今年UWB技术占据了大半江山。UWB是UtralWide-Band的缩写,是利用无线脉冲信号来定位。UWB技术需要部署额外的UWB基站,用来标定位置,定位时使用专有的UWB的信标,所以整个宫殿内随处可见高耸的UWB基站,与素雅的宫殿内景一起形成了独特又矛盾的风景。
从整个比赛的结果上看,UWB的定位误差精度基本上都在1米以内,国内也有优秀的UWB公司取得了不错的成绩。从使用模式来看,UWB更适合高精度的行业应用。
超声波定位的定位原理基本同激光及UWB,只不过信号的载体变成了超声波。一般而言,也能到达1米以内的精度。
iBeacon定位
原理类似WiFi指纹,只不过产生信号的源头由WiFi AP变成了iBeacon信标,Wi-Fi信号变成了蓝牙信号。iBeacons是苹果公司2013年9月发布的移动设备用的操作系统配备的新功能。利用iBeacons定位的技术类似之前的蓝牙技术,由iBeacon发射信号,IOS设备定位接受,反馈信号其工作原理是利用有低功耗蓝牙(BLE)通信功能的设备使用BLE技术(广播帧技术)向周围发送自己特有的ID,接收到该ID的应用软件会根据该ID采取一些行动。
iBeacon定位比起Wi-Fi定位的好处在于,其可以完美的支持iOS系统,并且可以在微信中使用,结合诸如位置营销、优惠劵分发等产生额外价值。其也是当前国内商用定位技术的主流,各大公司都在部署或试图部署自己的iBeacon网络。但就技术层面,原理大抵也和Wi-Fi指纹相似,这个后面会更加详细的描述。通常宣称iBeacon定位的精度在1-2米左右,因为iBeacon的载体是低功耗蓝牙,信号发射范围比较小,且信号较为稳定。但我们在市面上通常看到的iBeacon定位,并不能达到如此精度,这主要是由于目前市场上iBeacon设备的功控实现并不理想,不能保证信号处于一个较稳定的范围。
本次比赛中,2D组不允许部署额外硬件设备,要求必须使用智能手机、平板电脑等个人终端作为定位装置。这样的组合更加贴近于实际场景,这也使得这样的定位技术更加具有挑战性,也更难以获得高精度。
惯性导航(PDR)
惯性导航是仅依据设备的惯性传感器(加速度、陀螺仪等)来进行的导航算法,理论上加速度计2次积分可获得距离、陀螺仪积分可获得角度,由距离及角度,即可知道在特定时间内的行走轨迹。但由于室内定位是人在持有设备,而人的行走姿态比较复杂,加上移动终端传感器的精度受限,加速度2次积分误差较大,所以依照上述方法,误差较大;另外一种替代方案是通过步态检测,检查一段时间中行走的步数,然后乘以人类的步长,即可获得行走距离;如果该设备绑定在鞋或脚上,这样由人手臂引起的误差即可消除,冠以较高精度传感器,可获得不错结果。但惯性导航的特点在于,短距离内能达到一个比较高的精度,在这过程中没有任何辅助的纠正措施,随着时间的推移,误差会累计增大;如果人行走姿态较为复杂,例如非匀速行走,频繁转身,无意识晃动导航设备等,都会增大误差;且惯性导航无法获知初始位置,所以一般往往用来做辅助导航手段,因此严格的来说,惯性导航并不属于定位技术,而是一种辅助。
此次竞赛,主办方允许手动输入初始位置,这也使得有的团队会使用惯性导航来进行参赛,但由于惯性导航无法获取初始位置,技术上并不是严格的闭环,无法用来单独使用,所以主办方在最终未将其纳入最终的成绩测算。
地磁定位
地磁定位是目前新起的导航技术,我们也是采用纯地磁定位参赛,最终以平均精度1.86米取得了2D组的第三。
地磁定位是利用建筑内独特的地磁场来作为信号源进行定位,相比起Wi-Fi、iBeacon等,地磁场天然存在,且较为稳定,如果建筑建构不发生大的改变,地磁分布也不会发生改变。建筑内的钢筋结构不同,为每个区域形成了其独特的磁场分布,地磁定位正是利用了这种分布来测算位置。地磁定位技术通常可以达到2米左右的精度。但地磁定位获取初始位置,需要持续行走5-8米左右,这给部分场景带来了一些限制。
大赛小结
通过本次比赛中各个队伍的各种表现,对于现有各种技术及使用场景,有了一个较为清晰的认识:
1.3D组总体来说,精度比2D组高较多,特别适用于某些对定位精度要求非常高的行业;但由于其需要部署额外的硬件或采用额外的终端,所以无法在大规模的个人市场中应用;
2.基于无线信号强度的定位,例如Wi-Fi、iBeacon可以通过单点采集大量数据,并对这些数据进行滤波(如kalman滤波)以获得较高精度(1-2米);但此种方式仅适用于单点定位,实时导航的效果就较差;
3.未来商业化的面向个人的定位技术,应该会是多种定位技术的智能融合方案,例如iBeacon+地磁或Wi-Fi+地磁+惯性导航等,这样能在获得较高精度的同时,也能获得较流畅的用户体验。

2016年的室内定位大赛在奥地利的维也纳举办,在为期2天的赛程中,30多只参赛队的近100多人拥挤一个500平米大小的19世纪维也纳宫殿中,要在其中完成定位采集、上传、测试及最终的评测,对所有的参赛团队来说,都是一个有趣的挑战。经常地,你需要跨过别人的基站、绕开地上的电线,还要从人群中小心闪避那穿行于其中的近百万的激光雷达。
这次的比赛主办方将所有的参赛组分成了3D组和2D组,对于2组的定义,官方给出的标准是:3D组允许在场地中部署额外的辅助定位硬件,并且允许使用特质的设备作为被定位的终端,上报坐标时需要x、y、z三轴坐标;2D组不允许部署任何额外硬件,仅利用场地现有设施来进行定位,且必须使用智能手机、平板电脑或笔记本电脑作为被定位终端;在定位过程中,仅需x和y即可。
总的来说,3D组的技术基本上由激光、UWB、超声波构成;而2D组则基本上由惯性导航、Wi-Fi结合各种传感器为主。
对于3D组中的几乎所有定位技术,基本都是使用TOA/TDOA/AOA三种原理中之一来实现。
下面建向各位解读各类定位技术。
利用RSSI的定位技术(Wi-Fi定位)
主要利用现有场所的Wi-Fi路由器来进行定位,如果没有iOS的强制限制,将会是绝佳的定位信号来源。现代的建筑大都部署了Wi-Fi,用来提供人们联网服务,虽然路由器严格来说也属于额外部署的硬件设施,但由于其上述的性质,使得Wi-Fi本身已经成为了建筑环境的一部分。但由于iOS系统未开放获取无线Wi-Fi信号强度的API,使得Wi-Fi定位技术的应用前景并不乐观。
Wi-Fi定位的大概原理主要有2种技术方案,一种是需提前获知其AP(信号发射端)的位置,然后通过无线信号衰减的物理理论公式,并加上三角定位算法或其他近距离算法,来计算出终端的位置;但由于无线信号在不同环境的衰减并不相同,使得这一方案获得的精度通常具有较高的误差;现在人们普遍使用的定位技术是指纹原理,大概思想是提前在室内的每个位置采集该点的坐标,以及当前能收到的Wi-Fi信号和强度,形成指纹数据库;在定位时,将终端实时到的信号及强度,与数据库中的指纹数据做匹配,相近者则为其大概位置。开发者只需对信号匹配公式进行数学建模,即可完成该算法的开发。各团队的差异基本来自于匹配算法的不同,以及与其他传感器的结合算法等。
主流纯Wi-Fi定位技术的精度一般在3~5米左右。
所有的基于无线信号强度的定位技术中,有2个因素非常关键,一个是信号源部署密度,另外一个就是无线信号的稳定程度。
TOA/TDOA
TOA(Time of Arrival,到达时间)、TDOA(Time Difference of Arrival,到达时间差)都是基于电波传播时间的定位方法。同时也都是三基站定位方法,二者的定位都需要同时有三个位置已知的基站合作才能进行。
TOA原理是用基站传输到用户设备的时间与电磁波速度乘积获得两两之间的距离,然后建立三元一次方程组获得用户设备所在位置。由于距离的计算完全依赖于时间,因此TOA算法对系统的时间同步要求很高,任何很小的时间误差都会被放大很多倍,同时由于多径效应的影响又会带来很大的误差,因而单纯的TOA在实际中应用很少。
TDOA的原理是将基站传输到用户设备的时间做两两求差,再根据一定的数学方法获得用户设备的位置信息。TDOA的求差过程会抵消其中很大一部分的时间误差和多径效应带来的误差,因而可以大大提高定位的精确度。
AOA
AOA(Angle of Arrival,到达角度)定位是一种两基站定位方法,基于信号的入射角度进行定位。AOA定位通过两直线相交确定位置,不可能有多个交点,避免了定位的模糊性。但是为了测量电磁波的入射角度,接收机必须配备方向性强的天线阵列。
激光定位
激光定位是利用激光方向性好,(激光束的发散角很小,几乎是一平行的光线)基本原理就是利用定位光塔,对目标定位空间发射横竖两个方向扫射的激光(用以构建定位坐标系,天地图·福建注),在被定位物体上安置多个激光感应接收器,通过计算两束光线到达定位物体的角度差,然后,激光扫描仪根据自身的位置(一般是用GPS定位或者输入用户自定义的位置坐标),便可以确定物体的位置了。在大赛比较场地里,最吸引人的明星,就是这几台价值昂贵的激光定位装置。其基本上都由一个不停旋转的雷达以及处理终端构成。工程师把这些设备背在身后,激光雷达通常高于人头,并会不停的从360度发射激光。不停在建筑物内行走,就能完成整个场所的3维建模,同时可利用这些数据进行精确的室内定位。通常,这样的设备能达到极高的室内定位精度,误差基本在厘米级别,最优秀者甚至达到了0.05米的精度。但是价格非常昂贵。
UWB和超声波定位
在3D组中,今年UWB技术占据了大半江山。UWB是UtralWide-Band的缩写,是利用无线脉冲信号来定位。UWB技术需要部署额外的UWB基站,用来标定位置,定位时使用专有的UWB的信标,所以整个宫殿内随处可见高耸的UWB基站,与素雅的宫殿内景一起形成了独特又矛盾的风景。
从整个比赛的结果上看,UWB的定位误差精度基本上都在1米以内,国内也有优秀的UWB公司取得了不错的成绩。从使用模式来看,UWB更适合高精度的行业应用。
超声波定位的定位原理基本同激光及UWB,只不过信号的载体变成了超声波。一般而言,也能到达1米以内的精度。
iBeacon定位
原理类似WiFi指纹,只不过产生信号的源头由WiFi AP变成了iBeacon信标,Wi-Fi信号变成了蓝牙信号。iBeacons是苹果公司2013年9月发布的移动设备用的操作系统配备的新功能。利用iBeacons定位的技术类似之前的蓝牙技术,由iBeacon发射信号,IOS设备定位接受,反馈信号其工作原理是利用有低功耗蓝牙(BLE)通信功能的设备使用BLE技术(广播帧技术)向周围发送自己特有的ID,接收到该ID的应用软件会根据该ID采取一些行动。
iBeacon定位比起Wi-Fi定位的好处在于,其可以完美的支持iOS系统,并且可以在微信中使用,结合诸如位置营销、优惠劵分发等产生额外价值。其也是当前国内商用定位技术的主流,各大公司都在部署或试图部署自己的iBeacon网络。但就技术层面,原理大抵也和Wi-Fi指纹相似,这个后面会更加详细的描述。通常宣称iBeacon定位的精度在1-2米左右,因为iBeacon的载体是低功耗蓝牙,信号发射范围比较小,且信号较为稳定。但我们在市面上通常看到的iBeacon定位,并不能达到如此精度,这主要是由于目前市场上iBeacon设备的功控实现并不理想,不能保证信号处于一个较稳定的范围。
本次比赛中,2D组不允许部署额外硬件设备,要求必须使用智能手机、平板电脑等个人终端作为定位装置。这样的组合更加贴近于实际场景,这也使得这样的定位技术更加具有挑战性,也更难以获得高精度。
惯性导航(PDR)
惯性导航是仅依据设备的惯性传感器(加速度、陀螺仪等)来进行的导航算法,理论上加速度计2次积分可获得距离、陀螺仪积分可获得角度,由距离及角度,即可知道在特定时间内的行走轨迹。但由于室内定位是人在持有设备,而人的行走姿态比较复杂,加上移动终端传感器的精度受限,加速度2次积分误差较大,所以依照上述方法,误差较大;另外一种替代方案是通过步态检测,检查一段时间中行走的步数,然后乘以人类的步长,即可获得行走距离;如果该设备绑定在鞋或脚上,这样由人手臂引起的误差即可消除,冠以较高精度传感器,可获得不错结果。但惯性导航的特点在于,短距离内能达到一个比较高的精度,在这过程中没有任何辅助的纠正措施,随着时间的推移,误差会累计增大;如果人行走姿态较为复杂,例如非匀速行走,频繁转身,无意识晃动导航设备等,都会增大误差;且惯性导航无法获知初始位置,所以一般往往用来做辅助导航手段,因此严格的来说,惯性导航并不属于定位技术,而是一种辅助。
此次竞赛,主办方允许手动输入初始位置,这也使得有的团队会使用惯性导航来进行参赛,但由于惯性导航无法获取初始位置,技术上并不是严格的闭环,无法用来单独使用,所以主办方在最终未将其纳入最终的成绩测算。
地磁定位
地磁定位是目前新起的导航技术,我们也是采用纯地磁定位参赛,最终以平均精度1.86米取得了2D组的第三。
地磁定位是利用建筑内独特的地磁场来作为信号源进行定位,相比起Wi-Fi、iBeacon等,地磁场天然存在,且较为稳定,如果建筑建构不发生大的改变,地磁分布也不会发生改变。建筑内的钢筋结构不同,为每个区域形成了其独特的磁场分布,地磁定位正是利用了这种分布来测算位置。地磁定位技术通常可以达到2米左右的精度。但地磁定位获取初始位置,需要持续行走5-8米左右,这给部分场景带来了一些限制。
大赛小结
通过本次比赛中各个队伍的各种表现,对于现有各种技术及使用场景,有了一个较为清晰的认识:
1.3D组总体来说,精度比2D组高较多,特别适用于某些对定位精度要求非常高的行业;但由于其需要部署额外的硬件或采用额外的终端,所以无法在大规模的个人市场中应用;
2.基于无线信号强度的定位,例如Wi-Fi、iBeacon可以通过单点采集大量数据,并对这些数据进行滤波(如kalman滤波)以获得较高精度(1-2米);但此种方式仅适用于单点定位,实时导航的效果就较差;
3.未来商业化的面向个人的定位技术,应该会是多种定位技术的智能融合方案,例如iBeacon+地磁或Wi-Fi+地磁+惯性导航等,这样能在获得较高精度的同时,也能获得较流畅的用户体验。