王 飒,龚凡婷,耿丽丽
(自然资源部 四川基础地理信息中心,成都 610041)
随着室内位置的服务在日常生活中需求逐渐增加[1],研究者越来越关注面向室内区域的定位技术。文献[2]结合红外线和超声波技术,设计了实现方案,但需要较高的部署成本。文献[3]利用RFID技术研究了仓库安防系统的实现思路。文献[4]提出了一种基于双天线的蓝牙定位技术。文献[5]将超宽带技术应用在室内机器人定位系统中取得预期定位结果。文献[6]利用不同的无线保真(wireless fidelity,WiFi)定位技术实现单一信号源的人员定位,文献[7-8]提出多种方法优化WiFi定位的精度。文献[9]实现了基于ZigBee信号指纹的跟踪定位方法。文献[10-11]利用计算机视觉技术实现亚米级的定位精度。但这些定位技术多是单一信号源定位,定位精度无法满足正常需求,再者,需要额外的硬件平台,提高了系统部署的成本,因此采用多源信号融合、降低硬件平台要求成为室内定位技术亟待解决的关键问题。
以开源为基础的 Android智能手机获得越来越多的应用,除了提供友好的软件功能外,还包括如无线信号接收器、惯性装置等硬件模块[12]。因此结合Android智能手机设计实现一个实现简单、部署成本低、实用性强的室内定位系统是一个必须和紧迫的任务。本文结合室内普遍应用的WiFi设备以及Android移动设备内嵌的加速度传感器和方向传感器信息,设计一种 WiFi信号辅助智能手机的室内融合定位算法,并最终在智能手机平台上进行融合算法的测试。
WiFi定位一般采用信号强度法实现,该方法分2大类:信号强度衰减模型法和信号强度指纹匹配法。信号强度衰减模型法需要在待定位区域收集相关的信号发射器的位置信息[13],由于该方法获取结果远低于指纹匹配法的定位精度,因此采用信号强度指纹匹配法来实现WiFi定位。
指纹匹配法通过计算当前信号强度值与待定位区的参考数据库对比来估计移动物体可能的位置。该方法包括指纹库建立阶段、数据匹配阶段:指纹库建立阶段是在室内待定位区布设的采样点上逐点采集每个格点上的接收到的所有信号强度值,和该采样点的坐标值同时保存起来,这些信息被称为位置指纹;数据匹配过程是把获取到的信号强度值与指纹库中的数据逐一计算,取信号值最相似的样本点的位置信息作为计算结果。
在指纹库数据记录中,一个采样点上记录接收到的所有 WiFi信号发射器的物理地址(medium access control, MAC)和对应信号强度值。然后基于信号强度最近邻法[14]实现定位计算。实现思路是:获取定位点接收到所有信号强度值,读取每个信号值的 MAC标识,再得出每个信号强度值与数据库该信号的相似度为
式中:i表示与数据库中第i个指纹点计算;Smi-Rmi代表接收到的信号发射点和数据库中第i个具有相同信号发射点对应的信号强度值之差(一共有M个信号来自相同信号发射点,m取值1~M);Dni代表到接受到信号发射点和数据库中第i个具有不同信号发射点对应的信号强度值(一共有N个信号来自不同发射点,n取值 1~N)。求出全部指纹点匹配度,匹配度最高的指纹点的坐标信息作为计算结果。
由于受到硬件条件的制约,WiFi信号强度值随时间和周围环境的变化存在很大的波动性。为了直观验证WiFi信号强度波动性,在室内定位区任意选择一个采样点连续扫描25次,并选取相同的5个发射点的信号,对应的信号强度变化如图1所示。
图1 信号强度
从信号强度图中可以看出:5个无线网络接入点(access point, AP)发射的强度大小不一,且都有较大的波动性,这造成不同时刻定位结果差别很大。
为了直观表示定位结果的跳动现象,在实验区某一区域建立局部坐标系,正东方向为X轴正方向,正北方向为Y轴正方向,测试点的真实位置在局部坐标系中坐标为(5,5)。图2为在任意一个位置持续定位40次的效果图,可知跳动显著且分布无规律。
图2 定位结果
行人航位推算(pedestrian dead reckoning, PDR)原理:以行人在较短的采样时间内做直线运动为前提,当得知行人起点位置信息、行人的朝向以及行人的位移量就可以推算出行人下一时刻的位置。PDR原理如图3所示。
行人从(x1,y1)到(x2,y2)的计算公式为
图3 PDR算法原理图
式中:S12表示从坐标(x1,y1)到(x2,y2)的距离;θ1表示(x1,y1)到(x2,y2)方向与X轴正方向夹角。由推算公式可知整个过程中有2个关键因素:行人位移S和行人朝向角θ。位移S可以通过已有的步频-步长模型法来估算获取,方向角可以通过手机方向传感器与陀螺仪组合修正后得到。
在行人的走动过程中,每个迈步周期产生的垂直方向加速度变化过程保持一致,分为以下几个过程:
1)从脚蹬地离开地面作为一个周期的开始阶段,由于地面的反向作用力导致垂向加速度增大;
2)当脚离地面最远处,垂直方向加速度值增加至最大;
3)脚向下运动过程,垂直加速度值开始逐渐变小;
4)当脚再次着地完成一个迈步周期,垂直方向加速度值减至最小。
前进方向加速度是由双脚与地面摩擦发生的,它的变化规律为:双脚同时接触地面时增大,在一脚离开地面时加速度值减小[15]。图 4为行人正常步行中3个轴向(X,Y,Z)和整体加速度(α)实际检测到的变化情况。手机在具体使用时,其放置位置是随意的,造成单一方向的加速度值无法反映真实的运动状态,所以使用整体加速度值来进行计步推算。
图4 加速度
计步算法和步长模型均采用文献[13]提出的步态检测算法,通过对23位不同测试者的4 000步数据得出步长模型为
式中:f为步频;a、b为相关系数。步频是步态检测算法中得到每一步时间的倒数。
行人方向角的确定一般通过磁航向角和捷连航向角2种方式实现。磁航向角是通过方向传感器直接得到相对于地磁北极的绝对方向角hmag(0~360°),计算公式为
式中mx、my为方向传感器的横纵轴瞬时值,通过手机磁力计可以直接获取得到。磁航向角容易获取,但缺点是易受环境的干扰。
捷连航向角是通过对陀螺仪数据进行积分,结合初始方向角并经过一定角度转化得到的。捷连航向角为
式中:hk是当前捷连航向角;hk-1是上一时刻的捷连航向角;wt是k时刻的陀螺仪读数。
本文采用捷连航向角矫正磁航向角后的值作为方向角H,这样既容易处理,同时减少外界环境干扰,又能一定程度上矫正长时间漂移等带来的较大位置误差。方向角为
式中W为权值,采用由Klingbei和Wark[14]总结的权值。
Android智能手机操作系统对WiFi硬件模块和各种惯性传感器模块进行了底层API封装,开发者可以方便调用。根据实际情况和初步需求分析,选择室内公众 WLAN信号辅助手机惯导进行融合定位。选择单位所在地某一普通办公楼一层,该环境包括了实验所需的室内环境和 WiFi无线信号。测试手机采用市场占用率较高的华为手机作为实验平台进行定位数据获取和定位算法计算的平台。
Android API提供操作WiFi硬件的函数接口:WiFiManager类,使用此接口可以方便开发信号采集软件。考虑到采集信号的时间成本,在待定位区域共布设采样点 275个,根据文章[16]实验结果将平均间距设为2~3.5 m,图5为指纹点的平面分布图,将点均匀地布满整层建筑的过道,在每个采样点上连续采集 20次 WiFi信号并取均值存入指纹库中。
图5 采样点分布
在实验场地任意选择 15个测试点,分别定位10次,计算各点的平均误差和最大误差来分析仅采用泛在 WiFi信号的定位效果。图 6为定位误差的统计结果,可以看出仅使用WiFi信号作为数据源的算法的定位稳定性非常不好。
图6 定位误差
Android系统内嵌了多个函数接口操作传感器,如图7所示接口名称和采样频率。
图7 接口和采样频率
由于硬件本身差异性使得加速度计的数据采样频率在小范围内变化。图8是在测试的手机平台上进行加速度值采样并记录每次数据的采样时间,图 8中采样间隔时间不是固定值而是在固定范围内上下波动。为了消除这种波动对计步算法的影响,采用更高采样频率采集数据。本文采用 50 Hz频率即SENSOR_DELAY_GAME级别频率。
图8 加速度响应间隔时间变化
本文分3步来实现手机惯导定位:行人状态判别、行走距离计算、坐标计算。
1)行人状态判别:计算采样间隔内整体加速度的标准差,若小于阈值说明该采样间隔内行人运动状态为静止状态,否则为行走状态。为了获取标准差先验阈值,统计若干行人行走和静止各6 000次的采样数据,以1 s为计算周期得到标准差σ的分布,图9是最终的统计结果:当σ<0.5时可以推断状态为静止。
图9 行走和静止状态下加速度标准差比重分布
2)行走距离计算:在行走状态下,利用波峰检测算法计算该间隔内的步频以及利用步长公式计算对应的步长最终计算出行走的距离。
3)坐标计算:结合朝向角,计算行人的位移量。通过位移量和起始位置坐标可以求出行人当前坐标。手机惯导定位需获取行人的起点坐标信息,图 10为已知起点坐标时系统的定位结果。定位结果说明:由于手机传感器的精度不高使得手机惯导定位随着行走距离变大产生了较大的累计误差。
图10 手机惯导定位结果
采用融合算法,将WiFi和手机惯导二者优势结合。根据惯导定位数据将行人的运动状态分为2种:静止和运动。
1)静止状态。静止状态下对WiFi定位结果进行单点定位滤波优化,使得静止时 WiFi的单点定位精度有效提高。
在实验区选择15个定位点,连续实验10次,分别进行WiFi单独定位和WiFi融合手机惯导定位。对10次计算结果误差取平均进行对比,如图11所示,可知融合后的计算精度有明显改善。
2)运动状态。运动状态下使用文献[12]的无迹卡尔曼滤波(unscented Kalman filter, UKF)融合算法对定位结果进行融合计算。
在实验区从图 10所示的起点走到终点共计220步,分别求出每一步对应PDR定位结果、WiFi定位结果和UKF融合定位结果,并对这220步的误差进行统计得出如图12所示的结果,可知UKF融合后定位误差明显优于PDR定位和WiFi定位,实验结果与文献[12]的实验结果基本吻合。
图11 定位结果对比
图12 定位误差分布
在人类活动常在的办公室内环境中,采用广泛存在的 WiFi信号融合 Android智能手机内嵌的惯导信息进行了多场景、不同数据源的定位实验。在智能手机平台的实验结果表明,此技术能够很好融合公共WiFi信号和智能手机的惯导信息,得到满足室内定位应用要求的结果,提升了泛在无线信号以及智能手机在室内定位中的可用性。