基于多传感器数据融合的无人机GPS欺骗检测研究
2021-01-07张凌浩
叶 润,刘 鹏,张凌浩, 王 胜, 唐 超
(1.电子科技大学 自动化工程学院,成都 611731; 2.国网四川省电力公司电力科学研究院,成都 610000 )
0 引言
无人机导航系统[1]是整个无人机系统中最为重要的部分之一,主要为无人机提供位置、速度等关键信息,导航系统一旦失效将给无人机系统或者无人机所处的环境造成灾难性后果。例如,在电力巡检作业过程中一旦发生GPS欺骗[2],极易导致无人机撞上电塔,从而造成大规模停电以及不可估量的损失。因此无人机GPS导航系统的可靠性至关重要。
GPS导航系统[3]主要分为3个部分,包括地面控制站、空间卫星网络和用户接收端。地面控制站控制整个卫星网络的运行,包括轨道修正、时间校准等。卫星网络是提供导航定位信息,具备精确授时功能的服务器。用户接收机则负责提取空间中由各个卫星广播的导航信息,并完成相应的数据解算。GPS欺骗主要发生在用户接收GPS广播信号的过程中,由于其使用的民用信号强度低、载波频率固定、信号结构公开、信号调制方式公开并且传输距离远以及实际生活中电磁环境复杂,因此用户接收机极易受到人为干扰和自然干扰从而发生GPS欺骗,欺骗的结果是使得用户接收机产生错误的伪距信息、高解调错误率、错误的检测和持续的周期性滑码,最终导致灾难性后果。
针对上述情况,本文提出的基于多传感器(无人机本身携带IMU、气压计和磁力计等传感器)数据融合[4-6]的无人机GPS欺骗检测技术在不增加其它传感器的基础上就能够有效地检测出GPS欺骗。
1 GPS欺骗简介
1.1 GPS欺骗原理
虽然GPS欺骗的技术手段多种多样,然而其实现原理是一致的。GPS卫星将测距码导航电文调制在载波信号上广播到地球表面,接收机[7-8]检测卫星信号并实现卫星信号的跟踪,通常接收机带有导航信息解算模块能通过串口等通信方式提供给用户速度和位置信息,常用的接收机结构如图1所示。GPS欺骗就是根据GPS导航定位原理,通过一定的技术手段影响接收机完成导航定位信息解算的各个环节。
图1 典型接收机结构
1.2 GPS欺骗技术分类
按照欺骗原理的不同可将GPS欺骗分为干扰型欺骗和诱导型欺骗[9],如图2所示。
图2 基于欺骗原理的GPS欺骗分类图
干扰型欺骗与来自其它通信设备的干扰是区别开来的,干扰型欺骗是蓄意人为的。干扰型欺骗需要使用特殊的装置,在GPS频带中产生有足够功率的欺骗信号。干扰型欺骗的欺骗信号对于真实信号的影响是以噪声的形式存在的。诱导型欺骗对目标接收机的影响是确定性的,诱导型的码元结构与真实信号的码元结构一致。诱导型欺骗又可以分为导航信息攻击以及伪随机噪声码PRN码编码攻击。导航信息攻击是在解调真实GPS信号的基础上,叠加错误信息发送给目标接收机,从而使目标接收机解算出错误的导航信息。伪随机噪声码PRN码编码攻击是通过欺骗诱导信号改变追踪点,从而影响伪距和多普勒频移的计算。伪随机噪声码PRN码编码攻击又可以分为,剥离延迟技术、剥离定向技术、模拟干扰和选择性延迟、干扰和诱导、非线性瞄准诱导以及航迹诱导。
根据GPS欺骗实现技术手段的不同可以分为两大类:转发式欺骗和生成式欺骗[10-11]。转发式欺骗是欺骗设备首先接收真实GPS欺骗信号,然后再将其转发给目标接收机。这样欺骗信号和真实信号之间就存在时间误差从而产生错误导航信息。生成式欺骗是模拟真实GPS卫星发射信号。根据欺骗实现和检测欺骗的难度将生成式欺骗又分为,初级生成式欺骗、中级生成式欺骗和高级生成式欺骗,如图3所示。初级生成式欺骗容易实现,无需获取先验信息,其效果与干扰型欺骗类似。中级生成式欺骗需要接收真实的卫星导航信号而且需要已知目标接收机的位置,所以实现较为困难。由于卫星导航系统是由多个卫星发射的,单一天线生成欺骗信号与多卫星生成的欺骗信号存在较大差别。高级生成式欺骗是在中级生成式欺骗的基础上进行改进的,利用多天线对目标接收机进行联合欺骗。对于高级生成式欺骗实现是极其困难的,接收机要检测出欺骗也是极其困难的。
图3 基于实现技术手段GPS欺骗分类图
1.3 GPS欺骗检测技术
当前GPS欺骗检测技术[13]众多,针对不同的欺骗方式有不同的欺骗检测技术手段。目前主要有接收信号强度检测、双频功率对比监测、多天线欺骗检测、合成阵列式欺骗检测、旋转天线检测、多接收机联合欺骗检测、PRN码和导航数据比特延迟检测,信号质量检测以及基于多传感器数据融合的检测等方法。
图4 GPS欺骗检测技术
接收信号强度检测依据的基本原理是,真实卫星导航信号强度随时间的变化关系与欺骗信号强度随时间的变化关系是可以通过载噪比、信噪比、绝对功率来区分的。真实卫星导航信号距离目标接收机很远,因此卫星或者接收机的移动对接收强度的影响是平滑的。欺骗源往往与目标接收机距离很近,目标接收机的移动容易导致位置的跳变。利用真实信号和欺骗干扰信号强度的差异即可检测出GPS欺骗。
除高级生成式欺骗以外,欺骗信号都是从单一天线发射出来的。从单一天线发出的信号具有单一的方向,那么欺骗信号DOA和真实卫星导航信号DOA是不一样的。检测出DOA最为常用的就是多天线方法,这样大大增加了接收机的成本,在实际工程应用中往往是代价昂贵的。双频功率对比检测是认为欺骗干扰信号不够精细,在L1和L2波段存在差异,因此接收机可以检测出欺骗信号。而实际民用接收机的检测精度是不足以检测出这种差异的,要达到检测精度势必增加接收机的制造成本,这就大大限制了双频功率对比检测使用的范围。
基于多传感器的GPS欺骗检测技术。对于无人机来说,本身就携带多个传感器,包括IMU、气压计、磁力计等,不要增加额外的传感器就可以实现基于多个传感器数据融合的GPS欺骗检测。基于多传感器数据融合的GPS欺骗检测是利用除GPS以外的其它传感器对无人机速度和位置进行估计,然后与GPS的输出值进行对比,从而判断GPS输出导航信息是否有误。由于通过积分得到的位置信息总是存在误差的,时间越长误差越大。在不增加传感器成本的基础上尽量减小积分误差,需要通过一定的算法补偿来提高精度,本文后面将详细介绍这部分。
2 基于多传感器数据融合的GPS欺骗检测方法
无人机受限于成本,其使用的传感器多为廉价MEMS传感器,因此精度低、可靠性差。为了提高无人机的导航精度,人们通常会使用多传感器数据融合的方式来提高精度,如pixhawk飞控系统,就使用了陀螺仪、加速度计、气压计、磁力计、GPS等多种典型的传感器。然而采用多传感器的方式关键在于如何有效地融合各种数据,因此本文提出的基于多传感器数据融合的无人机GPS欺骗检测需要解决的主要问题之一就是,在不使用GPS的情况下如何有效融合其它传感器的数据。
2.1 GPS欺骗检测整体结构设计
本文提出的无人机GPS欺骗检测方法通过比较惯导组合方案[14-15]加Elman神经网络[16]修正得到的位置信息与GPS输出位置信息,从而判断GPS是否受到欺骗。
该方法有两个创新点:第一个是使用带延迟的扩展卡尔曼滤波器,解决多传感器数据不同步的问题;第二个创新点是使用Elman神经网络,在不增加传感器成本的基础上提高无GPS信号时输出位置信息的精度,整体的检测流程如图5所示。GPS欺骗检测器相对于无人机原有的导航估计器只有两个不同点:1)GPS检测器估计速度、位置等导航信息不依赖GNSS接收机的输入;2)加速度计的输出经过Elman神经网络修正。
图5 GPS欺骗检测流程图
由于在无人机振动环境下(50~300 Hz),加速度计具有较大的噪声,而且噪声特性由于其非线性和随机性而难以建模,所以使用Elman神经网络对加速度的输出进行校正。
在GPS信号正常时使用无人机导航信息估计器输出的加速度信息作为期望值,训练Elman神经网络。当神经网络训练完成,使用Elman神经网络校正后加速度值与陀螺仪数据积分,将预测出无人机的速度和位置。由于积分后得到速度和位置存在累积误差,使用磁力计和气压计做测量更新,即可得到较为准确的速度和位置。然后与无人机导航信息估计器输出的速度和位置比较,即可判断是否存在GPS欺骗。
2.2 带延迟卡尔曼滤波器
扩展卡尔曼滤波器(EKF)在最优状态估计领域应用广泛,为了在无人机上能够在线实现滤波采用松组合模式。以系统惯性导航为状态方程预测无人机的速度位置状态,以磁力计所测偏航角、气压计所测海拔高度、GPS速度位置信息为观测量进行预测更新。
不妨设状态方程和测量方程的离散形式为:
xk=Φk|k-1xk-1+wk-1
zki=Hkixki+vki
(1)
预测更新方程:
(2)
测量更新方程:
Pk=(I-KkHk)Pk|k-1
(3)
在式(1)中,将当前时刻的状态xk与上一时刻状态xk-1通过状态转移矩阵Φk|k-1联系起来。由于从角速度到姿态的变换关系是非线性的,所以需要使用泰勒级数进行线性化处理。考虑到无人机计算能力有限,通常取到一阶泰勒展开即可。在泰勒展开式当中会含有与时间相关的状态量,所以状态转移矩阵Φk|k-1是随时间变化的。
通常无人机使用的各个传感器没有进行同步,而且传感器更新频率不一样。如式(3)所示,每当一个传感器数据到来时,就进行一次测量更新。又由于加速度计和陀螺的数据更新频率远高于其它传感器,所以需要将加速度计和陀螺预测值存储在缓存中,当其它传感器数据更新时,取出缓存中最老的数据进行EKF滤波,也就是说EKF运行在延时域,这样就可以解决传感器数据不同步的问题。
2.3 基于Elman神经网络提高导航精度
由于MEMS加速度计在振动环境下误差模型难以建立,因此必须采用其他手段辅助惯导来修正累计误差。本文采用的是Elman神经网络,该网络结构简单、算法简单。而且具备记忆功能,通过测试发现其能够有效地解决那些未建模的误差估计问题,具体结构如图6所示。
图6 Elman神经网络结构图
如图6所示,是一个3输入3输出的Elman神经网络,其中输入是加速度,期望输出是速度。图中W表示权值,vs表示记忆层的值,记忆层的值可以理解为上一时刻的速度。假设f表示激活函数,b表示偏置值,那么输入输出关系可以表示为式(4)所示形式。由式(4)可知,当前输出的速度不仅与当前的加速度有关,而且与历史的加速度有关,这就是记忆能力的体现。对于图6所示的这种递归结构,可以视为一个动态系统,要保证系统是稳定的,权值矩阵W3的最大奇异值应小于1。权值矩阵W3满足最大奇异值的约束,不仅可以保证系统的稳定性还会使网络具有遗忘特性。这种遗忘特性的具体表现就是,历史上很久远输入的加速度对当前速度没有影响。无人机在空气中运动始终受到阻力的作用,在没有动力的情况下速度会逐渐趋于零,也就是说很久远的加速度对当前速度是没有影响的,由此说明图6所示网络结构适合于预测无人机的速度。
(4)
Elman神经网络的训练过程与前向神经网络类似,将网络中的vs视为输入即可将Elman神经网络等价于前向神经网络。也就是说,图6所示Elman神经网络在训练时可以等价为一个7输入3输出的前向神经网络。前向神经网络训练算法相当之多,本文不再赘述。如图7所示,为Elman神经网络的训练和预测流程图。记忆速度的vs初值可以设置为0,权值矩阵可以选取值在-1~1之间的随机数,W3可以由一个随机矩阵除以其最大奇异值得到。在将加速度输入网络之前,需将加速度进行归一化处理,这样有利于网络训练的稳定性。
图7 Elman神经网络训练和预测流程图
3 实验验证
3.1 GPS欺骗检测测试装置
在本实验验证中为了方便测试,本文在PX4开源飞控平台上进行测试。在PX4中导航解算的算法流程为图5中右侧虚线框部分。其核心算法是以惯性导航为状态方程,其它传感器数据为观测量通过带延迟的卡尔曼滤波进行数据融合。
图8 测试系统实物图
如图8所示,左侧为GPS信号模拟器,可以生成指定路径的GPS欺骗信号。右侧为无人机系统,其使用的GNSS接收机为Ublox M8N,该接收机属于多模接收机,除了接收GPS卫星信号外,还能接收北斗、伽利略、GLONASS等卫星的信号。所以,在户外信号良好的情况下,单纯模拟GPS信号会对无人机产生怎样的影响还有待探究。GPS模拟器生成的欺骗信号轨迹如图9(a)所示,图(b)为真实坐标位置为电子科技大学体育馆。其中折线为设计路径,平滑曲线为经GPS信号模拟软件平滑后的线。
图9 GPS模拟器生成轨迹图
3.2 GPS欺骗检测实验验证
首先,在GPS欺骗信号情况下,测试无人机运动行为。如图10所示,无人机设置为定点模式,即依赖GNSS信号接收进行位置控制。在0 s时启动GPS欺骗信号模拟器,在第10~30 s无人机略微有向左移动,在第30 s之后,无人机迅速向左前方移动直至由于安全绳的拖拽而坠落地面。这说明GPS欺骗能够使无人机偏离既定位置运动,可以诱发产生一些灾害性的后果。从实验可知,无人机位置受到欺骗时,无人机不会立即产生误动作而是需要一个时间的累积才产生明显的偏离,这就为GPS欺骗检测预留了时间。
图10 无人机GPS欺骗测试
GPS欺骗检测过程分为两个阶段:训练阶段,检测阶段。训练阶段时,系统能够判断当前环境无GNSS欺骗信号,并且将使用导航估计器输出的速度训练Elman神经网络输出的速度。Elman神经网络设计为3层,输入神经元和输出神经元分别为3个,隐藏层神经元为4个,激活函数选为arctan函数。
图11 欺骗过程中GNSS接收机位置输出
在检测阶段,每隔1 s检测一次是否存在GPS欺骗,如果不存在欺骗则每隔10 s校正图5中GPS欺骗检测器的速度和位置。如图12所示,为GNSS信号正常即不存在GPS欺骗时导航估计器输出位置与GPS欺骗检测器输出位置之差。图中累计观测时长为134 s,两者高度方向误差在0.2 m之内,水平方向误差在2 m之内。
图12 GNSS信号正常时导航估计器与GPS欺骗检测器位置输出误差
在实验中总共进行了5次GPS欺骗检测,时间标准为无人机系统运行时间。具体实验方法是首先让无人机定点悬停,然后同时开启GPS信号模拟发生器和电脑端的检测系统。在实验中可以观测到无人机受到GPS欺骗时不能保持悬停状态,会被伪造的GPS信号干扰从而乱飞或者坠地。具体的实验数据如表1所示。
表1 GPS欺骗检测结果
根据上述实验结果可知,本文提出的基于多传感器数据融合的无人机GPS检测方法能够在3~6 s的时间内有效的检测出GPS欺骗。
4 结束语
GPS欺骗能对无人机的控制产生灾难性的影响,在无人机设计时应该考虑这种风险。在实际的应用中必须时刻保证无人机不被GPS欺骗或者必须要能够快速有效地检测出GPS欺骗。本文提出的基于多传感器数据融合的GPS检测方法通过实验证明了其能够快速有效地检测出GPS欺骗,具有十分广阔的应用前景。