定位传感器的异常检测方法、装置及终端设备

文档序号:28502351发布日期:2022-01-15 05:05来源:国知局
定位传感器的异常检测方法、装置及终端设备

1.本技术属于自动驾驶技术领域,尤其涉及一种定位传感器的异常检测方法、装置及终端设备。


背景技术:

2.随着自动驾驶技术的迅速发展,自动驾驶设备的研究也越来越多,例如自动驾驶汽车、自动驾驶飞机、自动驾驶船舶等。较为常见的自动驾驶设备为无人驾驶汽车,目前无人驾驶外卖车、无人驾驶出租车等已经开始出现在公共道路上。为了实现无人操控状态下的自动驾驶,无人驾驶汽车需要通过车载定位传感器感知汽车行驶过程中的道路环境状况,同时对获取的信息进行分析处理,自动规划行车路线并对车辆进行导航,从而到达预定目的地。
3.一般来说,在自动驾驶设备上设置多个定位传感器,定位传感器不仅可以获取设备与外界环境的相对位置关系,还可以通过设备状态感知确定设备的绝对位置。这也导致了一旦定位传感器受到攻击出现异常后,自动驾驶设备可能会出现异常行为,甚至发生灾难性事故。因此,需要及时检测自动驾驶设备的定位传感器是否受到攻击,以便采取安全措施避免自动驾驶设备出现异常行驶。
4.现有技术中,通常利用卷积神经网络来检测车载定位传感器是否异常,或是使用深度强化学习算法来学习用于自主车辆的最优传感器融合策略,以防某些传感器可能被攻击。但是现有的监测方法仅仅能对车载定位传感器是否出现异常进行监测,但是难以对出现异常的定位传感器进行定位,即无法确定具体哪个定位传感感器出现了异常,因此影响后续对自动驾驶设备的定位传感器有针对性的恢复工作。


技术实现要素:

5.本技术实施例提供了定位传感器的异常检测方法、装置、终端设备和存储介质,可以解决相关技术在对自动驾驶设备上的定位传感器进行异常检测时,无法对出现异常的定位传感器进行定位的技术问题。
6.第一方面,本技术实施例提供了一种定位传感器的异常检测方法,应用于自动驾驶设备,所述自动驾驶设备上设置有多个所述定位传感器,其特征于,包括:
7.获取每个所述定位传感器的测量数据;
8.对多个所述定位传感器的测量数据进行融合处理,确定所述自动驾驶设备的运动状态参数;
9.若根据所述自动驾驶设备的运动状态参数,确定多个所述定位传感器中存在出现异常的所述定位传感器,则针对每个所述定位传感器,利用所述定位传感器的测量数据确定所述定位传感器的测量状态参数,并根据所述定位传感器的测量状态参数确定所述定位传感器是否出现异常。
10.基于上述方法,首先根据多个定位传感器的测量数据获得自动驾驶设备的运动状
态参数,在根据运动状态参数确定多个定位传感器存在出现异常的定位传感器的情况下,针对每个定位传感器进行分析,得到该定位传感器对应的测量状态参数,根据每个定位传感器对应的测量状态参数确定对应的定位传感器是否出现异常。因此该方法在判断有定位传感器出现异常的同时可以及时确定具体哪个定位传感器出现异常,从而使得后续可以有针对性的对出现异常的自动驾驶设备进行恢复。
11.在第一方面的一种可能的实现方式中,所述定位传感器的测量数据包括所述定位传感器在第一时刻的第一测量数据和在第二时刻的第二测量数据,所述第二时刻为所述第一时刻在时间序列上的下一时刻;所述对多个所述定位传感器的测量数据进行融合处理,确定所述自动驾驶设备的运动状态参数,包括:
12.根据多个所述定位传感器的第一测量数据,确定所述自动驾驶设备在所述第二时刻的运动状态预测参数;
13.根据多个所述定位传感器的第二测量数据,确定所述自动驾驶设备在所述第二时刻的第二运动状态测量参数;
14.对所述第二运动状态测量参数和所述运动状态预测参数进行残差计算,得到所述自动驾驶设备在所述第二时刻的运动状态参数。
15.在第一方面的一种可能的实现方式中,所述根据多个所述定位传感器的第一测量数据,确定所述自动驾驶设备在所述第二时刻的运动状态预测参数,包括:
16.获取与多个所述定位传感器对应的所述自动驾驶设备在所述第一时刻的第一期望运动状态参数,其中所述第一期望运动状态参数是利用扩展卡尔曼滤波算法对所述第一时刻的运动状态预测参数进行更新得到的;
17.将所述第一测量数据和所述第一期望运动状态参数输入到预先建立的运动模型中处理,得到所述自动驾驶设备在所述第二时刻的运动状态预测参数。
18.示例性的,所述方法还包括:基于扩展卡尔曼滤波算法对所述第二时刻的运动状态预测参数进行更新,得到与多个所述定位传感器对应的所述自动驾驶设备在所述第二时刻的第二期望运动状态参数。
19.示例性的,所述根据所述自动驾驶设备的运动状态参数,确定多个所述定位传感器中存在出现异常的所述定位传感器,包括:
20.若所述运动状态参数不在第一预设范围内,则确定多个所述定位传感器中存在出现异常的所述定位传感器。
21.在第一方面的一种可能的实现方式中,所述根据所述自动驾驶设备的运动状态参数,确定多个所述定位传感器中存在出现异常的所述定位传感器,包括:
22.获取每个所述定位传感器在目标历史时间段内各个时刻对应的测量数据;
23.对多个所述定位传感器每个所述时刻的测量数据分别进行融合处理,确定所述自动驾驶设备与目标历史时间段内各个时刻对应的运动状态参数;
24.将所述自动驾驶设备与目标历史时间段内各个时刻对应的运动状态参数进行累加和均值计算,得到与所述目标历史时间段对应的平均运动状态参数;
25.若所述平均运动状态参数不在第二预设范围内,确定多个所述定位传感器中存在出现异常的所述定位传感器。
26.在第一方面的一种可能的实现方式中,所述定位传感器的测量数据包括所述定位
传感器在第一时刻的第一测量数据和在第二时刻的第二测量数据,所述第二时刻为所述第一时刻在时间序列上的下一时刻;所述针对每个所述定位传感器,利用所述定位传感器的测量数据确定所述定位传感器的测量状态参数;包括:
27.根据每个所述定位传感器的第一测量数据,确定所述定位传感器在所述第二时刻的状态预测参数;
28.根据每个所述定位传感器的第二测量数据,确定所述定位传感器在所述第二时刻的第二状态测量参数;
29.对所述第二状态测量参数和所述状态预测参数进行残差计算,得到每个定位传感器在所述第二时刻的测量状态参数。
30.示例性的,所述根根据每个所述定位传感器的第一测量数据,确定所述定位传感器在所述第二时刻的状态预测参数;包括:
31.获取每个所述定位传感器在所述第一时刻的第一期望状态参数,其中所述第一期望状态参数是利用扩展卡尔曼滤波算法对所述定位传感器在所述第一时刻的状态预测参数进行更新得到的;
32.将所述第一测量数据和所述第一期望状态参数输入到预先建立的运动模型中处理,得到每个所述定位传感器在所述第二时刻的状态预测参数。
33.第二方面,本技术实施例提供了一种定位传感器的异常检测装置,包括:
34.测量数据获取单元,用于获取每个所述定位传感器的测量数据;
35.运动状态参数获取单元,用于对多个所述定位传感器的测量数据进行融合处理,确定所述自动驾驶设备的运动状态参数;
36.异常判断单元,用于若根据所述自动驾驶设备的运动状态参数,确定多个所述定位传感器中存在出现异常的所述定位传感器,则针对每个所述定位传感器,利用所述定位传感器的测量数据确定所述定位传感器的测量状态参数,并根据所述定位传感器的测量状态参数确定所述定位传感器是否出现异常。
37.第三方面,本技术实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现第一方面中任一项所述的定位传感器的异常检测方法。
38.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一方面中任一项所述的定位传感器的异常检测方法。
39.第五方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的定位传感器的异常检测方法。
40.可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
41.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些
实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1是本技术一实施例提供的定位传感器的异常检测方法的流程示意图;
43.图2是本技术一实施例提供的步骤s120对多个所述定位传感器的测量数据进行融合处理,确定所述自动驾驶设备的运动状态参数的方法的流程示意图;
44.图3是本技术一实施例提供的车辆运动模型的示意图;
45.图4是本技术一实施例提供的扩展卡尔曼滤波工作流程图;
46.图5是本技术一实施例提供的自动驾驶仿真器实验中的激光雷达受攻击后的自动驾驶汽车的位置测量结果图;
47.图6是本技术一实施例提供的定位传感器的异常检测装置的结构示意图;
48.图7是本技术一实施例提供的终端设备的结构示意图。
具体实施方式
49.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
50.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
51.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
52.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0053]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0054]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0055]
本技术主要是针对自动驾驶设备上的定位传感器的异常进行检测,在自动驾驶设备中自动驾驶车辆较为常见,为了便于理解,下面以自动驾驶车辆上的定位传感器的检测为例对本技术的思想进行叙述。
[0056]
在自动驾驶车辆行驶过程中,需要通过该车辆上设置的多个定位传感器获取车辆当前的定位数据,例如车辆位置、行驶速度和行驶方向等。通过这些定位数据来指导车辆在
下一时刻行驶状态,例如速度是否需要调整,方向是否需要改变等等。然而在自动驾驶车辆上的定位传感器因受到攻击等原因出现异常时,通过定位传感器获取到的定位数据往往也是有问题的,这会直接影响自动驾驶车辆在下一时刻的行驶状态,进而很可能造成交通事故。
[0057]
为此,本技术提供一种定位传感器的异常检测方法,通过对多个定位传感器的测量数据进行融合处理,来确定该多个定位传感器中是否存在出现异常的定位传感器;若存在出现异常的定位传感器,则遍历该多个定位传感器,利用每个定位传感器各自的测量数据判断各个定位传感器是否出现异常,从而解决异常传感器的定位问题。
[0058]
下面结合具体实施例对本技术提供一种定位传感器的异常检测方法进行示例性的说明。
[0059]
参见图1,为本技术实施例提供了一种定位传感器的异常检测方法的一个实施例的流程图,应用于自动驾驶设备,自动驾驶设备上设置有多个所述定位传感器;如图1所示,该方法可以包括以下步骤:
[0060]
在步骤s110中,获取每个所述定位传感器的测量数据。
[0061]
实施例中,自动驾驶设备在自动驾驶过程中,可以通过设置在其上的多个定位传感器获取测量数据,例如自动驾驶车辆的行驶速度、位置和行驶方向等。本技术实施例中的自动驾驶设备可以是自动驾驶汽车、自动驾驶飞机、自动驾驶船舶等。
[0062]
在步骤s120中,对多个所述定位传感器的测量数据进行融合处理,确定所述自动驾驶设备的运动状态参数。
[0063]
本技术实施例中,在获取每个定位传感器的测量数据后,对多个定位传感器的测量数据进行融合处理,确定自动驾驶设备的运动状态参数。其中,自动驾驶设备的运动状态参数用于表征该自动驾驶设备的实际运动状态是否符合期望的运动状态。
[0064]
在步骤s130中,若根据所述自动驾驶设备的运动状态参数,确定多个所述定位传感器中存在出现异常的所述定位传感器,则针对每个所述定位传感器,利用所述定位传感器的测量数据确定所述定位传感器的测量状态参数,并根据所述定位传感器的测量状态参数确定所述定位传感器是否出现异常。
[0065]
本技术实施例中,运动状态参数和测量状态参数都可以为量化的数值,通过将可以量化的运动状态参数和测量状态参数分别与各自对应的预设阈值进行比较,来确定是否有定位传感器出现异常。当确定有定位传感器存在异常的情况下,即可根据各个定位传感器的测量数据依次排查具体哪个定位传感器出现异常。
[0066]
在实施例中,若根据所述自动驾驶设备的运动状态参数,确定多个所述定位传感器中不存在出现异常的所述定位传感器,则重复步骤s110和步骤s120。
[0067]
本技术实施例提供的定位传感器的异常检测方法,在检测到自动驾驶设备上的多个定位传感器中有定位传感器出现异常的同时,还可以及时定位到具体的出现异常的定位传感器,提高了定位传感器遗产检测的效率;使得后续对定位传感器的修复工作更有针对性。
[0068]
基于上述实施例,为了详细阐述步骤s120对多个所述定位传感器的测量数据进行融合处理,确定自动驾驶设备的运动状态参数,在本技术提供的又一实施例中,定位传感器的测量数据包括定位传感器在第一时刻的第一测量数据和在第二时刻的第二测量数据,第
二时刻为所述第一时刻在时间序列上的下一时刻;如图2所示,确定自动驾驶设备的运动状态参数的方法具体包括:
[0069]
步骤s121,根据多个所述定位传感器在第一时刻的第一测量数据,确定所述自动驾驶设备在第二时刻的运动状态预测参数,其中第二时刻为所述第一时刻在时间序列上的下一时刻。
[0070]
在实施例中,其中第二时刻可以为进行异常检测的当前时刻。根据多个定位传感器前一时刻的第一测量数据对第二时刻的运动状态进行预测,得到自动驾驶设备在第二时刻的运动状态预测参数。以自动驾驶车辆为例,其中运动状态预测参数可以是自动驾驶车辆在第二时刻的预测车辆位姿,其中预测车辆位姿具体包括预测得到的车辆的位置坐标和航向角。
[0071]
步骤s122,根据多个所述定位传感器在第二时刻的第二测量数据,确定所述自动驾驶设备在所述第二时刻的第二运动状态测量参数。
[0072]
实施例中第二运动状态测量参数是根据多个定位传感器在在第二时刻的第二测量数据得到的,具体来说可以是从第二测量数据中选取部分数据组成第二运动状态测量参数。以自动驾驶车辆为例,其中第二运动状态测量参数可以是自动驾驶设备在第二时刻的测量车辆位姿,其中测量车辆位姿具体包括车辆的位置坐标和航向角。
[0073]
步骤s123,对所述第二运动状态测量参数和所述运动状态预测参数进行残差计算,得到所述自动驾驶设备在所述第二时刻的运动状态参数。
[0074]
本实施例中,基于多个定位传感器在第一时刻时的第一测量数据来预测自动驾驶设备在在第二时刻的运动状态预测参数,通过将多个定位传感器在第二时刻的第二运动状态测量参数与运动状态预测参数进行残差计算来得到自动驾驶设备在第二时刻的运动状态参数。后续通过运动状态参数来确定多个定位传感器中是否存在出现异常的定位传感器,具体来说是通过计算得到的残差值来确定的。这样通过多个定位传感器在某个时刻的运动状态测量参数和运动状态预测参数就可以及时判定是否发生异常,避免相关技术中在需要通过训练模型来实现定位传感器异常的判断时,因训练样本不足可能导致的无法及时检测设备是否异常的情况。
[0075]
基于上述实施例,为了详细阐述步骤s121根据多个定位传感器的第一测量数据,确定自动驾驶设备在所述第二时刻的运动状态预测参数,在本技术提供的又一实施例中,确定自动驾驶设备在第二时刻的运动状态预测参数的方法具体包括:
[0076]
步骤s1211,获取与多个所述定位传感器对应的所述自动驾驶设备在所述第一时刻的第一期望运动状态参数,其中所述第一期望运动状态参数是利用扩展卡尔曼滤波算法对所述第一时刻的运动状态预测参数进行更新得到的。
[0077]
实施例中,第一期望运动状态参数是利用扩展卡尔曼滤波算法对所述第一时刻的运动状态预测参数进行更新得到的。
[0078]
扩展卡尔曼滤波算法是将预测值和测量值相结合,具体滤波过程在后续进行详细介绍,在此不做赘述。
[0079]
步骤s1212,将所述第一测量数据和所述第一期望运动状态参数输入到预先建立的运动模型中处理,得到所述自动驾驶设备在所述第二时刻的运动状态预测参数。
[0080]
下面以实际以自动驾驶车辆为例对运动模型进行详细的阐述,具体来说,定位传
感器发生异常(例如受到攻击)的本质是定位传感器数据发生了异常变化,异常检测也就是检测定位传感器数据是否发生了异常。因此,建立数据模型可以将定位传感器异常对自动驾驶设备的影响具体到数据上,这样可以为之后定位传感器异常检测和异常定位提供分析对象。实施例中,定位传感器的数据模型是以车辆的运动模型建立起来的。
[0081]
本技术实施例可以选用的自行车的运动模型来对车辆运动状态建模,该模型假设了车辆是一个在二维平面上的运动物体,且车辆的结构就和自行车一样,即车辆前面的两个轮胎具有一致的角度和转速同时前面的轮胎控制该车辆的转角。由自行车模型的假设可得到在二维平面上的车辆运动场景,得到如图3所示的车辆运动模型。
[0082]
图3中,假设自动驾驶车辆的轴距(前后轮胎的距离)为l,在世界坐标中的航向角为θ,角速度为w,前轮转角为δ,p=(a,b)是车辆在直角坐标系下的位置,v是车辆的速度。由运动学原理可得:
[0083][0084]
实施例中,车辆运动状态以车辆位姿来表示,具体来说是采用车辆的坐标和航向角来表示。在k-1时刻的第一期望运动状态参数为x
k-1
=[a
k-1
,b
k-1
,θ
k-1
]
t
,自动驾驶车辆运动模型的输入向量μ
k-1
=[v
k-1
,δ
k-1
]
t
,车辆运动模型的的输出量如式(2)所示:
[0085][0086]
式(2)中ts是k-1时刻和k时刻的时间间隔;x
pre
为车辆在k时刻的运动状态预测参数;a
k-1
和b
k-1
为车辆在k-1时刻的期望位置坐标,θ
k-1
为车辆在k-1时刻的期望航向角,v
k-1
为车辆在k-1时刻的测量得到的速度;ξ
v,k-1
和ξ
δ,k-1
为车辆在k-1时刻的运动过程噪声,我们定义ωk=[ξ
v,k
,ξ
δ,k
]
t
,且ωk是均值为0,协方差为q》0的独立同分布的高斯随机变量。因此本技术实施例中的车辆运动模型的表达式如式(3)所示:
[0087]
x
pre
=f(x
k-1
,μ
k-1
,ω
k-1
)
ꢀꢀꢀ
(1)
[0088]
式(3)中,f(
·
)是非线性函数。
[0089]
在实际过程中,定位传感器往往会受到噪声的干扰,因此车辆的观测模型(即为车辆实际的运动状态测量参数)如式(4)所示:
[0090][0091]
式(4)中,yk为车辆在第k时刻的运动状态测量参数,xk=[ak,bk,θk]
t
为车辆在第k时刻的初始运动状态测量参数(在xk由定位传感器的测量数据直接得到的,与图4中更新后
得到的最终的期望运动状态参数xk的含义不同),∈k=[∈
a,k
,∈
b,k
,∈
θ,k
]
t
表示测量噪声向量,∈k与yk的维数相同,且∈
a,k
,∈
b,k
,∈
θ,k
是相互独立的随机变量,∈k是均值为0、协方差为q》0的独立同分布的高斯随机变量。
[0092]
在用于获得车辆实际的运动状态测量参数的观测模型中,通过引入测量噪声向量使得得到的运动状态测量参数更加符合车辆的实际运动状态。
[0093]
在获得车辆的定位传感器的第一时刻的第一测量数据时,可以得到车辆在第一时刻的第一运动状态测量参数。通过预先建立车辆运动模型,将第一时刻的第一测量数据和第一期望运动状态参数可以预测得到该车辆在第二时刻的运动状态预测参数,然后通过车辆的定位传感器获取第二时刻的第二测量数据,得到车辆在第二时刻的第二运动状态测量参数。
[0094]
在一个实施例中,在得到第二时刻的运动状态预测参数之后,还可以基于扩展卡尔曼滤波算法对第二时刻的运动状态预测参数进行更新,得到与多个定位传感器对应的自动驾驶设备在第二时刻的第二期望运动状态参数。更新得到的第二期望运动状态参数作为第二时刻的下一时刻运动模型的输入值,以此完成递归循环。
[0095]
在一个具体实施例中,步骤基于扩展卡尔曼滤波算法对第二时刻的运动状态预测参数进行更新,得到与多个定位传感器对应的自动驾驶设备在第二时刻的第二期望运动状态参数;具体包括:
[0096]
获取多个所述定位传感器在所述第一时刻的估计误差协方差,并基于所述第一时刻的估计误差协方差获得多个所述定位传感器在所述第二时刻的预测误差协方差,并基于第二时刻的预测误差协方差获得卡尔曼增益;
[0097]
基于所述卡尔曼增益和所述所述第二运动状态测量参数对所述第二时刻的运动状态预测参数进行更新,得到第二期望运动状态参数。
[0098]
在本技术实施例中,对运动状态预测参数的更新是采用扩展卡尔曼滤波(ekf)算法递归估计得到的。扩展卡尔曼滤波(ekf)算法的本质是参数化的贝叶斯模型。
[0099]
图4所示的扩展卡尔曼滤波工作流程图,如图4所示扩展卡尔曼滤波(ekf)算法是将对当前时刻的运动状态的预测以及测量得出的反馈相结合,最终得到该时刻的期望状态(期望状态对应于本技术实施例中的期望运动状态参数),其核心思想即为预测+测量反馈。为了便于理解,下面将滤波操作进行展开论述:
[0100]
(a)初始化。假设初始时刻由式(4)的观测模型得到对应的车辆初始的运动状态测量参数为y0。假设初始时刻对应的运动状态预测参数为x0=y0。此外,初始时刻的运动状态的估计误差协方差为p0,这是根据传感器制造商提供而获得的。算法初始化后,更新k值(k=1,2,...),将递归执行以下预测和更新步骤。
[0101]
(b)预测。更新k值后得到的车辆在k=1时刻对应的运动状态预测参数如式(5)所示:
[0102]
x
pre
=f(x
k-1
,μ
k-1
,0)
ꢀꢀꢀꢀ
(5)
[0103]
并利用图4中的方法对k=1时刻对应的误差协方差进行了预测,具体如式(6)所示:
[0104]
p
pre
=a
k-1
p
k-1ak-1t
+b
k-1
qb
k-1t
ꢀꢀꢀ
(6)
[0105]
式中的a
k-1
和b
k-1
是运动状态模型根据泰勒展开式在一阶近似得到的偏导数矩阵。
具体表达式如下:
[0106][0107]
(c)更新。由图4可知,具体来说最终得到的k时刻的运动状态预测参数和估计误差协方差的更新如下:
[0108]kk
=p
prehkt
(hkp
prehkt
+r)-1
[0109]
xk=x
pre
+kk(y
k-x
pre
)
[0110]
pk=p
pre-k
khk
p
pre
[0111]
实施例中,我们设计了空间域检测器和时间域监测器,其中空间域检测器对多个定位传感器的测量数据进行融合来预测自动驾驶设备的运动状态参数,检测结果是判断多个定位传感器中是否有传感器被攻击(出现异常)。时间域检测器是在空间域检测器上判断出有传感器被攻击的前提下,对每个定位传感器的测量数据分别进行预测所对应定位传感器的测量状态参数,检测结果是判断对应的定位传感器是否被攻击(出现异常)。
[0112]
下面针对空间域检测器和时间域检测域分别对(c)更新步骤进行展开:
[0113]
在执行更新步骤前,计算观测模型根据泰勒展开式在一阶近似得到的偏导数矩阵hk,参考a
k-1
和b
k-1
,同理可得:
[0114][0115]
对于空间域检测器来说,需要对多个定位传感器进行检测,因此观测模型式(4)中来源于多个定位传感器(假设有n个定位传感器)的测量数据,即:
[0116][0117]
其中,y
n,k
表示传感器n在k时刻的运动状态测量参数;c为3n
×
3n阶单位矩阵;其中∈
n,k
是传感器n在k时刻的测量噪声向量,可得r
n,k
表示传感器n在k时刻的测量噪声协方差矩阵,因此可得:
[0118]
在k时刻对应的运动状态预测参数和估计误差协方差的更新如下所示:
[0119][0120]
上式中,上式中,是3n
×
3n阶单位矩阵。
[0121]
多个定位传感器作为一个整体在k时刻的残差值的表达式如下:
[0122][0123]
对于时间域检测器来说,对单个定位传感器进行检测,模型式(4)中yk的位置数据(ak,bk,θk)都是来源于同一定位传感器在k时刻的测量数据。
[0124]
针对定位传感器1,观测模型式(4)修改为:
[0125][0126]
其中,y
1,k
表示定位传感器1的状态测量参数;∈
1,k
表示定位传感器1的测量噪声,它的协方差为r1。因此,传感器1在k时刻的状态预测参数和估计误差协方差的测量更新如下所示:
[0127]k1,k=
p
1,prehkt
(hkp
1,prehkt
+r1)-1
[0128]
x
1,k
=x
1,pre
+k
1,k
(y
1,k-x
1,pre
)
ꢀꢀꢀ
(11)
[0129]
p
1,k
=p
1,pre-k
1,khk
p
1,pre
[0130]
传感器1在k时刻的残差值表达式为:
[0131]r1,k
=y
1,k-hkx
1,pre
ꢀꢀꢀ
(12)
[0132]
针对定位传感器2,观测模型式(4)修改为:
[0133][0134]
其中,y
2,k
表示定位传感器2的状态测量参数;∈
2,k
表示定位传感器2的测量噪声,它的协方差为r2。
[0135]
因此,传感器2在k时刻的状态预测参数和估计误差协方差的测量更新如下所示:
[0136]k2,k=
p
2,prehkt
(hkp
2,prehkt
+r2)-1
[0137]
x
2,k
=x
2,pre
+k
2,k
(y
2,k-x
2,pre
)
ꢀꢀꢀ
(14)
[0138]
p
2,k
=p
2,pre-k
2,khk
p
2,pre
[0139]
传感器2在k时刻的残差值表达式如下:
[0140]r2,k
=y
2,k-hkx
2,pre
ꢀꢀꢀ
(15)
[0141]
在一个实施例中,步骤s130根据所述自动驾驶设备的运动状态参数,确定多个所述定位传感器中存在出现异常的所述定位传感器,具体来说可以包括:若所述运动状态参数不在第一预设范围内,则确定多个所述定位传感器中存在出现异常的所述定位传感器。
[0142]
在一个实施例中,所述方法还包括:根据所述自动驾驶设备的运动状态参数,确定多个所述定位传感器中不存在出现异常的所述定位传感器,具体来说可以包括:若所述运动状态参数在第一预设范围内,则确定多个所述定位传感器中不存在出现异常的所述定位传感器。
[0143]
在一个实施例中,运动状态参数为运动状态预测参数和第二运动状态测量参数的残差值rk,具体表达式如前所述。
[0144]
基于上述实施例,为了提高异常检测方法的效率,在本技术提供的又一实施例中,步骤根据自动驾驶设备的运动状态参数,确定多个定位传感器中存在出现异常的所述定位传感器,具体还可以包括以下步骤:
[0145]
获取每个所述定位传感器在目标历史时间段内各个时刻对应的测量数据。
[0146]
对多个所述定位传感器每个所述时刻的测量数据分别进行融合处理,确定所述自动驾驶设备与目标历史时间段内各个时刻对应的运动状态参数。
[0147]
将所述自动驾驶设备与目标历史时间段内各个时刻对应的运动状态参数进行累加和均值计算,得到与目标历史时间段对应的平均运动状态参数。
[0148]
若平均运动状态参数不在第二预设范围内,确定多个所述定位传感器中存在出现异常的所述定位传感器。
[0149]
在一个实施例中,若平均运动状态参数在第二预设范围内,确定多个所述定位传感器中不存在出现异常的所述定位传感器。
[0150]
以上实施例主要针对多个定位传感器中存在出现异常的定位传感器的判断方法的详细叙述。上述针对多个定位传感器中存在出现异常的定位传感器的判断方法同样适用于对自动驾驶设备上的每个定位传感器是否出现异常的判断。下面对针对自动驾驶设备上的每个定位传感器是否出现异常的判断方法进行简单叙述。
[0151]
在步骤s130中,针对每个所述定位传感器,利用所述定位传感器的测量数据确定所述定位传感器的测量状态参数,包括:
[0152]
根据每个所述定位传感器的第一测量数据,确定所述定位传感器在所述第二时刻的状态预测参数;
[0153]
根据每个所述定位传感器的第二测量数据,确定所述定位传感器在所述第二时刻的第二状态测量参数;
[0154]
对所述状态预测参数和所述第二状态测量参数进行残差计算,得到每个定位传感器在所述第二时刻的测量状态参数。
[0155]
在一个实施例中,步骤根据每个所述定位传感器的第一测量数据,确定所述定位传感器在所述第二时刻的状态预测参数,包括:
[0156]
获取每个所述定位传感器在所述第一时刻的第一期望状态参数,其中所述第一期望状态参数是利用扩展卡尔曼滤波算法对所述定位传感器在所述第一时刻的状态预测参数进行更新得到的;
[0157]
将所述第一测量数据和所述第一期望状态参数输入到预先建立的运动模型中处理,得到每个所述定位传感器在所述第二时刻的状态预测参数;
[0158]
在一个实施例中,针对每个定位传感器是否出现异常的判断方法还包括:
[0159]
基于扩展卡尔曼滤波算法对每个定位传感器在所述第二时刻的状态预测参数进行更新,得到每个所述定位传感器在所述第二时刻的第二期望状态参数。
[0160]
在一个实施例中,步骤根据所述定位传感器的测量状态参数确定所述定位传感器是否出现异常,包括:
[0161]
若所述定位传感器的测量状态参数不在第三预设范围内,则确定所述定位传感器出现异常。
[0162]
在一个实施例中,步骤根据所述定位传感器的测量状态参数确定所述定位传感器是否出现异常,包括:
[0163]
若所述定位传感器的测量状态参数在第三预设范围内,则确定所述定位传感器出现异常。
[0164]
在一个实施例中,针对每个定位传感器,步骤根据所述定位传感器的测量状态参数确定所述定位传感器是否出现异常,包括:
[0165]
获取每个所述定位传感器在目标历史时间段内各个时刻对应的测量数据;
[0166]
针对每个个所述定位传感器每个所述时刻的测量数据,确定所述定位传感器与目标历史时间段内各个时刻对应的测量状态参数;
[0167]
将所述定位传感器与目标历史时间段内各个时刻对应的测量状态参数进行累加和均值计算,得到所述目标历史时间段对应的平均状态参数;
[0168]
若所述平均状态参数不在第四预设范围内,确定所述定位传感器出现异常。
[0169]
在一个实施例中,若所述平均状态参数在第四预设范围内,确定所述定位传感器未出现异常。
[0170]
为了避免过多赘述内容,不对针对自动驾驶设备上的每个定位传感器是否出现异常的判断方法的具体步骤进行展开。
[0171]
示例性的,通常来说残差值rk服从正态分布,预设范围(包括第一预设范围、第二预设范围、第三预设范围和第四预设范围)为与置信水平对应的置信区间。其中预设范围的确定方法如下:
[0172]
采用定位传感器正常情况下的残差值作为样本,建立残差值rk的正态分布如式(16)所示:
[0173]rk
~n(ε,σ2)
ꢀꢀꢀ
(16)
[0174]
若我们要以99%的置信水平判断传感器是正常的,则相应的置信区间m满足如下条件:
[0175][0176]
即如果后续得到的表示以99%的置信水平认为传感器无异常,否则表示有异常。n表示样本数量。要求的可信度越高,无异常情况的判断区间越窄。
[0177]
为了便于理解,下面就本技术实施例中的空间域检测器和时间域检测器的判别结果进行具体的解读。基于下表1的攻击定位方案以识别被攻击的定位传感器。表1以检测两个定位传感器的攻击定位方案为例,其中时间域检测器1针对gps,时间域检测器2针对lidar,具体说明如下:
[0178]
表1攻击定位方案
[0179]
情况空间域检测器时间域检测器1时间域检测器2结果1无异常无异常无异常无攻击2异常无异常无异常不确定攻击3异常异常无异常gps被攻击4异常无异常异常lidar被攻击5异常异常异常gps和lidar都被攻击
[0180]
情况1:在这种情况下,空间域检测器、时间域检测器1和时间域检测器2均不会发出警报,这意味着在每个攻击检测器中,传感器测量值与根据车辆运动模型得出的预测值一致。所以两个定位传感器都是正常情况。
[0181]
情况2:在这种情况下,只有空间域检测器发出警报,而时间域检测器1和时间域检测器2没有发现任何异常。这是一种特殊情况,因为即使在时间域检测器1和时间域检测器2中,定位传感器1或定位传感器2的测量值与期望值相匹配,但在空间域检测器中仍发现不匹配。时间域检测器1和时间域检测器2的沉默可能是因为攻击的强度太小,以至于被过程和测量噪声压制。然而,随着时间的推移,这两个测量值之间的不一致性会增加,从而空间域检测器中的警报。因此,在这种情况下,可以确定存在攻击,但攻击的来源不明。
[0182]
情况3:在这种情况下,空间域检测器和时间域检测器1检测到异常,而时间域检测器2保持沉默,这意味着定位传感器1受到攻击,定位传感器2正常工作。因此,定位传感器1和定位传感器2的测量不一致,从而在空间域检测器中触发警报。
[0183]
情况4:在这种情况下,在空间域检测器和时间域检测器2中检测到异常,而检测器1保持沉默。类似于情况3的分析,可以得出结论,定位传感器2受到攻击。
[0184]
情况5:在这种情况下,三个检测器都检测到异常,这可以很容易地得出结论,定位传感器1和定位传感器2都受到了影响。空间域检测器中的异常是由于测量结果不一致。
[0185]
本技术实施例中,从定位传感器的相关性上设计了空间域检测器和时间域检测器,与传统的基于模型的方法相比,该攻击检测方案的主要新颖之处在于将存在空间相关性的定位传感器先进行检测,来判断是否有传感器被攻击,再对单个定位传感器在时间相关性上进行判断哪个传感器被攻击,提高了检测速度。
[0186]
另外,实施例中的空间域检测器从空间的维度上分析了不同传感器数据之间的互补差异性,时间域检测器从时间的维度上考虑分析了同一传感器数据的时间连续差异性。
两种检测器同时在实时检测攻击要求上降低了时延,使自动驾驶汽车在行驶中更安全。
[0187]
为了更清晰的说明问题,本技术实施例在自动驾驶仿真器进行了实验。具体实验过程和结果如下:
[0188]
在自动驾驶仿真器中,让自动驾驶汽车在预先规划的路径上行驶,收集到的一系列数据进行了实验。通过记录rosbag,所有包含感知、规划和控制可用的数据都被存储。本实验的重点是对定位传感器攻击(异常)的检测和识别,因此使用了存储数据中的定位传感器gps和lidar的位姿数据以及包含速度和转向角的控制器命令数据。
[0189]
表2为存储数据中的数据格式,其中位置坐标中的x和y对应于位置坐标a和b,车辆的姿态数据中的yaw对应于航向角θ,不同时刻的车辆速度v和前轮转向角v由控制器指令中的存储数据得到。收集数据过程中,自动驾驶汽车在自动驾驶仿真平台器上移动,以激光雷达受到攻击来进行定位传感器攻击检测实验。激光雷达受到攻击后,实时采集到的位置测量值都是错误的进一步可以误导车辆,具体的在实验中,我们使得激光雷达位置测量逐渐偏向于邻近车道,位置测量结果如图5所示。攻击时间是随机确定的,且攻击造成的与车辆真实车道的横向偏移也是从[3.5,7]∪[-7,-3.5]米中随机生成的,这表示车道宽度等于3.5m的车辆当前车道左右两侧的相邻车道。在测试中,激光雷达攻击发生在43.07秒,横向偏移等于5.342米,这意味激光雷达系统位置测量数据变成了左侧相邻车道,而方位测量数据保持不受影响。
[0190]
表2
[0191][0192][0193]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0194]
对应于上文实施例所述的定位传感器的异常检测方法,图6示出了本技术实施例提供的定位传感器的异常检测装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0195]
参照图6,定位传感器的异常检测装置6包括:
[0196]
测量数据获取单元61,用于获取每个所述定位传感器的测量数据;
[0197]
运动状态参数获取单元62,用于对多个所述定位传感器的测量数据进行融合处理,确定所述自动驾驶设备的运动状态参数;
[0198]
异常判断单元63,用于若根据所述自动驾驶设备的运动状态参数,确定多个所述定位传感器中存在出现异常的所述定位传感器,则针对每个所述定位传感器,利用所述定
位传感器的测量数据确定所述定位传感器的测量状态参数,并根据所述定位传感器的测量状态参数确定所述定位传感器是否出现异常。
[0199]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0200]
另外,图6所示的装置可以是内置于现有的终端设备内的软件单元、硬件单元、或软硬结合的单元,也可以作为独立的挂件集成到所述终端设备中,还可以作为独立的终端设备存在。
[0201]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0202]
图7为本技术一实施例提供的终端设备的结构示意图。如图7所示,该实施例的终端设备7包括:至少一个处理器70(图7中仅示出一个处理器)、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述任意各个**方法实施例中的步骤。
[0203]
终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的举例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
[0204]
所称处理器70可以是中央处理单元(central processing unit,cpu),该处理器70还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0205]
所述存储器71在一些实施例中可以是终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71在另一些实施例中也可以是终端设备7的外部存储设备,例如终端设备7上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器71还可以既包括终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
[0206]
本技术实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执
行所述计算机程序时实现上述任意各个方法实施例中的步骤。
[0207]
本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
[0208]
本技术实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
[0209]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到定位传感器的异常检测装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0210]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0211]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0212]
在本技术所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0213]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0214]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1