APP下载

一种应用于机器人室内定位的WiFi FLA

2023-03-29叶和敏彭建盛

计算机仿真 2023年2期
关键词:定位点马氏参考点

叶和敏,彭建盛,2

(1.广西师范大学电子工程学院,广西桂林541004;2.河池学院人工智能与制造学院,广西宜州546300)

1 引言

随着室外GPS定位[1]的不断发展,GPS定位技术为人们带来了巨大的便利[2]。近年来,人们对室内定位的需求越来越大[5]。但目前问题是,GPS信号会受到室内建筑物的遮挡和吸收[3]导致定位精度难以满足人们在室内定位的需求[4]。针对室外定位技术无法适用于室内定位的问题,越来越多的研究者投入到室内定位技术的研究中来。文献[6-7]的作者提出了采用红外线来进行室内定位。采用红外线技术进行定位最大的问题就是红外线无法穿透室内障碍物,使得它只能视距传播且易受其它光源干扰。针对该问题,文献[8]提出了基于蓝牙指纹的室内定位,采用融合聚类的方式对K-means算法进行优化,最后通过肘方法和轮廓系数法确定最佳聚类数及K-means算法的初始聚类中心。文献[9]提出一种基于区域优选的自适应蓝牙指纹定位算法,通过离线阶段建立RSSI位置映射指纹库,在线阶段,采用加权欧式距离和区域优选算法,最终实现90%的点定位精度优于1.5米。不过蓝牙定位技术存在信号覆盖范围小的问题。在较大的室内空间需要布置大量的蓝牙基站,这显然是不现实的。随着无线WLAN技术的发展,无线WiFi设备成为人们在室内的无线网络接入点,而且越来越多室内环境随处可见。因此采用WiFi信号进行室内定位最大的优点是不需要额外布置定位所需的设备[13]。文献[14]基于WiFi定位,提出了一种奇异谱分析与高斯过程回归算法相结合的室内WiFi定位方案。文献[15]提出一种基于WiFi指纹数据空间位置关系对指纹数据分级的方法,实验结果表明,该方法实现了1.5米的平均定位精度。文献[14-15]均采用传统的WiFi指纹算法进行室内定位的。但是平均定位精度在1.5米~3米。

显然这样的精度难以满足机器人在室内定位精度的要求。导致传统算法定位精度不高的问题在于:传统算法参考点间距通常为1米,参考点间距较大会导致算法定位误差增大;传统算法通常在一个时段进行WiFi信号采集,所采集的WiFi信号不够全面,用于定位时将产生较大误差;传统算法的位置指纹数据特殊性不高,容易出现匹配错误;传统算法采用欧式距离大小作为相似度参考,指纹匹配准确率不高。因此,提出一种应用于机器人室内定位的WiFi指纹定位算法,所提算法实际上是在传统算法基础上进行相应的改进和优化。在改进的算法中,将原来参考点间距1米缩小为0.3米,增加参考点的数量[10]。然后采用分时段采集方法在一天不同时段采集不同次数的WiFi信号强度数据,使得采集到的信号强度值足够全面。针对传统算法的位置指纹数据特殊性不高的问题,采用标准化处理方法[11]对采集到的WiFi信号进行标准化处理,从而提高指纹数据的特殊性。由于传统算法指纹匹配准确率不高,在实时定位阶段,以马氏距离大小作为相似度参考并融合改进的自适应K值WKNN算法,从而提高指纹匹配的准确率。

2 定位系统的介绍

该系统是对机器人进行室内定位。图1所示是机器人室内定位系统图。为了获得机器人在室内中的位置。在离线阶段,用户通过移动终端或PC端连接机器人上的WiFi热点信号,访问机器人的控制页面。通过控制页面,可以控制机器人进行WiFi信号采集和存储。机器人在室内分布均匀的N个参考点采集位于室内不同位置的q个路由器的WiFi信号。在每个参考点处采集到q个WiFi信号强度值并组成信号强度向量(rssi1,rssi2,…,rssiq)。经过机器人对数据的处理并将该参考点的所有信息存入的机器人的指纹数据库中。机器人在此系统中起到关键性作用,数据的处理和定位算法的执行均在机器人上进行。在实时定位阶段,用户通过控制页面发出定位请求。机器人在接收到定位请求指令后,机器人立刻采集当前位置的WiFi信号,经过机器人CPU对数据的处理和计算,最终把定位结果返回到控制页面上。用户此时可知道机器人在室内的位置。

3 基于传统WiFi指纹定位算法的改进

图2是机器人室内定位系统运行模型图,该模型主要分为两个阶段:离线操作阶段和实时定位阶段。在离线操作阶段,首先将室内划分为等间距的网格图,每个网格的顶点作为机器人采集信号的参考点。机器人在室内每个参考点进行信号采集,在每个参考点采集到q(室内WiFi接入点个数)个WiFi信号强度值。然后继续从其它参考点采集WiFi信号强度值,直到将室内所有参考点的信号强度值都采集完。最后经过标准化处理WiFi信号建立位置指纹标准化数据库。该数据库包含参考点位置坐标、参考点采集到WiFi信号强度值的期望向量以及WiFi信号强度值的协方差矩阵。

图2 机器人室内定位系统运行模型

在实时定位阶段,机器人在室内某个待定位点采集q个实时的WiFi信号。然后采用马氏距离公式计算待定位点采集到的数据与指纹数据库的各个指纹数据之间的马氏距离。以马氏距离大小作为相似度的参考。然后采用改进的自适应K值WKNN算法计算出待定位点的坐标。最后机器人将待定位点的坐标发送到手机端或PC端。用户可在控制页面上查看到机器人在室内的位置,由一个红点表示出来。

3.1 减小参考点间距

目前传统的WiFi指纹的定位算法,每个参考点间距通常为1米。为了获取室内更多有效信息,从而提高算法定位精度,将传统算法参考点间距从1米改为0.3米。如图3所示是长10.5米宽7.3米的室内俯视图,其中每个小圆点代表一个参考点,每个参考点间距是0.3米。在这个室内不同位置布置了4个WiFi接入点,分别是AP1、AP2、AP3、AP4。

图3 室内俯视及参考点位置

3.2 分时段采集WiFi信号构建指纹数据库

WiFi信号强度值在室内传播会受到多径、散射、衍射、反射以及室内物体吸收等影响。WiFi信号强度值每时每刻都存在波动,而且一天中每个时段波动的程度也存在差异。针对该问题,改进的算法在室内每个参考点进行了n=100次的WiFi信号采集,而且这100次采集是在不同时段的室内环境下进行的,分别是早上8:00-11:30采集30次,中午12:00-1:30采集10次,下午2:30-5:30采集30次,晚上7:30-10:30采集30次。这样分时段的采集将有效解决WiFi信号噪声对定位精度影响较大的问题。

3.3 构建标准化指纹数据库

改进的算法所构建的指纹数据库与传统算法构建的指纹数据库不同,称之为标准化指纹数据库。传统算法的指纹数据通常表示((xt,yt),RSSI1,RSSI2,RSSI3,RSSI4),其中(xt,yt)表示参考点t的坐标,RSSI1~RSSI4表示在参考点t处采集到的4个WiFi设备的平均信号强度值。传统算法的指纹数据特殊性很低导致定位精度不高。为此,采用标准化处理方法对WiFi信号进行标准化处理。标准化处理后的指纹数据标记为((xt,yt),m(t),∑t),t表示当前参考点(t=1,2,…,N)。对于这样的指纹数据,指纹数据库中有N个(N表示参考点的总数)。其中,(xt,yt)表示参考点t的坐标。m(t)是参考点t处采集到4个WiFi设备信号强度的期望向量,m(t)可以由式(1)估计得出

(1)

其中,向量中的第一项表示为参考点t处采集接入点AP1信号强度的均值,X表示信号强度值,k表示第k次采集,n为采集总次数。第二、三、四项分别表示AP2、AP3、AP4的信号强度均值。∑t是一个协方差矩阵,它可以表示为

(2)

(3)

实时定位过程中,机器人在待定位点采集实时WiFi信号强度值,将当前采集到的信号强度值与指纹数据库中所有指纹数据进行匹配计算来获取机器人当前位置的坐标。

3.4 实时定位过程

1)获取实时WiFi信号来确定位置坐标:机器人在室内的一个待定位点处采集分布在四个不同位置的WiFi接入点的信号强度值,构成信号强度向量x=(rssiAP1,rssiAP2,rssiAP3,rssiAP4)。得到该数据后机器人将启动定位程序,直到获得定位结果。

2)马氏距离作为相似度的评判标准:由(1)中机器人已获取了待定位点的实时信号强度向量x=(rssiAP1,rssiAP2,rssiAP3,rssiAP4),将向量x与指纹数据库中所有指纹数据进行相似度计算。基于马氏距离大小作为x与指纹数据相似度的衡量标准,马氏距离越小,相似度越大。马氏距离可表示为式(4):

(4)

3)改进的自适应K值WKNN算法:文献[11]是通过计算出x与指纹数据中的m(t)和∑t的最小马氏距离即可估计出待定位点坐标。这样做可能会忽略其它参考点对定位精度带来的积极作用。所以,对此作出改变。首先由机器人获取的实时信号强度向量x=(rssiAP1,rssiAP2,rssiAP3,rssiAP4),然后由式(4)来计算x与所有参考点指纹数据的马氏距离d。对计算出的马氏距离进行升序排序。排序后马氏距离最小的是d1,最大的是dN,N是参考点的数量。d1N是d1与dN的距离差。由式(5)计算出距离差的平均值

(5)

(6)

如果d1t>S,则将对应的参考点排除。反之,将其保留,剩下的参考点数量就是K值。

为了进一步剔除离群点,保留对提高定位精度有效的点,对这K个参考点进行再一次排除。首先,计算马氏距离最小的参考点对应的坐标(x1,y1)与剩下K-1个参考点坐标的欧式距离[16],标记为dist12,dist13,…,dist1k,其中dist1k可表示为

(7)

当dist1k>dmin时,将该参考点从K个参考点中移除。dmin的值根据环境不同可做相应调整,经测试,dmin=1时在本文实验环境中取得较好的结果。

然后对剩下的k(k

(8)

其中,(x,y)是机器人最终得到的定位结果,(xt,yt)是参考点的坐标。dt是参考点t位置指纹对应的马氏距离。ε是一个很小的正整数,它的作用是防止分母为零。

4 实验结果及分析

实验是在一间长10.5米,宽7.3米的实验室进行的,实际室内环境如图4所示。该实验室中分别在室内的4个不同位置布置了4个WiFi设备,4个WiFi设备的型号都是MERCURY 310。图中的机器人正在采集WiFi信号,机器人上采集信号的设备是树莓派3B+,搭载的是OpenWrt系统。

图4 室内环境图

为了验证改进的算法有效性,在室内随机选取58个待定位点进行定位测试。分别采用传统的WiFi指纹定位算法和改进后的WiFi指纹定位算法在这58个待定位点进行定位。定位结果如图5所示。通过图5可看出改进后的算法在定位精度上优于传统的WiFi指纹定位算法。传统的WiFi指纹定位算法平均定位精度是1.60米。而改进后的算法平均定位精度达到0.49米。

图5 定位误差对比图

5 结论

传统WiFi指纹定位算法定位精度较低,难以满足机器人室内定位精度要求。为了提高传统算法的定位精度,对它进行如下改进:将传统算法参考点间距1米缩小为0.3米,增加了参考点数量,从而减小算法的定位误差;采用分时段采集方法对WiFi信号进行采集,使得采集到的WiFi信号强度值更加全面,有利于构建具有代表性的指纹数据;采用标准化处理方法处理WiFi信号数据,提高指纹数据的特殊性,有利于提高算法定位精度;在实时定位阶段,基于马氏距离大小作为匹配相似度的参考,并融合了改进的自适应K值WKNN算法,提高算法匹配的准确率。最后实验结果显示,改进后的算法定位精度达到0.49米,定位精度比传统算法提高了1.11米。改进后的算法定位精度满足机器人室内定位的要求。

猜你喜欢

定位点马氏参考点
数独小游戏
一类时间变换的强马氏过程
有环的可逆马氏链的统计确认
FANUC数控系统机床一键回参考点的方法
关于树指标非齐次马氏链的广义熵遍历定理
参考点对WiFi位置指纹算法的影响
地铁刚性接触网定位点脱落状态分析
汽车大灯定位方案设计研究
一致可数可加马氏链不变测度的存在性
数控机床返回参考点故障维修