陈 鹏,廖 明,刘武平,呙 维,宋 杨
(1. 广州市城市规划勘测设计研究院,广东 广州 510060; 2. 江西省基础地理信息中心,江西 南昌 330209; 3. 武汉大学测绘遥感信息工程国家重点实验室,湖北 武汉 430079)
随着无线传感器技术的日益成熟,基于无线传感器技术的室内定位相关技术研究快速发展,目前已有多种无线技术手段,包括红外线、超声波、蓝牙、射频识别、超宽带、ZigBee和WiFi等[1-2]。其中iBeacon技术目前已比较成熟,廉价的iBeacon信标设备的普及[3],使得基于RSSI的定位技术开始广泛应用于商业场景中,而iBeacon短距传输的特点保证了三边测量解算也能够得到较好的定位效果。信标的信号在环境中传播时,容易受到多路径、人体吸收等影响,使得RSSI值不稳定[4];虽然较密集部署的iBeacon信标一般能保证较好的定位精度,但是RSSI的变化会引起当前定位点的频繁跳动,导致定位精度和可用性降低。为减弱环境带来的噪声影响,提高RSSI的可用性,通常采用各种滤波算法优化RSSI,如低通滤波、均值滤波[5]、高斯滤波[6]等。对RSSI的优化能够有效提高定位精度,减少静止时的跳动情况;但在运动过程中,定位的连续性仍然较差,效果欠佳。
基于以上研究,可知单纯的无线定位的实际应用效果并不好。短距离密集部署的蓝牙虽能提供较准确的单点定位结果,但在实际动态环境中缺乏连续性。动态环境中实现高可用的定位效果需要多种技术结合,并根据定位具体实现平台,选择合适的技术组合。
本文针对微信平台,提出一种基于三边测量定位、步行者航位推算(pedestrian dead reckoning, PDR)及地图信息纠偏相结合的定位方法,并构建出一套轻量化、高可用的室内定位导航系统,在微信平台上实现稳定、连续、高精度定位效果。通过对三边测量定位、PDR及地图信息纠偏的相关方法分别进行深入研究,最终确定如图1所示的高可用的智能融合定位方法:利用PDR来延续2个三边测量定位点中间的空白区域,引入地图信息纠偏不合理的定位结果。该方法综合考虑各方面信息,通过优势互补实现较优的定位效果。此外,利用室内地图建模和可视化表达技术,实现了完整的室内地图构建及地图数据的持久化处理,最终在广州市不动产登记中心将整套系统上线使用,表现出了良好的应用效果。
种类众多的定位算法中,三边测量法最为常用,已知3点位置(x1,y1)、(x2,y2)、(x3,y3)及未知点(x0,y0)到3点距离d1、d2、d3。以d1、d2、d3为半径作3个圆,根据毕达哥拉斯定理,得出交点即为未知点的位置。其中距离获取是利用设备扫描到的RSSI值,通过信号距离衰减公式得到与各个信标节点的距离。实际应用中由于RSSI的不稳定,往往取3个以上的信标,用最小二乘的方法来减少定位解算的误差[7]
(1)
虽然最小二乘法能够提高定位的精度,但信标参考节点的选择也极大地影响着定位的效果。当选取的参考信标节点几何分布较为混乱时,往往难以获取较好的定位精度,因而需对信标节点进行优选,如选择一组能构成等边三角形的节点来进行定位解算[6]。但仅选择3个信标节点无法使用最小二乘求解,会增大解算时的误差。本文考虑在保证最小二乘解算的基础上,对参考信标节点进行优选,即选择4个信标节点并判断是否构成结构规则的四边形(规则四边形结构其2组对边节点的中心位置距离相近)。
行人航位推算(PDR)是一种相对定位算法,由于移动设备传感器受到数据偏移和噪声影响,利用传统积分运算导航的方法误差极大,通常利用计步器的原理来实现行人航位推算。
假设已知行人的初始位置(x0,y0),利用方位角θ和步长s,可以计算出下一步到达的位置(x1,y1)如式(2),同理可递推出以后每一步到达的位置。
(2)
运动过程中每检测到一步,递推公式就计算一次,PDR的精度主要取决于3个方面:①步伐检测精度;②步长;③用户航向。步态检测中常用的一种算法是波峰检测法,该算法实现简单、计算量小,可做到实时检测。考虑移动设备运动状态的多样性,利用单轴加速计值检测不确定性较大,往往采用三轴加速计的矢量和作为波峰检测值[8]。步伐检测算法根据行人的状态模式进行调整可达到最佳效果。用户航向一般由用户行走方向和设备航向同时构成,通常利用整合磁力计、陀螺仪和加速计数据的姿态滤波器计算最终的用户航向。对步长估计,则是利用文献[9]中的步长精确估算模型来实现。具体的PDR算法流程如图2所示。
由无线传感器定位和惯性导航融合得到的位置一般具有较高定位精度,但仍然存在定位点穿墙等现象,需要利用地图信息进一步纠正。地图匹配[10]就是将定位解算得到的位置点,与地图网络结构信息进行匹配,实现在特殊语义点的纠正,避免与实际信息不相符的定位点的出现,流程如图3所示。如在拐角处能够对定位点准确纠偏,沿路网线运动时将点纠偏到路网上,在出现穿墙等情况时及时将点纠正回来。
地图匹配具体可分为地图信息格式化和信息匹配2个过程。地图信息格式化是将原始的地图信息转换成可以用来进行匹配操作的数据形式,并按一定的格式存储到数据库中。信息匹配则是将定位点与数据库中存储的格式化信息进行匹配,定位过程中主要表现为根据点到点的距离和点到线的距离来确定是否进行纠偏操作。
根据室内环境中特有的地物信息,通过概念建模明确哪些实体概念应该在模型中有所体现,并能完整且分层分级描述场景信息,同时依据概念模型,设计每一种地物相应的属性字段及其之间的关系,使用矢量数据方式对室内地物信息进行存储;数字化后,需要对用于可视化的地物信息进行程序自动化处理,对导航需要的拓扑关系进行构建及自动化生成,对定位场元信息、可视化信息、导航信息、定位信息等进行组织与自动化构建,最终生成完整的室内地图,并持久化存储。
本文系统以室内定位技术为基础,结合地图可视化技术,实现了室内定位的可视化及与定位相关的功能。室内定位系统核心工作流程如图4所示。首先在定位场所部署传感器,存储传感器信息,利用定位传感器信息结合设备实时扫描的信标信息,实现三边定位解算;三边定位结果与PDR利用扩展卡尔曼滤波融合,再用地图信息匹配纠正得到最终的定位结果;最后结合地图可视化技术,将定位结果在地图上可视化出来。该过程主要包含定位传感器的部署、扩展卡尔曼滤波融合算法的设计、地图可视化和系统数据库的设计等工作。
不同的传感器部署方式能实现不同的定位效果,密集均匀地部署往往能够达到最优的定位效果[11]。实际环境中对传感器的部署需要综合考虑部署成本、实际物理环境和定位精度需求等多种因素。本文系统采用易部署的蓝牙信标节点,为了保证定位精度,定位场所中蓝牙信标部署间隔一般为4~8 m,部署高度一般控制在3 m以内,大部分楼层可部署在天花板上。信标部署要均匀,尽量避开遮挡,部署时不要靠近墙角和障碍物,空旷区域中采用三角网格状交错分布覆盖。
卡尔曼滤波是一种高效的自回归滤波器[12],它能够从一系列的完整及包含噪声的测量信息中,估计出动态系统的状态。由于卡尔曼滤波只适用于线性领域,文献[13]提出了扩展卡尔曼滤波,首先将非线性系统线性化,然后进行卡尔曼滤波,从而将卡尔曼滤波的应用扩展到非线性领域中。
在本系统中笔者对RSSI测量得到的定位结果与步行者通过惯性测量单元获取的运动数据进行扩展卡尔曼滤波融合,并利用该方法持续估计步行者在各个时态的最佳位置。根据PDR算法实现对系统运动状态的建模,利用步行长度和方向角度得到相对于之前位置的二维变化量,系统的时间更新方程可表示为
(3)
式中,(xk,yk)为走过k步后的位置;sk和θk分别为第k步的步长和运动方向角;Wk为系统过程噪声,且认为Wk满足高斯分布。将三边测量定位解算的结果作为位置观测量,手机惯性传感器获取数据解算得到的方向和步长作为另外两个观测值,得到测量方程可表示为
(4)
式中,(xk,yk)为蓝牙信标定位得到的位置;sk为步长检测所得到的第k步的步长;θ为磁航向角传感器得到的第k步后的朝向角;Vk为观测噪声,同样认为Vk满足高斯分布。
地图可视化能将系统的最终效果直观地展示出来,是空间信息可视化的最主要形式,也是室内定位系统的基础部分。根据定位场景中包含的地物元素所属类别及重要程度,按一定等级标准来对各地物进行数字化建模操作,在可视化表达过程中按照其等级确定可视化的优先级,以及不同缩放等级下要素显示与隐藏等状态的变换。
对要素的符号表示主要有点符号、线符号和面符号[14]。根据定位场所中室内空间要素层次分类,本文将其分为6类,见表1,针对每类要素选择不同的符号化类别。此外对于特定建筑物设施,采用多种符号组合进行描述,直观展现其特殊功能。如卫生间、电梯间、楼梯间及各功能办公室,均由面符号和点符号组合而成,面符号用来确定该要素的轮廓范围,点符号以图形形式描述该要素的属性特征。
表1 室内要素类别及对应符号
本文室内定位系统所涉及的数据主要包含定位场中传感器相关信息(UUID、坐标等)和地图建模后导出的地图数据信息。为了方便数据传输,数据表中按定位场所不同,存储不同的数据信息。数据存储表结构见表2,定位场所有传感器信息以JSON字符串格式打包,存储在传感器信息字段;以同样方式将地图信息存储于地图信息字段,将与定位场所相关的其他信息存储在描述信息的字段。搭建后台服务,待前端发起数据请求时,将对应定位场所的相关数据提供给前端。
表2 定位场主要信息表Place表结构
根据上述系统设计,以广州市白云区房地产登记中心为应用场景,开发出了基于微信平台的室内定位系统。参考室内定位系统的总体方案,在场所部署蓝牙信标,完成室内地图要素的建模及其在2维和2.5维视图下的地图可视化,最终实现了室内定位及可视化表达。此外基于室内定位及地图可视化,还研发了室内导航、全景地图导览、视频导览及其他相关的业务服务功能,构成一套完整的室内定位导航服务系统。
房地产中心的楼层高度较低,在3 m以内,信标可直接部署在天花板。此外,登记中心区域空旷,采用三角网格交错部署,部署间隔为5~8 m,具体信标分布如图5所示。区域内共部署蓝牙信标节点85个,并用全站仪测定了各个信标在定位场所中的实际位置坐标,录入数据库中。
地图可视化包括2维和2.5维的视图效果,不同缩放尺度下的显示效果,以及室内地图与室外地图的无缝叠加显示。缩小到一定尺度时,能够看到该场所在地图中的具体位置,随着地图的放大,场所室内地图要素显示逐步丰富、完善,实际可视化效果如图6所示。
如图7(a)、(b)所示,地图上的深色圆形图标即代表当前定位点的图标,当在定位场所中打开应用,定位图标在地图中的位置对应着用户当前所在的位置,随着用户向前移动,定位算法将实时更新位置,定位图标将紧随人的行进在地图上移动。在实际应用中该系统实现的室内定位具有良好的体验效果,未出现定位点的频繁跳动,静止时平均定位精度能够达到1 m以内,移动过程中的定位精度在1.5 m左右。
如图7(b)所示,在室内地图上选取一个目的地,会弹出“去这里”的选项,单击该选项,就能规划出从当前定位点到目标位置的路径,结合实时定位点的输出,能够准确引导用户到达目的地,导航路径规划算法采用Dijkstra算法[15]实现。此外,全景图导览、视频导览等功能是室内定位系统的扩展,单纯的室内定位导航功能较为单一,为了能带来更好的用户体验,切合不动产中心实际业务需求,加入其他功能如图7(c)所示,丰富系统的内容。
本文利用三边测量定位和PDR融合的方法实现了在室内环境中连续稳定的定位效果,并设计和开发了基于微信平台的室内定位导航系统。该系统已在广州市不动产中心得以运用,作为公众号服务上线。通过PDR及地图信息的引入,该系统实现了准确定位,能够帮助用户确定当前位置,结合导航路线规划结果能够实时指引用户沿着正确的路线行进。此外基于室内定位及可视化的相关技术,还为系统引入了其他服务性功能,为用户带来更多的便利。
该系统实现了室内人员的实时定位和导航等功能,具有很好的实用意义。但是融合定位算法需按步解算,以及地图匹配等算法的引入,都增加了设备的功耗,若要在大范围场景中进行应用,需要对算法进一步优化,降低设备功耗。