曹以龙, 景晓娟, 景旭川
(上海电力大学 电子与信息工程学院, 上海 200090)
近年来,无人机被广泛应用于室内环境中[1],但如何在室内对四旋翼无人机实现准确定位仍然是一个具有挑战性的问题。ZHOU M等人[2]提出了一种利用室内公共WLAN进行室内无人机定位的方法,在定位空间中建立指纹数据库,通过将实际信息与数据库中的参数进行对比来实现定位,不过该方法易受环境干扰,导致结果出现较大波动。于拓[3]提出了一种面向动态四旋翼无人机的定位方法,利用历史定位数据来修正无人机的飞行路径,从而提高基于WIFI的定位系统的精度,但如果历史定位数据有较大误差,就会对后续定位产生影响。YOON P K等人[4]提出了一种使用蓝牙低功耗和惯性测量单元的新型室内定位方法,在蓝牙测量存在异常值的情况下,该算法可以保持较高的位置跟踪精度,不过蓝牙信号传输功率小,不适用于大型室内场合的定位。
本文提出了一种基于惯性导航系统(Inertial Navigation System,INS)和WIFI指纹定位技术(以下简称“WIFI定位”)的四旋翼无人机室内定位方法,解决了INS定位的误差累积问题和WIFI定位的波动问题,使得定位结果更加稳定、精确。
INS定位技术通过内部的传感器数据估计无人机的最新位置,根据已知的当前位置来估计下一位置。INS用于检测和测量加速度、倾斜、冲击、振动、旋转和多自由度运动,是负责导航、定向和运动载体控制的重要部件。它包含加速度计、陀螺仪和磁力计3部分:加速度计计算加速度和倾角,陀螺仪测量无人机的旋转角度,磁力计用于获取无人机的方向信息。所有的运动都可以看作一个直线运动和一个旋转运动的合成,因此可以由INS得出无人机的运动状态[5]。在无人机飞行过程中,可使用欧拉角、四元数或方向余弦矩阵来表示无人机的姿态。欧拉角由俯仰角θ、翻滚角φ和偏航角ψ组成,可以用来表示无人机的姿态角,四旋翼无人机中的欧拉角如图1所示。
图1 四旋翼飞行器中的欧拉角示意
由于欧拉角会出现万向锁问题,因此本文中采用四元数来表示。其转换公式为
(1)
式中:q0,q1,q2,q3——四元数。
由式(1)可以得到四元数与欧拉角的转换公式为
(2)
INS能够检测到无人机的姿态信息和加速度信息,经过公式转换即可得到飞行器的位置信息。
基于指纹数据库的WIFI定位,其原理是由于在复杂的室内空间中,不同位置接收到的信号受到信号衰减、多径传播的影响,使得空间内信号分布不均匀,不同位置采集到的信号存在特征上的差异性。这种差异性使得接收信号与地理位置构成了一种映射关系,称为“位置指纹”[6]。四旋翼无人机通过测量周围WIFI热点发送的信标得到信号接收强度(Received Signal Strength,RSS)和WIFI热点的物理地址信息,然后对比指纹数据库中的位置指纹信息推算出无人机在空间中所处的位置。
WIFI定位分为指纹数据库的建立和在线定位两个部分。数据库的建立通过记录空间位置中的RSS和接入点位置信息,生成对应的位置指纹信息;在线定位阶段则是利用匹配算法对比无人机所处位置的RSS和指纹库中各位置的RSS,结果最为相似的即为无人机自身所处的位置。本文所使用的匹配算法为改进型k-近邻法(Weightedk-Nearest Neighbor,WKNN)。
k-近邻法(k-Nearest Neighbor,KNN)是数据分类技术中常用的方法之一。指纹数据库中未知点的RSS与第i个指纹的欧氏距离可以表示为
(3)
式中:n——无人机实时接收到的物理地址相同的WIFI信号的个数;
SRSS,ik——指纹数据库中第i个物理地址相同的WIFI信号的信号强度;
SRSS,k——实时接收到的第k个物理地址相同的WIFI信号的信号强度。
KNN算法是将k个参考点坐标的平均值作为目标点的估计坐标,但是k个参考点到目标点的欧氏距离不相同,映射到实际距离也不相等,这k个参考点对于目标点位置估计的贡献程度也不相同。在计算n个距离后,选择距离最小的k(2≤k≤6)个值来估计坐标,为
(4)
(xi,yi)——第i个参考点的坐标。
采用KNN算法时,取k个最相似的参考点的坐标均值计算目标点的位置,则这些点对最终的位置估计贡献相同。两个点之间的信号强度越接近,其位置距离理论上也越近,而KNN算法中取均值的方式并没有体现出欧氏距离与实际距离的关系。
针对k个参考点的欧氏距离大小的差异,在 KNN 算法的基础上,对k个参考点赋予一个权重因子,计算目标点估计坐标时使用加权后的坐标。这一改进算法被称为改进型k-近邻法。WKNN算法也是选择k个参考点来估计未知点的位置,对参考点赋予权重因子wi。wi越大,表示相对应的欧氏距离越近;反之,越远。利用 WKNN算法计算目标点估计位置坐标为
(5)
(6)
式中:ε——一个值很小的调节因子,用以防止计算值的分母为零。
WKNN算法流程如图2所示。
图2 WKNN算法流程
INS的定位不依赖于外部环境,而是一个加速度随时间积分的过程,误差会随着时间的延长而逐渐累积;WIFI定位中RSS值容易受到环境的影响而不断变化,如果在在线定位阶段检测到未测量的WIFI信号或错误的RSS值,将导致未知点与参考点的欧氏距离出现极大的误差[7]。对此,本文提出了一种结合INS定位和WIFI定位的四旋翼无人机室内定位方法。
精准的初始位置可以使INS定位和WIFI定位两种方法更好地融合。初始位置的确定方法如下。
步骤1 无人机开机启动WIFI定位,对一段时间内的多次定位位置取中位平均值,并将此位置作为INS定位的初始位置。
根据INS定位和WIFI定位的不同特性,进行优势互补。短时间内INS定位较准确,而时间过长则输出误差较大;单独的WIFI定位没有累积误差,长时间后仍可使用,但定位波动较大。因此,每隔一段时间用WIFI定位修正INS定位的结果,就不会出现累积误差,也不会出现波动较大的WIFI定位误差。具体的INS定位和WIFI定位融合步骤如下。
步骤1 由于INS定位的频率相较于WIFI定位更高,因此在WIFI定位结果未更新时使用INS定位结果作为无人机的当前位置。
步骤2 当WIFI定位结果更新后,将该定位结果与对应时刻的INS定位结果进行比较,若误差较大,则说明WIFI定位出现了较大误差,使用INS定位结果作为无人机的当前位置;若误差在阈值范围内,则将WIFI定位结果与INS定位结果的加权平均值作为无人机的当前位置,具体权重根据实际环境中INS定位与WIFI定位的准确性测试取值。
步骤3 将当前位置作为INS定位位置,回到步骤1,开始下一阶段INS定位与WIF定位。
四旋翼无人机的飞行控制系统主要由INS信号采集、姿态解算、姿态控制器、水平位置控制器、高度位置控制器5个部分组成。系统总体设计框图如图3所示。图3中,根据INS测量的数据进行姿态解算得到无人机的当前姿态,并根据速度和位置信息进行水平位置控制。采用超声波传感器和气压计来测量无人机的高度信息,并根据数据融合后的高度信息进行高度控制。
图3 无人机总体设计框图
对四旋翼无人机的定位方法进行实验验证,通过手持无人机移动的方式,开启无人机定位系统。实验数据通过蓝牙发送到电脑进行存储和处理。该四旋翼无人机平台主体是上海锡月科技公司产品BIRD2.0,扫描WIFI RSS的WIFI模块型号为ESP8266,INS型号为MPU6500,主控芯片是DSP28379,通过机身上的树莓派建立指纹数据库,基于WKNN匹配算法进行WIFI定位。
图4为不同定位方法下的无人机直线运动的定位结果。由图4可以看出,采用INS定位时定位轨迹逐渐偏离实际路径,这是由于该方法主要采用对加速度积分的方式预测运动轨迹,误差会随着时间的增加而累积;WIFI定位结果波动较大,这是由于RSS信号易受环境干扰所导致;采用INS定位和WIFI定位相结合的方法后,定位轨迹比较接近于真实路径。
图4 不同定位方法的定位效果
图5为定位系统初始位置不准确情况下的定位结果。由图5可以看出,当初始位置较真实位置有较大偏离时会对后续的定位效果产生影响,但随着定位进程的进行,INS定位与WIFI定位结合方法的定位误差逐渐减小,靠拢到真实位置附近。对比图4可以看出,本文所提方法能较准确地定位无人机的初始位置,可为后续定位提供良好的开始。
图5 初始位置定位不准确的定位结果
图6为本文所提定位方法在复杂路径下的定位结果。由图6可以看出,WIFI定位位置较为杂乱地分布在真实轨迹附近;采用INS定位与WIFI定位结合的方法时,定位轨迹接近于真实路径。这说明本文所提定位策略有较强的稳定性,在复杂路径下也有良好的定位效果。
图6 复杂路径下的定位结果
本文对四旋翼无人机的室内定位技术进行了研究,提出了一种基于INS定位和WIFI定位相结合的无人机定位方法。该方法根据INS测量的姿态信息和加速度信息修正WIFI定位的结果,将指纹定位结果中不稳定的值剔除,使得定位系统保留了INS定位短时间内精确度高和WIFI定位长时间稳定的优点。实验结果证明,基于INS定位和WIFI定位相结合的四旋翼无人机室内定位方法有较高的准确度。