一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自动驾驶仿真测试方法、装置、计算机设备和存储介质与流程

2022-10-26 08:51:47 来源:中国专利 TAG:


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.基于所述当前测试任务程序对所述目标对象运行过程中获取的数据帧进行运行状态计算,所述运行状态计算得到的运行状态结果用于控制目标对象参与自动驾驶仿真测试;
43.基于所述当前测试任务程序对所述目标对象运行过程中获取的数据帧进行测试进度计算,若所述测试进度计算得到的测试进度结果为已完成所述当前测试任务程序对应的测试任务,则获取下一个测试任务标识,返回执行所述从测试库中获取所述测试任务标识对应的候选测试任务程序,运行所述候选测试任务程序的步骤,直至满足预设停止条件,则停止测试。
44.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
45.获取测试任务序列中一测试任务标识,所述测试任务序列中包含多个测试任务标识;
46.从测试库中获取所述测试任务标识对应的候选测试任务程序,运行所述候选测试
任务程序;
47.基于所述候选测试任务程序对获取的数据帧进行接管判定计算,若所述接管判定计算得到的接管判定结果符合所述候选测试任务程序对应的接管条件,则将所述候选测试任务程序作为当前测试任务程序以接管目标对象;
48.基于所述当前测试任务程序对所述目标对象运行过程中获取的数据帧进行运行状态计算,所述运行状态计算得到的运行状态结果用于控制目标对象参与自动驾驶仿真测试;
49.基于所述当前测试任务程序对所述目标对象运行过程中获取的数据帧进行测试进度计算,若所述测试进度计算得到的测试进度结果为已完成所述当前测试任务程序对应的测试任务,则获取下一个测试任务标识,返回执行所述从测试库中获取所述测试任务标识对应的候选测试任务程序,运行所述候选测试任务程序的步骤,直至满足预设停止条件,则停止测试。
50.上述自动驾驶仿真测试方法、装置、计算机设备、存储介质和计算机程序产品,获取一个测试场景对应的测试任务序列,测试任务序列中包含多个测试任务标识以及测试任务标识对应的顺序,每个测试任务标识代表一个测试任务程序,每个测试任务程序对应一个测试任务,一个测试场景可以由多个测试任务标识对应的测试任务程序组成,准确的控制虚拟环境中目标对象的行为;从测试库中获取测试任务标识对应的候选测试任务程序,运行候选测试任务程序,获取目标对象周围的数据帧,基于候选测试任务程序对获取的数据帧进行接管判定计算,若接管判定计算得到的接管判定结果符合候选测试任务程序对应的接管条件,则将候选测试任务程序作为当前测试任务程序以接管目标对象,避免目标对象产生非预期行为;获取目标对象运行过程中的数据帧,基于当前测试任务程序进行运行状态计算,用运行状态计算得到的运行状态结果去控制目标对象参与自动驾驶仿真测试的行为,使目标对象的行为符合周围环境;获取目标对象运行过程中的数据帧,基于当前测试任务程序进行测试进度计算,若测试进度计算得到的测试进度结果为已完成当前测试任务程序对应的测试任务,则获取下一个测试任务标识,返回执行从测试库中获取测试任务标识对应的候选测试任务程序,运行所候选测试任务程序的步骤,直至满足预设停止条件,目标对象停止参与自动驾驶仿真测试,保证当前测试任务程序对应的测试任务完成,提高目标对象行为的可控性。通过测试任务程序组成测试场景,避免了复杂的逻辑判断,准确的控制虚拟环境中目标对象的行为,通过接管判定计算、比较等过程,准确的判定候选测试任务程序是否适合接管目标对象,避免目标对象产生非预期行为,通过用运行状态计算得到的运行状态结果去控制目标对象的行为,使目标对象的行为符合周围环境,通过用测试进度计算得到的测试进度结果判定当前测试任务程序对应的测试任务是否已经完成,保证当前测试任务程序对应的测试任务完成,通过预设停止条件来提高目标对象行为的可控性,提高了自动驾驶仿真测试的精确度。
附图说明
51.图1为一个实施例中自动驾驶仿真测试方法的应用环境图;
52.图2为一个实施例中自动驾驶仿真测试方法的流程示意图;
53.图3为一个实施例中测试场景中任务选择界面示意图;
54.图4为一个实施例中下一帧运行状态确定步骤的流程示意图;
55.图5为一个实施例中重复进行接管判定步骤的流程示意图;
56.图6为另一个实施例中自动驾驶仿真测试方法的流程示意图;
57.图7为一个实施例中自动驾驶仿真测试装置的结构框图;
58.图8为一个实施例中计算机设备的内部结构图。
具体实施方式
59.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
60.本技术实施例提供的自动驾驶仿真测试方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102将参与自动驾驶仿真测试的请求和将测试任务序列发送给服务器104,服务器104接收参与自动驾驶仿真测试的请求和测试任务序列,按照测试任务序列中各个测试任务标识对应的顺序依次获取测试任务标识,从测试库中获取测试任务标识对应的候选测试任务程序,运行候选测试任务程序,基于候选测试任务程序对获取的数据帧进行接管判定计算,若接管判定计算得到的接管判定结果符合候选测试任务程序对应的接管条件,则将候选测试任务程序作为当前测试任务程序以接管目标对象,当前测试任务程序接管目标对象之后获取目标对象运行过程中的当前数据帧,基于当前测试任务程序对当前数据帧进行运行状态计算,用运行状态计算得到的运行状态结果去控制目标对象在下一帧中的行为,基于当前测试任务程序对当前数据帧进行测试进度计算,若测试进度计算得到的测试进度结果为已完成当前测试任务程序对应的测试任务,则获取下一个测试任务标识,重复执行上述步骤,直至满足预设停止条件,则控制目标对象停止参与自动驾驶仿真测试。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
61.在一个实施例中,如图2所示,提供了一种自动驾驶仿真测试方法,以该方法应用于图1中的终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
62.步骤202,获取测试任务序列中一测试任务标识,测试任务序列中包含多个测试任务标识。
63.其中,测试任务序列是指具有先后顺序的多个测试任务标识组成的集合。测试任务序列中测试任务标识的数量可以根据实际需求进行增加或者减少。测试任务标识是指代表测试任务程序的字符串。测试任务标识可以由文字、数字、字母、符号等等组成,测试任务标识的字符串长度可以通过设置字符数量进行限定。例如,近距离跟车-1、v=10m/s运行等等。
64.具体的,调度器从终端获取测试任务序列,基于测试任务序列中测试任务标识的顺序,从测试任务序列中依次选择一个测试任务标识。
65.在一个实施例中,测试人员通过终端上呈现的如图3所示的操作界面构建测试场景,操作人员点击开始,则出现任务一、任务二、任务三,操作人员点击任务一之后,在任务一的附近呈现多个测试任务,测试人员点击跟车任务,则在任务一的下方呈现跟车任务,在跟车任务的下方呈现跟车任务可以选择的跟车方式,按照相同的方法继续选择任务二、任务三,测试人员点击新增任务后,操作界面中出现任务四,按照相同的方法继续选择任务四,测试人员选择需要组合的测试任务组成测试场景,比如,近距离跟车、快速换道、加速超车并加塞,加速组成超车测试场景,测试人员选择完毕之后点击结束,则形成测试任务序列,测试序列中包含已选择测试任务程序对应的测试任务标识,以及每个测试任务标识对应的顺序。测试人员点击开始测试控件,终端将测试任务序列发送给调度器。
66.在一个实施例中,终端呈现测试场景选择控件,测试人员点击测试场景选择控件,测试场景选择控件附近呈现多个测试场景名称,测试人员将操作光标移动到测试场景名称上,测试场景名称附近显示测试场景名称包含的测试任务标识,测试人员点击测试场景名称完成测试场景的选择。测试人员点击开始测试控件,终端将测试场景名称对应的测试任务序列发送给调度器。
67.步骤204,从测试库中获取测试任务标识对应的候选测试任务程序,运行候选测试任务程序。
68.其中,测试库是指储存测试任务程序的存储区域。可以理解为,存放测试任务程序的仓库。测试库可以位于服务器上的存储区域,也可以位于云端。测试库的数量可以为一个或者多个。测试任务程序是指为完成某项测试任务而编制的计算机程序。测试任务程序可以为通过python、c 、c、java等语言编写的程序。
69.具体的,调度器从测试库中获取测试任务标识对应的候选测试任务程序,获取之后运行候选测试任务程序。
70.在一个实施例中,调度器为多线程调度器,可以同时运行多个测试任务程序。其中,多线程是指从软件或者硬件上支持多个线程并发执行的技术。
71.步骤206,基于候选测试任务程序对获取的数据帧进行接管判定计算,若接管判定计算得到的接管判定结果符合候选测试任务程序对应的接管条件,则将候选测试任务程序作为当前测试任务程序以接管目标对象。
72.其中,数据帧是指一帧时间内安装在目标对象上各个传感器获取的数据组成的集合。传感器包括但不限于激光雷达传感器、摄像机、速度传感器等等中的一种或者多种传感器。一帧时间一般默认为是十二分之一秒,但是也可以根据实际情况进行设定。数据帧包括但不限于三维点云、位姿信息、照片等等中的一种或者多种数据信息。三维点云是指3d(three-dimensional,三维空间)工程中依据测量仪器对目标物体进行数据采集,得到目标物体表面特性的海量点集合。点云中每个点都包含x、y、z几何坐标、强度值、分类值等信息。可以理解为点云是一个包含多个点的集合,每个点具有对应的坐标、强度值和分类值等信息。位姿信息是指目标对象的位置信息和朝向信息。接管判定计算是指对接管判定过程中包括的一个或者多个参数的计算,具体的计算过程和计算方法可以根据实际情况进行设定。接管条件是指符合接管目标对象的条件。可以理解为,接管判定过程中包含的一个或者
多个参数对应的阈值。目标对象是指调度器控制的对象。可以理解为,参与自动驾驶仿真测试的对象。例如,车辆、行人等等。
73.具体的,调度器获取目标对象所处位置的数据帧,基于候选测试任务程序对数据帧进行接管判定计算,如果接管判定计算得到的接管判定结果符合候选测试任务程序对应的接管条件,则将候选测试任务程序作为当前测试任务程序,调度器用当前测试任务程序接管目标对象。
74.步骤208,基于当前测试任务程序对目标对象运行过程中获取的数据帧进行运行状态计算,运行状态计算得到的运行状态结果用于控制目标对象参与自动驾驶仿真测试。
75.其中,运行状态计算是指对决定目标对象下一帧状态的一个或者多个参数的计算,具体的计算过程和计算方法可以根据实际情况进行设定。自动驾驶仿真测试是指对自动驾驶汽车进行的仿真测试。运行状态结果是指通过运行状态计算得到的决定目标对象下一帧状态的一个或者多个参数对应的数值。
76.具体的,调度器获取目标对象运行过程中的数据帧,基于当前测试任务程序对数据帧进行运行状态计算,用运行状态计算得到的运行状态结果去控制目标对象参与自动驾驶仿真测试的行为。
77.在一个实施例中,通过设置运行状态计算的频率来控制目标对象运行状态改变的时间间隔,例如,设置一秒钟进行30次运行状态计算,则目标对象的运行状态每两秒改变一次。
78.步骤210,基于当前测试任务程序对目标对象运行过程中获取的数据帧进行测试进度计算,若测试进度计算得到的测试进度结果为已完成当前测试任务程序对应的测试任务,则获取下一个测试任务标识,返回执行从测试库中获取测试任务标识对应的候选测试任务程序,运行候选测试任务程序的步骤,直至满足预设停止条件,则停止测试。
79.其中,测试进度计算是指对当前测试任务程序对应的测试任务完成的情况进行计算,具体的计算过程和计算方法可以根据实际情况进行设定。测试进度结果是指测试进度计算得到的结果。测试进度结果可以设置为已完成和未完成,也可以设置为进度完成百分比。例如,完成80%。预设停止条件是指预先设定的让目标对象停止参与自动驾驶仿真测试的条件。预设停止条件可以分为正常停止条件和异常停止条件。例如,正常停止条件可以设置为测试任务序列中最后一个测试任务标识对应的测试任务完成,异常停止条件可以设置为候选测试任务程序无法接管目标对象且当前测试任务程序无法继续控制目标对象参与自动驾驶仿真测试。
80.具体的,调度器获取目标对象运行过程中的数据帧,基于当前测试任务程序对数据帧进行测试进度计算,如果测试进度计算得到的测试进度结果为已完成当前测试任务程序对应的测试任务,则获取下一个测试任务标识,返回执行步骤204、步骤206、步骤208和步骤210,直至满足预设停止条件,目标对象停止参与自动驾驶仿真测试。
81.上述自动驾驶仿真测试方法中,获取一个测试场景对应的测试任务序列,测试任务序列中包含多个测试任务标识以及测试任务标识对应的顺序,每个测试任务标识代表一个测试任务程序,每个测试任务程序对应一个测试任务,一个测试场景可以由多个测试任务标识对应的测试任务程序组成,准确的控制虚拟环境中目标对象的行为;从测试库中获取测试任务标识对应的候选测试任务程序,运行候选测试任务程序,获取目标对象周围的
数据帧,基于候选测试任务程序对获取的数据帧进行接管判定计算,若接管判定计算得到的接管判定结果符合候选测试任务程序对应的接管条件,则将候选测试任务程序作为当前测试任务程序以接管目标对象,避免目标对象产生非预期行为;获取目标对象运行过程中的数据帧,基于当前测试任务程序进行运行状态计算,用运行状态计算得到的运行状态结果去控制目标对象参与自动驾驶仿真测试的行为,使目标对象的行为符合周围环境;获取目标对象运行过程中的数据帧,基于当前测试任务程序进行测试进度计算,若测试进度计算得到的测试进度结果为已完成当前测试任务程序对应的测试任务,则获取下一个测试任务标识,返回执行从测试库中获取测试任务标识对应的候选测试任务程序,运行所候选测试任务程序的步骤,直至满足预设停止条件停止测试,保证当前测试任务程序对应的测试任务完成,提高目标对象行为的可控性。通过测试任务程序组成测试场景,避免了复杂的逻辑判断,准确的控制虚拟环境中目标对象的行为,通过接管判定计算、比较等过程,准确的判定候选测试任务程序是否适合接管目标对象,避免目标对象产生非预期行为,通过用运行状态计算得到的运行状态结果去控制目标对象的行为,使目标对象的行为符合周围环境,通过用测试进度计算得到的测试进度结果判定当前测试任务程序对应的测试任务是否已经完成,保证当前测试任务程序对应的测试任务完成,通过预设停止条件来提高目标对象行为的可控性,提高了自动驾驶仿真测试的精确度。
82.在一个实施例中,自动驾驶仿真测试方法还包括:
83.当候选测试任务程序为测试任务序列中首个测试任务标识对应的测试任务程序,基于候选测试任务程序对获取的数据帧进行接管判定计算,得到目标对象与自动驾驶仿真测试车辆的相对位置;若相对位置不满足候选测试任务程序对应的接管条件,且存在默认任务程序,则目标对象基于默认任务程序参与自动驾驶仿真测试;若相对位置不满足候选测试任务程序对应的接管条件,且不存在默认任务程序,则目标对象停止参与自动驾驶仿真测试。
84.其中,相对位置是指以其中一个对象的位置作为参照点,另一个对象的位置。可以理解为,目标对象与自动驾驶仿真测试车辆之间的距离和方向等等。例如,自动驾驶仿真测试车辆距离目标对象距离为100米,自动驾驶仿真测试车辆偏离目标对象30度。默认任务程序是指设置的一个用于控制目标对象的程序。可以理解为,默认任务程序对应的测试任务相比候选测试任务程序对应的测试任务更加简单,可以随时接管目标对象。例如,慢速行驶任务程序。
85.具体的,调度器获取测试任务序列中的第一个测试任务标识,从测试库中获取该测试任务标识对应的候选测试任务程序,调度器获取目标对象周围的数据帧,基于候选测试任务程序计算目标对象与自动驾驶仿真测试车辆之间的相对位置,将相对位置与接管条件进行比对,如果相对位置不满足接管条件,则查询是否存在默认任务程序,如果有,则用默认任务程序控制目标对象参与自动驾驶仿真测试,如果没有,则让目标对象停止参与自动驾驶仿真测试。
86.在一个实施例中,如果目标对象与自动驾驶仿真测试车辆之间的相对位置不满足接管条件,则调度器基于目标对象与自动驾驶仿真测试车辆之间的相对位置对目标对象的位置进行调整,候选测试任务基于调整之后目标对象周围的数据帧再次进行接管判定计算,直至目标对象与自动驾驶仿真测试车辆之间的相对位置满足接管条件。
87.在一个实施例中,设定目标对象与自动驾驶车辆之间的相对位置,根据设定的相对位置对目标对象的位置进行调整。
88.在本实施例中,如果候选测试任务程序为测试任务序列中第一个测试任务标识对应的测试任务程序,则基于候选测试任务程序计算目标对象和自动驾驶车辆之间的相对位置,根据相对位置判断该候选测试任务程序是否适合接管目标对象,避免强行接管目标对象让目标对象产生非预期行为,提高了自动驾驶仿真测试的精确度。
89.在一个实施例中,如图4所示,基于当前测试任务程序对目标对象运行过程中获取的数据帧进行运行状态计算,运行状态计算得到的运行状态结果用于控制目标对象参与自动驾驶仿真测试包括:
90.步骤402,获取目标对象运行过程中包含自动驾驶仿真测试车辆的第一数据帧和包含非目标对象的第二数据帧。
91.其中,第一数据帧是指包含自动驾驶仿真测试车辆运行信息的数据集合。第二数据帧是指包含非目标对象运行信息的数据集合。第二数据帧可以为一个或者多个包含非目标对象的数据集合。第一数据帧和第二数据帧对应的时间为同一个时间帧。非目标对象是指测试环境中除自动驾驶仿真测试车辆和目标对象之外的其他参与自动驾驶仿真测试的对象。非目标对象可以为车辆或者行人等等。
92.具体的,调度器在目标对象运行的过程获取包含自动驾驶仿真测试车辆运行信息的第一数据帧,和包含非目标对象运行信息的第二数据帧。
93.步骤404,基于当前测试任务程序对第一数据帧和第二数据帧进行相对位置计算,得到目标对象与自动驾驶仿真测试车辆的第一相对位置和目标对象与非目标对象的第二相对位置。
94.其中,相对位置计算是指以两个对象之中的一个对象的位置作为参照点,计算另一个对象的位置,具体的计算过程和计算方法可以根据实际情况进行设定。
95.具体的,调度器基于当前测试任务程序对第一数据帧进行相对位置计算,得到目标对象与自动驾驶仿真测试车辆的第一相对位置,调度器基于当前测试任务程序对第二数据帧进行相对位置计算,得到目标对象与非目标对象的第二相对位置。
96.步骤406,基于当前测试任务程序对第一相对位置和第二相对位置进行运行状态分析,确定目标对象的下一帧运行状态,下一帧运行状态用于控制目标对象参与自动驾驶仿真测试的下一帧的运行状态。
97.具体的,调度器基于当前测试任务程序对第一相对位置和第二相对位置进行运行状态分析,根据运行状态分析得到的运行状态结果确定目标对象下一帧运行状态,调度器使用下一帧运行状态去控制目标对象在下一帧中的运行状态。
98.在本实施例中,调度器基于当前测试任务程序对第一数据帧和第二数据帧分别进行运行状态计算,对运行状态计算得到的第一相对位置和第二相对位置进行运行状态分析,确定目标对象的下一帧运行状态,用下一帧运行状态去控制目标对象下一帧的行为,通过用运行状态计算和运行状态分析确定的下一帧运行状态去控制目标对象下一帧的行为,目标对象的行为符合周围环境,提高了自动驾驶仿真测试的精确度。
99.在一个实施例中,基于候选测试任务程序对获取的数据帧进行接管判定计算,若接管判定计算得到的接管判定结果符合候选测试任务程序对应的接管条件,则将候选测试
任务程序作为当前测试任务程序以接管目标对象包括:
100.获取目标对象运行过程中的当前数据帧;基于候选测试任务程序对当前数据帧进行接管判定计算,得到接管判定结果;将接管判定结果与候选测试任务程序对应的接管条件进行比对;若接管判定结果符合候选测试任务程序对应的接管条件,则将候选测试任务程序作为当前测试任务程序以接管目标对象。
101.具体的,调度器在目标对象运行过程中获取当前数据帧,基于候选测试任务程序对当前数据帧进行接管判定计算,将接管判定计算得到的接管判定结果中各参数的参数值与接管条件中对应参数的区间范围进行比较,如果接管判定结果中各参数的参数值均符合接管条件中对应参数的区间范围,则判定候选测试任务程序可以接管目标对象,将候选测试任务程序作为当前测试任务程序接,用当前测试任务程序接管目标对象。
102.在一个实施例中,对接管判定结果中的各参数对应的参数值进行评估打分,得到一个综合评分,例如,接管判定结果中包含相对距离、相对方向、相对速度等参数,相对位置处于10米至50米之间为5分、处于51米至100米之间为4分、处于101至200米之间为3分等等,对接管判定结果中的各参数对应的参数值进行评分,将评分相加或者乘以权值后相加得到综合评分。候选测试任务程序对应的接管条件为一个评分区间或者评分阈值,将满足结果条件的候选测试任务程序作为当前测试任务程序,用当前测试任务程序接管目标对象。
103.在本实施例中,通过接管判定计算、比对等过程,准确的判定候选测试任务程序是否适合接管目标对象,避免候选测试任务程序强行接管目标对象让目标对象产生非预期行为,提高了自动驾驶仿真测试的精确度。
104.在一个实施例中,如图5所示,基于候选测试任务程序对获取的数据帧进行接管判定计算,若接管判定计算得到的接管判定结果符合候选测试任务程序对应的接管条件,则将候选测试任务程序作为当前测试任务程序以接管目标对象还包括:
105.步骤502,若接管判定结果不符合候选测试任务程序对应的接管条件,则返回执行获取目标对象运行过程中的当前数据帧的步骤,并且统计连续重复执行的重复次数。
106.具体的,如果接管判定结果不符合候选测试任务程序对应的接管条件,则再次执行获取目标对象运行过程中的当前数据帧,基于候选测试任务程序对当前数据帧进行接管判定计算,得到接管判定结果,将接管判定结果与候选测试任务程序对应的接管条件进行比对的步骤,每执行上述步骤一次,重复次数加一得到新的重复次数,如果接管判定结果符合候选测试任务程序对应的接管条件,则将重复次数清零。
107.步骤504,若重复次数等于次数阈值,则对候选测试任务程序对应的测试任务标识进行标记,停止运行候选测试任务程序。
108.其中,标记是指对测试任务标识进行标注。可以理解为,对未接管目标对象的测试任务程序对应的测试任务标识进行记录。
109.具体的,将新的重复次数与次数阈值进行比较,如果重复次数小于次数阈值,则继续执行步骤502,如果重复次数等于次数阈值,则对候选测试任务程序对应的测试任务标识进行标记,停止运行候选测试任务程序。
110.步骤506,获取候选测试任务程序对应的测试任务标识的下一测试任务标识,返回执行从测试库中获取测试任务标识对应的候选测试任务程序,运行候选测试任务程序的步骤。
111.具体的,候选测试任务程序停止运行之后,获取候选测试任务程序对应的测试任务标识的下一个测试任务标识,返回执行步骤204。
112.在本实施例中,通过设置的次数阈值限制步骤502重复执行的次数,减少候选测试任务程序运行占用的资源,提高自动驾驶仿真测试的效率,若候选测试任务程序进行次数阈值次接管判定计算仍然无法接管目标对象,说明该候选测试任务程序的选择存在缺陷,不用该候选测试任务程序控制目标对象可以避免目标对象产生非预期行为,提高了自动驾驶仿真测试的精确度。
113.在一个实施例中,若接管判定结果不符合接管条件,则重复执行获取目标对象运行过程中的当前数据帧的步骤还包括:
114.基于当前测试任务程序对当前数据帧进行继续控制计算,得到继续控制结果;若继续控制结果符合当前测试任务程序对应的继续控制条件,则基于当前测试任务程序确定目标对象的下一帧运行状态;若继续控制结果不符合当前测试任务程序对应的继续控制条件,则异常停止测试。
115.具体的,基于候选测试任务程序进行接管判断计算得到接管判定结果,如果接管判定结果不符合候选测试任务程序对应的接管条件,候选测试任务程序无法接管目标对象,则基于当前测试任务程序对数据帧进行继续控制计算得到继续控制结果,如果继续控制结果符合当前测试任务程序对应的继续控制条件,则基于当前测试任务程序确定目标对象的下一帧运行状态,用下一帧运行状态控制目标对象参与自动驾驶仿真测试中下一帧的运行状态,如果继续控制结果不符合当前测试任务程序对应的继续控制条件,则目标对象停止参与自动驾驶仿真测试。
116.在一个实施例中,为候选测试任务程序无法接管目标对象的情况设置默认任务程序,如果当前测试任务程序无法继续控制目标对象,则用默认任务程序控制目标对象参与自动驾驶仿真测试。
117.在本实施例中,在候选测试任务程序不符合接管条件的时间段内,用当前测试任务程序继续控制目标对象参与自动驾驶仿真测试,可以减少异常停止测试的概率,不仅如此,基于当前测试任务程序对当前数据帧进行继续控制计算,根据继续控制结果判断当前测试任务程序是否可以继续控制目标对象参与自动驾驶仿真测试,避免当前测试任务程序强行继续控制目标对象让目标对象产生非预期行为,提高了自动驾驶仿真测试的精确度。
118.在一个具体的实施例中,目标对象参与自动驾驶仿真测试的步骤如图6所示:
119.调度器基于当前测试任务程序对目标对象运行过程中获取的数据帧进行运行状态计算,将运行状态计算得到的下一帧运行状态用于控制目标对象在自动驾驶仿真测试中下一帧的行为。基于当前测试任务程序对目标对象运行过程中获取的数据帧进行测试进度计算,如果所述测试进度计算得到的测试进度结果为未完成当前测试任务程序对应的测试任务,则重复执行基于当前测试任务程序对目标对象运行过程中获取的数据帧进行运行状态计算,将运行状态计算得到的下一帧运行状态用于控制目标对象在自动驾驶仿真测试中下一帧的行为,如果所述测试进度计算得到的测试进度结果为已完成当前测试任务程序对应的测试任务,则获取下一个测试任务标识。
120.调度器从测试库中获取测试任务标识对应的候选测试任务程序,调度器运行候选测试任务程序,基于候选测试任务程序对获取的数据帧进行接管判定计算,如果接管判定
计算得到的接管判定结果符合候选测试任务程序对应的接管条件,则将候选测试任务程序作为当前测试任务程序,用当前测试任务程序接管目标对象,如果接管判定结果不符合候选测试任务程序对应的接管条件,则基于当前测试任务程序对获取的数据帧进行继续接管运算,如果继续接管运算得到的继续接管结果符合当前测试任务程序对应的继续接管条件,则当前测试任务程序继续控制目标对象参与自动驾驶仿真测试,如果继续接管运算得到的继续接管结果不符合当前测试任务程序对应的继续接管条件,则查询是否设置默认任务程序,如果有,则将默认任务程序作为当前测试任务程序控制目标对象,如果没有,则目标对象停止参与测试。
121.在本实施例中,获取目标对象运行过程中的数据帧,基于当前测试任务程序进行运行状态计算,用运行状态计算得到的运行状态结果去控制目标对象参与自动驾驶仿真测试的行为,使目标对象的行为符合周围环境;获取目标对象运行过程中的数据帧,基于当前测试任务程序进行测试进度计算,若测试进度计算得到的测试进度结果为已完成当前测试任务程序对应的测试任务,则获取下一个测试任务标识,保证当前测试任务程序对应的测试任务完成;从测试库中获取测试任务标识对应的候选测试任务程序,运行候选测试任务程序,获取目标对象周围的数据帧,基于候选测试任务程序对获取的数据帧进行接管判定计算,若接管判定计算得到的接管判定结果符合候选测试任务程序对应的接管条件,则将候选测试任务程序作为当前测试任务程序以接管目标对象,避免目标对象产生非预期行为;通过上述步骤提高了自动驾驶仿真测试的精确度。
122.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
123.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的自动驾驶仿真测试方法的自动驾驶仿真测试装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个自动驾驶仿真测试装置实施例中的具体限定可以参见上文中对于自动驾驶仿真测试方法的限定,在此不再赘述。
124.在一个实施例中,如图7所示,提供了一种自动驾驶仿真测试装置,包括获取模块、运行模块、判定模块、控制模块、循环模块,其中:
125.获取模块702,用于获取测试任务序列中一测试任务标识,该测试任务序列中包含多个测试任务标识;
126.运行模块704,用于从测试库中获取该测试任务标识对应的候选测试任务程序,运行该候选测试任务程序;
127.判定模块706,用于基于该候选测试任务程序对获取的数据帧进行接管判定计算,若该接管判定计算得到的接管判定结果符合该候选测试任务程序对应的接管条件,则将该候选测试任务程序作为当前测试任务程序以接管目标对象;
128.控制模块708,用于基于该当前测试任务程序对该目标对象运行过程中获取的数
据帧进行运行状态计算,该运行状态计算得到的运行状态结果用于控制目标对象参与自动驾驶仿真测试;
129.循环模块710,用于基于该当前测试任务程序对该目标对象运行过程中获取的数据帧进行测试进度计算,若该测试进度计算得到的测试进度结果为已完成该当前测试任务程序对应的测试任务,则获取下一个测试任务标识,返回所述运行模块执行所述从测试库中获取所述测试任务标识对应的候选测试任务程序,运行所述候选测试任务程序,直至满足预设停止条件,则停止测试。
130.在一个实施例中,判定模块706还用于:当该候选测试任务程序为该测试任务序列中首个测试任务标识对应的测试任务程序,基于该候选测试任务程序对获取的数据帧进行接管判定计算,得到该目标对象与自动驾驶仿真测试车辆的相对位置;若该相对位置不满足该候选测试任务程序对应的接管条件,且存在默认任务程序,则该目标对象基于该默认任务程序参与自动驾驶仿真测试;若该相对位置不满足该候选测试任务程序对应的接管条件,且不存在默认任务程序,则该目标对象停止参与自动驾驶仿真测试。
131.在一个实施例中,控制模块708还用于:获取该目标对象运行过程中包含自动驾驶仿真测试车辆的第一数据帧和包含非目标对象的第二数据帧;基于该当前测试任务程序对该第一数据帧和该第二数据帧进行相对位置计算,得到该目标对象与该自动驾驶仿真测试车辆的第一相对位置和该目标对象与该非目标对象的第二相对位置;基于该当前测试任务程序对该第一相对位置和该第二相对位置进行运行状态分析,确定该目标对象的下一帧运行状态,该下一帧运行状态用于控制该目标对象参与自动驾驶仿真测试的下一帧的运行状态。
132.在一个实施例中,判定模块706还用于:获取该目标对象运行过程中的当前数据帧;基于该候选测试任务程序对该当前数据帧进行接管判定计算,得到接管判定结果;将该接管判定结果与该候选测试任务程序对应的接管条件进行比对;若该接管判定结果符合该候选测试任务程序对应的接管条件,则将该候选测试任务程序作为当前测试任务程序以接管目标对象。
133.在一个实施例中,判定模块706还用于:若接管判定结果不符合该候选测试任务程序对应的接管条件,则返回执行该获取该目标对象运行过程中的当前数据帧的步骤,并且统计连续重复执行的重复次数;若该重复次数等于次数阈值,则对该候选测试任务程序对应的测试任务标识进行标记,停止运行该候选测试任务程序;获取该候选测试任务程序对应的测试任务标识的下一测试任务标识,返回执行该从测试库中获取测试任务标识对应的候选测试任务程序,运行候选测试任务程序的步骤。
134.在一个实施例中,判定模块706还用于:基于该当前测试任务程序对该当前数据帧进行继续控制计算,得到继续控制结果;若该继续控制结果符合该当前测试任务程序对应的继续控制条件,则基于该当前测试任务程序确定该目标对象的下一帧运行状态;若该继续控制结果不符合该当前测试任务程序对应的继续控制条件,则异常停止测试。
135.上述自动驾驶仿真测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
136.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种车道线调整方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
137.本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
138.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
139.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
140.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
141.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
142.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
143.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛
盾,都应当认为是本说明书记载的范围。
144.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献