景晓娟,曹以龙,景旭川
(上海电力大学 电子与信息工程学院,上海 201306)
在室内环境,卫星信号的传播受到严重阻碍,GPS等传统定位系统的定位精度达不到要求,无人机无法正常飞行。因此研究人员提出了应用各种方法的无人机室内定位方案[1-3]。目前,无人机室内定位方法主要方法分为基于超声信息和基于视觉的定位。文献[4]提出了一种利用超宽带(UWB)无线电信号的无人机定方法,该方法通过将光线跟踪算法的校正值应用于UWB测距数据,可以改善非视线情况的定位性能,但是此方法需要部署多个定位基站,增加了成本。文献[5]提出了一种基于WIFI信号测距的无人机室内定位方法,但是基于距离的WIFI定位方法需要提前知道每个AP的精确位置,这造成了无人机定位实施的困难度。文献[6]提出了一种将摄像机的光流数据与惯性传感器信息融合的四旋翼无人机室内定位方法,但是在视觉定位中图像处理量巨大,一般计算机无法完成运算,因此该方法耗电高且定位实时性较差。
由于WIFI接入点(AP)几乎在每座建筑内广泛存在,基于WIFI接收信号强度(RSS)指纹的方法被广泛使用[7],这种方法无需安装其它专用设备,成本低廉,但是无线信号传播的不稳定性会引起位置估计误差,无人机的高速飞行更会严重影响定位精度。对此,本文提出了一种多传感器协同WIFI指纹定位的无人机室内定位方案。该方案解决了基于WIFI RSS指纹定位应用于无人机室内定位的一些突出问题,通过利用超声波传感器提供的无人机高度信息,减轻了WIFI室内定位的计算量,提升了系统定位速度;通过利用机载惯性测量单元(IMU)信息和设计的卡尔曼滤波器以及提出的数据拟合方法提升了系统定位精度,使得本定位系统可应用于无人机室内定位。
本文所提出的无人机室内定位系统由两部分组成:无人机客户端和服务器,如图1所示。无人机客户端主要包含3个传感器模块。在飞行定位过程中,无人机客户端中的WIFI模块定时采集周围AP的RSS信息及其物理地址(MAC),同时,超声波传感器测量无人机在WIFI扫描周期的平均高度,惯性传感器测量飞机的三轴加速度及位姿信息,这些测量数据通过移动网络/无线通信发送到服务器,服务器则根据采集的信息完成无人机的实时定位并把定位结果传回给无人机。
图1 无人机室内定位系统框架
服务器包含有离线构建的定位区域的WIFI RSS指纹数据库,WIFI定位算法以及后续定位结果的优化均是在此服务器中完成的。通过测量的RSS信息以及飞机高度数据,可以完成本文所提的WIFI定位方法。然后将此WIFI定位结果作为卡尔曼滤波器预测阶段的输入,结合无人机实时三轴加速度数据,完成对WIFI定位结果的优化。结合无人机的直线飞行特点,再通过本系统的路径拟合模块,利用历史定位数据,对无人机当前的位置信息可以得到更准确的估计。
WIFI指纹定位包含两个阶段:离线阶段和在线阶段。
离线阶段:在定位空间内各位置采集多个WIFI信号的接收信号强度,对同一点进行多次测量采样并取平均值,保证采集的数据库信息的准确性,把空间位置与各AP的RSS值存储起来,形成WIFI指纹数据库,如表1所示。
表1 WIFI指纹数据库
其中,RPi(i=1,2,…,n)为采样点,xi,yi,zi表示对应的空间位置的三轴坐标,MACj(j=1,2,…,m)表示第j个AP的MAC地址信息,RSSmn表示在第n个采样点测得的MAC地址为MACm的AP的RSS值。
在线阶段:在线定位阶段主要是利用匹配算法将无人机当前测量得到的WIFI信息与指纹数据库中的信息进行比较,进而得到当前时刻无人机在空间中所处的位置。本文采用的算法为加权k-近邻法(WKNN)匹配算法[8,9]。WKNN的实现方法是比较无人机实时采集的WIFI信息特征与WIFI指纹数据库中所有位置的WIFI信息特征的相似度,利用无人机在定位点实时采集的AP的MAC地址及其RSS,再计算与指纹库数据中各位置相同MAC地址的RSS值之间的欧氏距离(Euclidean distance)的大小来衡量两个位置之间的相似程度。欧氏距较小的WIFI指纹数据库中的位置,则认为是与当前位置更加接近[8]。比较指纹库中所有位置与当前位置的欧氏距离后,选择欧氏距离最小的k个指纹库位置作为实时接收信号的位置估计,具体的欧氏距离计算公式如式(1)所示
(1)
在计算n个欧式距离之后,选择距离最小的k个指纹库位置来估计无人机所处位置。由于欧氏距离越小的点理论上越接近无人机的位置,为了表示这种相关性,对k个参考点赋予一个权重wi,wi越大,表示参考点距离目标点的欧氏距离越近,反之越远,wi可表示为
(2)
式中:di表示第i个指纹库位置点到无人机目标点的欧氏距离,ε表示一个值很小的调节因数,来防止计算的时候分母为零。利用权重因子wi对无人机位置进行估计,如式(3)所示,得到的结果即为WKNN算法匹配到的位置
(3)
传统的WIFI指纹定位方法是在二维平面进行的,离线阶段只需在一个平面选取参考位置并采集WIFI RSS指纹,但是应用于无人机定位的WIFI定位方法需要选取多个平面的参考位置,因为无人机是在空间中运动的。这样,相比于二维WIFI RSS指纹数据库,三维WIFI RSS指纹数据库中的参考点大大增多。离线数据库采集时,若在一个平面选取m个参考位置,采集n个平面层的三维空间就会有m*n个参考位置,由式(1)可知,在一次WIFI定位计算中需要计算m*n个欧氏距离,并且在这m*n个欧氏距离中找出最小的k个位置用以估计无人机位置,由于大量的计算时间导致定位频率较低,使得无人机无法准确导航。显然,简单地将传统的WIFI指纹定位方法应用于无人机室内定位是不可行的。
本文通过在无人机上配置超声波传感器来解决这一问题。超声波传感器测量无人机高度位置,知道无人机高度信息后,WIFI指纹定位在线阶段只需选取此高度的上、下两个平面的参考位置进行定位,参考点大大减少。这样只需计算m*2个欧式距离,相比于普通匹配方法,减少了m*(n-2)个点的欧式距离的计算量,显然WIFI定位速度会更快。具体实现方法如图2所示,在一个WIFI扫描周期中,超声波传感器不断测量无人机高度,并将结果累加,扫描结束后计算扫描周期内无人机所处的平均高度H,设建立数据库时两个参考点平面高度相差Δz,通过H/Δz得到当前应选取的两个平面的参考点。
图2 改进位置匹配算法
由于无人机是一直运动的,加上RSS存在波动,故WIFI指纹定位的初步位置是不能直接使用的。卡尔曼滤波器是解决随机信号预测和随机信号与随机噪声分离的著名方法之一,可对初步定位位置进行最优估计[10,11]。因此,本文将WIFI定位结果作为卡尔曼滤波器预测阶段的输入,通过卡尔曼滤波器融合惯导数据得到更准确的无人机位置估计。利用卡尔曼滤波模型对无人机的运动状态进行状态方程建模,状态方程如式(4)所示
Xk=AXk-1+BUk-1+ωk-1
(4)
惯性传感器测量的无人机加速度信息作为输入,可以得到无人机的速度信息,公式如式(5)所示
(5)
式中:Δt是一个定位周期的时间间隔,利用速度信息,可以得到无人机的位置信息,公式如式(6)所示
(6)
根据卡尔曼状态方程,可以得到A和B分别为
(7)
(8)
(9)
(10)
卡尔曼滤波过程如下:
(1)通过状态方程来计算预测当前时刻的位置
(11)
(2)计算预测当前时刻误差的协方差矩阵
Pk-=APk-1AT+Qk
(12)
(3)计算卡尔曼增益
Kk=Pk-HT(HPk-HT+Rk)-1
(13)
(4)预测当前状态向量
(14)
(5)更新协方差矩阵
Pk=(E6-KkH)Pk-
(15)
(1)当无人机改变路径,检测到姿态角有较大变化之后并保持稳定时,当前定位周期设为T0。
为了验证所提定位策略的有效性,在MATLAB平台上搭建了仿真模型进行模拟实验。本文设置了一个20 m*5 m*5 m的三维空间,为了模拟真实WIFI环境,在空间内随机选取8个位置设置8个AP,各AP发射功率同样随机设置,WIFI信号RSS符合无线信号衰减模型分布在空间内。离线WIFI指纹库建立时,设置采样距离间隔0.5 m,对空间各点采样(该位置所有AP的RSS值),建立样式如表1所示的WIFI指纹数据库。
在空间内创建一条目标路径,目标点按此路径移动。移动过程中,以5 Hz的频率获得目标点所在位置的8组RSS,由于RSS是周期性波动的以及无线信号的干扰,所以对获得的RSS值添加了一个方差为-5的随机噪声。对于定位系统中超声波传感器的高度值测量,本文将目标点的高度值加上方差为0.2的噪声作为超声波传感器的测量值。惯性传感器测量的三轴加速度信息,则是根据目标点的加速度值加上方差为0.05的噪声得到的。路径拟合时所需的无人机路径改变识别,则是根据目标点的转折代替的。
模拟定位中,令目标点先后沿(2,4,0.8),(2,4,1.8),(18,4,1.8),(18,4,3.8),(18,2,3.8),(2,2,3.8),(2,2,1.8)以0.5 m/s的速度直线移动。图3展示了一次模拟定位中系统各阶段定位数据的三维图。可以看到,WIFI定位位置分布于整个空间,说明仅使用WIFI RSS指纹定位方法会有较大定位误差。当采用了卡尔曼滤波器对WIFI指纹定位结果和无人机三轴加速度信息融合之后,可以看出定位位置比较接近真实路径,这说明本文设计的卡尔曼滤波器发挥出了较好的效果,通过机身加速度信息与WIFI定位的结合,使定位精度得到了极大提升。图4分别展示了该次模拟定位中卡尔曼滤波器对WIFI指纹定位结果的估计位置和采用二次多项式对此估计位置拟合后的位置轨迹在3个坐标面的投影轨迹。可以看到,经过卡尔曼估计的轨迹在每一个坐标面的投影都比较接近真实轨迹,说明通过卡尔曼滤波器将机载惯性传感器信息和指纹定位信息融合的效果在3个方向都有良好的效果。卡尔曼估计位置路径存在一定的抖动,通过本文所提路径拟合策略将估计坐标拟合后,由图3、图4可以看出,经过二次多项式拟合的路径更加平滑,更接近于真实的轨迹。这说明在无人机趋于线性运动的情况下,本文所提的路径拟合策略能有效减小定位位置的抖动,提升定位系统精度。整体看来,本文所提的每一步定位策略都能起到一定作用,使得基于WIFI RSS指纹的定位方法成功应用于无人机室内定位中,且有较好的定位精度。
图3 三维定位路径
图4 定位轨迹在3个平面的投影
为了验证本文所改进的WIFI指纹定位中WKNN匹配策略是有效的,图5(a)、图5(b)分别展示了应用改进WIFI指纹定位和应用传统WIFI指纹定位误差的累积分布(CDF)。因为在模拟中不能体现处理器处理数据的时间耗费,为了体现所提改进WIFI指纹定位算法的快速性,我们将传统的WIFI定位算法的输出结果更新频率设置为2.5 Hz,结合超声波传感器的改进的WIFI定位算法输出结果更新频率设置为5 Hz。目标点移动速度恒为0.5 m/s,在空间中沿不同路径移动,两种WIFI定位算法分别进行10次定位模拟。从图中可以看出,在采用改进的WIFI RSS指纹定位方法后,WIFI定位CDF在误差为4 m时达到1,这说明改进的WIFI定位误差在移动速度为0.5 m/s的情况下都在4 m之内。将WIFI定位结果经过卡尔曼滤波器融合加速度数据后,定位误差CDF在1.6 m达到1,这说明定位误差均分布在1.6 m以内。将卡尔曼滤波后的定位位置经过本文的路径拟合策略之后,定位误差CDF在1.3 m达到1,说明该拟合方案是有效的。采用普通的WIFI RSS指纹定位算法,WIFI定位误差CDF在误差为4.3 m时达到1,在对定位位置进行路径估计和路径拟合之后分别在1.8 m和1.5 m达到1。对比可知,改进的WIFI RSS指纹定位算法因为减少了大量的计算时间,使得系统定位频率提升,从而实现了更高的定位精度。同时,我们可以看到采用WIFI定位的初步定位结果误差较大,是不能直接应用到无人机室内定位的,通过设计的卡尔曼滤波器融合惯性传感器加速度数据后的定位精度有了大幅提升,增加一级路径拟合策略后的定位误差更小,实现了基于WIFI RSS指纹定位方法成功应用于无人机室内定位。
图5 两种WIFI定位方法下定位误差累积分布
由于无人机能以不同的速度飞行,因此本文还评估了速度对系统定位精度的影响。分别让目标点以0.5 m/s,1 m/s,2 m/s,3 m/s的速度沿同一路径移动,进行10次模拟定位,统计平均定位误差,如表2所示。可以看出,定位误差随着无人机飞行速度的增加而增加,在飞行速度达到2 m/s时,定位误差出现了一个较大的增幅。这是由于当无人机以较高的速度运动时,WIFI RSS测量的次数会受到限制,这是RSS应用于无人机的主要缺点。从表2还可以得出,使用本文的定位策略,无人机飞行速度为3 m/s时,平均定位误差可降低至2 m,相比于原始的WIFI定位的3.5 m误差,减小了42.8%,这个定位误差对于无人机是可以正常工作的,说明本定位系统在无人机以较高速度飞行时仍能发挥作用,有效减小了WIFI定位的误差,在无人机高速飞行时仍能保持较高的稳定性。
表2 不同飞行速度下的定位误差
相比于其它定位方案,本文所提方法基本上是RSS指纹匹配和无人机必备的传感器,系统成本极低,定位功耗极低,实验的目的是验证低成本的基于WIFI RSS指纹识别的方法用于无人机室内定位的可行性。从模拟结果来看,本文所提方法可实现基于WIFI RSS指纹定位的无人机室内定位,并且有较好的效果。
本文提出了一种基于WIFI RSS指纹技术与多传感器数据融合的四旋翼无人机室内定位方法。由于传统的WIFI RSS指纹定位方法不能直接用于无人机室内定位,因此针对传统的WIFI RSS指纹定位方法提出了改进,所做的工作有:
(1)利用超声波测量高度信息,根据测量得到的高度信息判断无人机所处的高度层,利用该临近两个层面参考点进行WIFIRSS指纹定位,提升位置的匹配速度,从而提高无人机定位的频率。
(2)设计了卡尔曼滤波器,对WIFI指纹定位位置和惯性传感器测量的数据进行了融合,提升了无人机定位系统的定位精度。
(3)采用二次多项式数据拟合方法对卡尔曼估计位置进行拟合,减小无人机的定位抖动问题,进一步提升了无人机的定位精度。