赵 菲
(西安建筑科技大学,陕西 西安 710055)
随着经济和科技的不断发展,人们对于室内地理位置信息的需求日益增长,关于室内定位的相关研究变得越来越具有商业价值和发展潜力[1]。诸如在物品追踪、监狱或医院相关人员的实时监控管理、机器人仿生、VR主题游戏定位等方面都需要一定精度的位置信息。虽然传统的GPS定位已较为成熟,但由于GPS信号比较容易被建筑物遮挡,在室内环境下的GPS定位效果较差,误差太大,无法满足室内定位的需求。
近几年关于室内定位技术的研究越来越受到重视,比较具有代表性的有骆倩等[2]基于低功耗蓝牙的室内定位系统的研究,苏松等[3]关于低功耗蓝牙手机终端室内定位方法的研究,王亚娜等[4]基于行人航迹推算的室内定位算法研究,雷雨伟等[5]WiFi与MEMS-IMU融合定位方法的研究。大多存在定位精度低、定位误差累计、定位不稳定的缺点。由此,本文提出了一种采用PDR定位和iBeacon定位组合的定位方法,既可以提高iBeacon定位的稳定性和连续性,又可以及时调整行人航迹算法带来的累积误差,同时能降低定位成本。
基于信号指纹的定位技术以及基于行人航迹推算(Pedestrian Dead Reckoning,PDR)的定位技术是目前普遍研究的定位技术。
信号指纹的定位技术主要是利用无线信号的接收信号强度指示(Received Signal Strength indicator,RSSI)和地理位置的关联性,进行定位。首先对于待测的室内区域,布置合理数量的iBeacon设备,对所有标定的位置点,采集相应区域内的射频信号,即标定点的RSSI信号值,从而得到标定位置点的位置指纹,然后将这些标定位置点的位置指纹存储在mongoDB数据库中。对于需要定位的位置点,用户通过实时记录所在位置的RSSI值,并与数据库中位置指纹信息进行映射匹配[6],从而确定用户的位置坐标,实现室内位置定位。
PDR定位技术是利用手机内置的陀螺仪、加速度计、方向传感器等组合成测量单元,通过行人航迹推算,对目标进行定位和追踪。PDR算法有3个关键步骤:行人步态的检测、行人步长估算和行人航行确定。
针对传统定位方法定位稳定性差,定位精度不高,有累积定位误差等缺点,提出了融合多种定位方法的组合定位方法。
卡尔曼滤波理论广泛应用于导航定位、目标跟踪等领域。应用卡尔曼滤波能够有效提高系统的定位精度和可靠性。但由于室内定位中的误差多是由各种传感器及环境造成的随机误差,所以组合导航定位系统大多数是非线性系统,所以在此选择扩展卡尔曼滤波(Extended Kalman Filter,EKF)方法进行滤波处理。扩展卡尔曼滤波的实现相对容易,不过在将系统线性化时往往可能会引入模型误差,使得模型精度降低,而且扩展卡尔曼滤波处理唯独高的复杂模型时,过程会变得繁杂。所以本文采用一种精度更高的滤波算法无迹卡尔曼滤波(Unscented Kalman Filter,UKF)算法进行iBeacon和PDR的组合定位。
假设非线性系统模型为:
所有纳入患者均顺利完成手术,术后视力均≥1.0,A组1例术后1个月未复查,B组2例术后3个月未参加复查,予以剔除,最终纳入完整参加术后4个时间点复查的患者100例(200眼),A组54例,B组46例,其中男49例,女51例,年龄18~28(21.4±3.6)岁,术前SE -6.00~-9.00(-7.17±1.36)D,角膜厚度570~610 μm,角膜基质床厚度/术前角膜厚度(Residual corneal stroma thickness/corneal thickness,RCST/CT)均大于60%。2组间年龄、屈光度、角膜厚度和切削比差异均无统计学意义(P>0.05)。见表1。
公式(1)中,Z表示m维的随机观测向量;A表示的是n维随机状态向量,并且满足A~N(,PA);f和g分别用来表示非线性的向量函数;Bk和Ck分别表示均值为零、相关性为零白噪声序列;而确定性控制项用∈k-1来表示。UKF相当于一种基于U变换技术的卡尔曼滤波。A经过非线性函数f得以传播得到Z,而且Z满足Z~(,PZ)。U变换是指通过(,PA)给定一系列的点Ѳi(i=1,2,3,…,N),之后对所以给定的Ѳ点,通过函数f传播得到xi(i=1,2,3,…,N),最后再通过得到的xi计算(,PZ),一般Ѳ点的数量取2n+1,即N=2n+1。
根据公式(1)提出的无迹卡尔曼滤波算法对iBeacon定位以及PDR定位进行融合,具体步骤如下。
首先对非线性定位系统建模:
公式(2)中,x,y分别是行人所在位置的x轴坐标和y轴坐标,∈k是行人走k步后的方向与系统坐标系方向的夹角;Bk-1表示的是系统过程中出现的白噪声;l是行人第k步时的步长;是第k步时,行人所处方向与坐标系方向的变化量。
然后对测量方程建模:
公式(3)中,lk是PDR定位过程中行人的步长;xk和yk表示通过iBeacon定位后得到位置坐标;Δ∈k是方向角的变化量;∈k是行人走k步后的方向与系统坐标系方向的夹角;Ck为表示系统观测的白噪声。此算法通过用步域代替时域实现了无迹卡尔曼滤波,从而使算法的复杂度降低。
PDR定位存无法自主消除累积误差,定位精度较低等缺点,iBeacon定位存在受环境影响大、在实时轨迹跟踪时每步接收iBeacon信号样本少、定位误差大、定位结果不连续等缺点。由此提出的基于iBeacon与PDR融合的室内定位方法,可以通过PDR定位信息减少iBeacon定位的波动性,减小定位误差,而且iBeacon定位得到的坐标也可以作为PDR定位的初始位置坐标,并使得PDR定位过程中的累积误差减小,提高室内定位的精度。
4.1.1 传统K近邻算法
最邻近算法虽然能得到待测点的位置坐标,不过考虑到RSSI信号值在单一时间偶然性大,不稳定,会使得定位结果不准确,在此使用K近邻算法。在待测区域信号点中选择k个欧式距离最小的RSSI信号值在指纹库中所对应的位置坐标,计算k个位置点坐标的平均坐标,即可看作待测点的位置坐标。
公式(4)中(x,y)即传统K近邻算法计算得到的待测点的坐标。
4.1.2 K近邻算法改进
为了进一步提高iBeacon室内定位的定位精度,根据K近邻算法中k个位置点的L值大小,对其相应的坐标取不同的权值,得到加权K近邻算法。
公式(5)中,A为归一化加权系数,Li是iBeacon终端得到的RSSI信号值和第i个近邻样本在指纹库中的RSSI值之间的距离,ε是一个可以忽略不计的很小的值,是为了防止Li为零的情况。改进后的K近邻算法可以进一步提高定位精度,但由于环境对RSSI值得影响较大,所以还需要PDR定位进行组合定位,提高精度。
通过iBeacon定位获取待定位目标的初始坐标后,根据PDR算法步态检测判断行人状态,即检测行人是走、跑还是静止;通过利用智能手机的加速度传感器获得行人行走中加速度信号值,通过分析获得的加速度信号值得变化规律来判断行人的行走状态。
行人的空间坐标系多采用右手直角坐标系,将行人垂直于地面的方向定为Z轴,行人面对的方向即前方定为Y轴,与行人肩膀平行即侧面方向定为X轴。目前智能手机内嵌的IMU的空间坐标系,也是采用右手直角坐标系,而且IMU中包括3轴的加速度计,可以根据3个轴上各自加速度值的变化规律来判断行人的行走状态。然后估算当前时刻相对于前一位置的距离及方向。
首先进行行人步长估算,通过步态检测得到行人的身体形态特征和运动状态,从而推断出行人步长。根据步态检测得到的行人的不同运动状态,采用不同的步长估算模型,对于走或跑的运动形式,本文采用线性步长模型为:
公式(6)中,L为行人步长,f为行人步频即每秒行走的步数,v表示每一步的加速度方差,a,b,c为回归参数。
与该线性步长模型对应的走或跑状态下行人位置的推算模型为:
公式(7)中,X,Y,Z为三维位置坐标,L为步长,θ表示估计航向方向角。通过智能手机内嵌的方向传感器可以获得方向角。通过上述两个公式及可得到行人步长的估算。
除步长外,还要确定行人航向。通过智能手机内嵌的各种方向传感器以及陀螺仪等可以直接得到手机顶部所处方向和正北方向之间的夹角,即行人航向角度。
最后,通过同步控制模块将扫描到的信号强度集合与PDR算法估算出的位置坐标一起发送给iBeacon处理模块进行iBeacon定位解算并与PDR算法估算的坐标进行比对,并利用融合算法启动测量更新和状态更新的迭代计算,更新步长估算算法中的参数,实现组合定位。
本次测试地点选择在了学校教学大楼七楼,首先进行了一定量的iBeacon设备的安装和调试,并对行走路线及出发点进行了规划,开始测试后,由相关人员拿着智能手机从设定的初始位置出发,并按已规划好的路线行走。测试完成后,得到3组数据,第一组数据仅通过iBeacon指纹定位算法实现;第二组数据是只存在行人航迹推算算法时得到的;第三组数据是通过本文提出的iBeacon与PDR相结合的组合定位系统得到的位置坐标和行走路线。测试结束后,分别求出3组数据和最初规划的各点位置坐标的误差值,通过3组误差值可以看出,iBeacon定位的误差在10 m左右,且定位误差不稳定、跳跃性大,容易受周围环境的影响;PDR定位在初始点误差为0,但随着行走距离的增加,定位误差不断增大,存在定位误差的累积效应,在实际导航中,适用于短时间、短距离内的定位导航;iBeacon定位和PDR定位相结合的定位,定位较稳定,且平均误差在5 m左右,适合长距离和长时间的定位,更适合运用在实际生活中,测试说明该组合定位在实际使用中更具有可行性。
对于室内定位导航来说,大多采用单一的定位方式,受环境影响大,定位稳定性差,且定位精度不高,组合定位开始越来越多地受到人们的重视,本文对iBeacon定位与PDR定位相结合的组合定位进行深入思考,该组合定位较为新颖,是本文的创新点的之一。通过iBeacon室内定位K临近算法的改进和PDR定位相结合,得到的组合定位系统,提高了定位精度和稳定性,减小了定位累积误差,同时降低了WiFi组合定位的成本。
但仍存在不足之处,本文采用的iBeacon室内定位技术需要在室内布置大量的iBeacon信号装置,为系统投入使用的前期准备工作带来了一定的困难,但一旦iBeacon设备布置的数量和位置合理,定位的准确性也比较高。