四轴飞行器平台的WiFi室内定位系统研究
2018-06-15,,
,,
(武汉纺织大学 数学与计算机学院,武汉 430200)
引 言
近年来随着信息技术和电子技术的不断进步,无人机得到迅猛发展[1]。其中固定翼在军用中使用比较多,民用中多旋翼[2-3]应用比较广泛。然而在无人机应用过程中,定位是一个比较重要的问题。在室外,无人机一般都是使用GPS定位,基本上可以满足应用要求。在室内,由于受建筑物的影响,GPS信号衰减比较严重,需要另外一种室内定位方法[4]。目前室内定位方法有:红外定位、超声波定位、射频识别(RFID)定位、WiFi定位[5-6]、蓝牙定位、超宽带(UWB)定位[7]等,不同的定位方法有各自的优缺点。随着WiFi热点的越来越普及,WiFi信号基本上无处不在,利用现有的WiFi网络进行室内定位可以极大地减少定位的设备成本。其它的室内定位方法都需要架设专门的定位网络,维护也需要专业人员。
因此,本文选取的方法是WiFi室内定位。在WiFi定位方法中又分为基于信号强度(RSSI)的定位、基于信号角度(AOA)的定位和基于信号时间(TOA和TDOA)的定位[2-4]。AOA的定位对WiFi热点的位置有较高要求,而基于TOA和TDOA的定位对WiFi发射方和信号接收方的时间同步有较高的要求。所以本文选择的是基于加权的K值最邻近法(KNN)的位置指纹定位方法[8-9]。使用位置指纹定位方法对WiFi的发射方和接收方都没有什么特殊要求,不需要通过信号传播模型来确定RSSI与距离的映射关系,这在很大程度上降低了定位难度,但是定位精度较低。所以本文将Kalman滤波[10-12]应用于数据的采集过程中,以提高位置指纹定位的精度。
1 定位算法
1.1 位置指纹算法
位置指纹定位作为一种与距离无关的定位算法,主要分为两个阶段:离线采样阶段和在线定位阶段。离线采样阶段:其目标在于建立一个位置特征数据库,定位系统部署人员在定位环境中遍历所有位置,同时在每个参考位置收集来自不同AP接入点的RSSI值,将各个AP的MAC地址、RSSI值和参考点的位置信息组成一个相关联的三元组数据保存在位置特征库中。在线定位阶段:定位用户在定位区域中,实时采集所有AP接入点的RSSI值,并将MAC地址和RSSI值组成二元组作为实时定位数据,按照一定的顺序遍历特征库,估算出当前位置。
位置指纹定位算法具体操作是将在不同位置上的信号强度信息S(x1,x2,x3,…,xn)和坐标信息D(x,y)对应:
F′(S(x1,x2,x3,…,xn))=D(xi,yi)
(1)
组合成位置指纹,在实验区[XN,YN]内离散地采集实验点D(xi,yi)的强度信息S(x1,x2,x3,…,xn),将所有点的数据收集建立位置指纹库F:
F(S(x1,x2,x3,…,xn))=Σ[XN,YN]D(xi,yi)
(2)
指纹库F中S(x1,x2,x3,…,xn)与D(x,y)一一对应,通过实时采集的待测点的信号强度与指纹库中的数据,根据一定的匹配算法实现定位。位置指纹定位算法又主要分为确定型和概率型两大类。前者计算量小,但是定位精度低;后者定位精度高,但是计算量大。考虑到应用于四轴飞行器上,需要进行快速定位,所以本文选择确定型的位置指纹定位算法。
1.2 KNN匹配算法
确定性定位算法是一种基于KNN的匹配算法。本文为提高算法的定位精度,选择的是基于加权的KNN匹配算法。该算法实质是计算待测点信号强度与指纹库中样本点信号强度的欧式距离,取K个最近点,让这K个最近点取不同的权值,从而估算出最终结果。假设用于测量的WiFi热点数量为n,样本点个数为N,待测点为A,则A点与指纹库中单个样本的欧式距离dj为:
(3)
其中j=1,2,…,N,ss表示待测点所测得WiFi热点的信号强度,SSi表示指纹库中样本的信号强度。在测得A点与指纹库中的所有样本的欧式距离后,选择K个最小的欧式距离的样本点。计算这K个样本点的权重,如式(4)所示:
(4)
则待测点A的测量坐标(x,y)为:
(5)
在使用位置指纹定位算法时,默认数据源都是真实的,但如果数据源不准确将会对后续步骤产生严重的影响。尤其在建立指纹库时,导致指纹库中的样本不准确,从而使定位精度下降。所以本文将会从数据的采集阶段对位置指纹算法进行改进。
1.3 算法改进
WiFi信号非常容易受环境因素的影响,由于受障碍物的阻挡,WiFi信号会发生折射和衍射等多径传播、多址传播,导致同一位置的不同时间所测得的RSSI都有或大或小的扰动,从而影响定位精度。在实验中无物体扰动的环境下,每1 s采集一次强度值,共采集400组数据。测得信号强度的极差为5 dB,如图1所示,其中横坐标为测量次数,纵坐标为信号强度值。如果在有物体扰动的情况下,信号强度波动的极差将会变得更大。如图2滤波前信号强度的极差为25。
图1 RSSI波动图
由于本文的应用平台为四轴飞行器,在飞行的过程中对WiFi信号的扰动比较大,还有可能受其它因素影响,如果直接使用采集的数据建立指纹库和定位,会使准确性产生较大影响。如图2中滤波前数据就是在有干扰下所测得信号的强度值,所以需要对采集的数据进行平滑处理。
对此有两种处理方案:第一种是设置阈值,信号强度超出阈值的数据直接删除重新采集[13];第二种是将信号强度数据直接经过滤波平滑处理。前者测到的数据会更加接近真实值,但是采集的数据可能会一直超出阈值,系统一直处在采集数据的过程中。后者采集数据的真实性没有前者高,但是数据处理速度更快。所以本文的改进方案是在数据的采集过程中加入Kalman滤波。
Kalman滤波器是一种最优状态估计方法,通过输出和输入观测数据,求系统状态的最优估计。
基本步骤为:
① 确定Kalman滤波相关参数;
② 建立指纹库时,采集30组数据并经过Kalman滤波;
③ 滤波后的数据取平均值作为最终值存入指纹库中;
④ 定位时,采集10组数据并经过Kalman滤波;
⑤ 滤波后的数据取平均值作为最终定位的值。
实验中利用四轴飞行器平台,在有人为扰动的情况下采集了76次数据,如图2所示。其中虚线是原始值,实线为滤波后的值,横坐标为采集次数,纵坐标为信号强度。从图中可以看出经过滤波后可以很好地对一些跳变值进行平滑处理。
图2 RSSI滤波图
在Kalman滤波参数确定过程中,主要需要确定的参数有:系统状态量A、测量系统参数H和测量方差R。本文通过采集一定时间的WiFi信号强度值,然后求其方差来确定R的值。通过取不同的值查看滤波效果来最终确定A和H的值。所以可以通过确定系统状态量A和测量系统参数H来调整滤波的效果。
2 实验结果与分析
本文使用的四轴飞行器平台为Crazepony四轴飞行器,Crazepony是一款软硬件都开源的迷你四轴飞行器,适合在室内使用。WiFi热点使用的4个是ESP8266 WiFi模块。还有一块STM32103最小系统板用作数据采集和处理。在实验时进行两次测试,一次有滤波,另一次没有滤波。
2.1 指纹库的建立与实时定位
实验区域为7 m×8 m的空间,每隔1 m设定一个采样点,总共设置了42个样本点。WiFi热点分别放在四周。样本空间分布图如图3所示。在样本点每秒测量1次,测量30次再取平均值作为该样本的最终信号强度记录在指纹库中。在建立指纹库时,分别建立一个没有使用滤波的指纹库和使用了滤波的指纹库。
图3 样本空间分布图
在实时定位时,让四轴飞行器在分别飞到A(3,2)、B(2,6.5)、C(5,5)、D(3.5,3.5)四点进行定位测试。采集10次数据取平均值作为定位的信号强度值。
2.2 结果与分析
在没有使用滤波的情况下,进行指纹库的建立和实时定位。在A、B、C、D四点分别进行了10次定位测试,从表1可以看到,定位的平均误差为2.62 m。从图4可以看出,在实验过程中由于受环境扰动的影响,10次试验的定位误差有明显的波动。4个点中最大误差的极差为1.26 m。
使用Kalman滤波后,再进行指纹库建立和实时定位。从表1可以看到,定位的平均误差为2.12 m。而从图4中可以看到在4个点上的10次的实验结果变化比较平缓,实验误差的最大极差值为0.4 m。
从有滤波和没有滤波的两次实验可以看出,在数据采集过程中,添加Kalman滤波后对定位误差的波动有一定的抑制作用,而且对比两次实验结果,加入滤波后定位精度有了一定的提高。
定位误差的折线图如图4所示,实线加了滤波,虚线没有滤波,其中横坐标是定位次数,纵坐标是定位误差。
图4 定位误差折线图
待测点A(3,2)B(2,6.5)C(5,5)D(3.5,3.5)平均误差/m定位平均误差/m(滤波)1.752.162.372.22.12定位平均误差/m(没有滤波)2.642.512.682.632.62
结 语
[1] 王春贺.四轴无人机在武警部队的应用浅析[J].读书文摘,2016(4).
[2] 吴强.警用无人机引发的现实思考[J].中国人民公安大学学报:自然科学版,2015(2).
[2] 王大鹏,王茂森,戴劲松,等.四旋翼飞行器悬停建模及控制[J].兵工自动化,2017(5).
[3] Castillo P,Dzul A,Lozano R.Real-time stabilization and tracking of a four-rotor mini rotorcraft[J].IEEE Transactions on Control Systems Technology,2004,12(4):510-516.
[4] 张明华.基于WLAN的室内定位技术研究[D].上海:上海交通大学,2009:36-38.
[5] 杨志红.基于WiFi室内无线定位技术的研究[D].天津:天津工业大学,2012:8-10.
[6] 潘立波.基于 Wifi 技术的无线定位算法研究与实现[D].杭州:浙江大学,2013:1-75.
[7] Jiménez R A R,Seco G F.Comparing Ubisense,Be Spoon,and Deca Wave UWB Location Systems:Indoor Performance Analysis.IEEE Transactions on Instrumentation and Measurement,2017.
[8] 卢恒惠,刘兴川,张超,等.基于三角形与位置指纹识别算法的WiFi定位比较[J].移动通信,2010(10).
[9] 吴泽泰,蔡仁钦,徐书燕,等.基于K近邻法的WiFi定位研究与改进[J].计算机工程,2017,43(3).
[10] Zhou Yong,Li Youwen,Xia Shixiong.An Improved KNN Text Classification Algorithm Based on Clustering[J].Journal of Computers,2009,4(3):230-237.
[11] Woods J W,Radewan C H.Kalman Filtering in Two Dimensions.IEEE Transactions on Information Theory,1977.
[12] Kalman RE.A new approach to linear filtering and predictionproblems.Transactions of the ASME-Journal of Basic Engineering,1960.
[13] 魏菲,李允俊,金华.使用位置指纹算法的WiFi定位系统设计[J].单片机与嵌入式系统应用,2014(5).