CN115658966A - 泛化智能驾驶场景的生成方法和生成装置 - Google Patents
泛化智能驾驶场景的生成方法和生成装置 Download PDFInfo
- Publication number
- CN115658966A CN115658966A CN202211394080.4A CN202211394080A CN115658966A CN 115658966 A CN115658966 A CN 115658966A CN 202211394080 A CN202211394080 A CN 202211394080A CN 115658966 A CN115658966 A CN 115658966A
- Authority
- CN
- China
- Prior art keywords
- scene
- parameters
- generalization
- generalized
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明揭示了一种泛化智能驾驶场景的生成方法,包括:获取泛化场景的需求并确定需要泛化的参数;对参数进行配置;对参数进行泛化处理,包括对基于参数生成的测试用例进行数量优化以及对生成过程进行嵌套循环优化;将经泛化处理后的参数以参数列表的形式保存到参数数据库;泛化参数调用,从参数数据库中调用对应的参数列表;生成场景文件,调用场景生成服务,依据参数列表生成场景文件并保存在场景库中;生成智能驾驶场景,调用虚拟仿真服务,从场景库中调用并加载对应的场景文件,解析场景文件生成虚拟的智能驾驶场景。本发明还揭示了一种泛化智能驾驶场景的生成装置,包括:客户端、泛化处理服务器、参数数据库、主控服务器和场景库。
Description
技术领域
本发明涉及智能驾驶技术领域,更具体地说,涉及智能驾驶的虚拟场景的生成技术领域。
背景技术
在智能驾驶测试体系中,仿真测试由于其降低测试周期和成本、提升测试覆盖、避免实车路测的安全问题等优势,已成为智能驾驶汽车开发测试重要的一环。场景库作为仿真测试的基石,包含丰富的属性信息,而如何搭建覆盖度高的场景库,场景泛化方法不可或缺。而目前大部分自动驾驶公司都缺乏对虚拟场景进行泛化操作的能力,仅采用人工手动的方式修改场景参数生成新的场景,很难找到更具备测试价值的长尾场景。已有的场景泛化能力也仅仅是对一些测试参数进行独立泛化,然后通过全排列组合,产生数据量较大且包含很多无效场景。且泛化算法构成主要基于嵌套循环,外层循环体每执行一次,内层循环体都要整体循环一次,导致泛化效率低下。因此,如何搭建高效的仿真场景泛化体系提高测试效率是智能驾驶仿真开发的重点和难点。
发明内容
根据本发明的一实施例,提出一种泛化智能驾驶场景的生成方法,包括:
获取泛化场景的需求,泛化场景的需求与需要泛化的参数相对应,根据泛化场景的需求确定需要泛化的参数;
对参数进行配置,对于所确定的需要泛化的参数,配置泛化组合的数量、参数的取值范围、参数的步长;
对参数进行泛化处理,泛化处理包括对基于参数生成的测试用例进行数量优化以及对测试用例的生成过程进行嵌套循环优化;
将经泛化处理后的参数保存到参数数据库,经泛化处理后的参数以参数列表的形式保存在参数数据库中,参数列表包括参数、参数的配置信息以及测试用例,参数列表与泛化场景的需求相对应;
泛化参数调用,参数的泛化处理完成后,根据泛化场景的需求,从参数数据库中调用对应的参数列表;
生成场景文件,调用场景生成服务,场景生成服务读取参数列表,依据参数列表生成场景文件,并将场景文件保存在场景库中;
生成智能驾驶场景,调用虚拟仿真服务,虚拟仿真服务从场景库中调用并加载对应的场景文件,解析场景文件生成虚拟的智能驾驶场景。
在一个实施例中,在获取泛化场景的需求时,为该泛化场景的需求赋予唯一的任务ID,并同时记录提出该需求的用户的用户ID以及提出该需求的时间戳。在将经泛化处理后的参数保存到参数数据库时,任务ID、用户ID以及时间戳与对应的参数列表一起保存在参数数据库中,其中参数列表与泛化场景的需求通过任务ID建立一一对应的关系。
在一个实施例中,对参数进行泛化处理的步骤中,对参数生成的测试用例进行数量优化包括:根据泛化组合的数量n,对于全部的参数,列举从全部的参数中选择n个参数形成泛化组合的全部情况;对于每一种泛化组合,根据每一参数的取值范围和步长列举全部的测试用例;比较所有泛化组合的测试用例,删除重复的测试用例;余下的不重复的测试用例作为经数量优化的测试用例。
在一个实施例中,对参数进行泛化处理的步骤中,对测试用例的生成过程进行嵌套循环优化包括:建立外层嵌套表和内层嵌套表,其中内层嵌套表所包含的元素是外层嵌套表所包含的元素的子集;创建索引,索引对应内层嵌套表所包含的元素,索引使得所述元素在外层嵌套表和内层嵌套表中直接定位;外层嵌套表执行循环,所述元素在外层嵌套表的循环中被遍历和赋值;内层嵌套表执行循环,所述元素在内层嵌套表执行循环时直接通过索引从外层嵌套表中获取赋值,以减少嵌套循环的执行次数。
在一个实施例中,场景生成服务对参数列表的每一行生成一个场景文件,场景文件以XML的格式保存。
根据本发明的一实施例,提出一种泛化智能驾驶场景的生成装置,包括:客户端、泛化处理服务器、参数数据库、主控服务器和场景库;
客户端具有交互界面,客户端通过交互界面获取泛化场景的需求,泛化场景的需求与需要泛化的参数相对应,根据泛化场景的需求确定需要泛化的参数;
客户端将需要泛化的参数发送给泛化处理服务器,泛化处理服务器从参数数据库获取参数配置信息并对参数进行配置,参数配置信息包括:泛化组合的数量、参数的取值范围、参数的步长;泛化处理服务器对参数进行泛化处理,泛化处理包括对基于参数生成的测试用例进行数量优化以及对测试用例的生成过程进行嵌套循环优化;泛化处理服务器将经泛化处理后的参数保存到参数数据库,经泛化处理后的参数以参数列表的形式保存在参数数据库中,参数列表包括参数、参数的配置信息以及测试用例,参数列表与泛化场景的需求相对应;
泛化处理服务器在完成参数泛化并将经泛化处理后的参数保存到参数数据库后,向主控服务器发送完成指令,主控服务器解析该完成指令并从参数数据库中调用对应的参数列表;主控服务器调用场景生成服务,场景生成服务读取参数列表,依据参数列表生成场景文件,并将场景文件保存在场景库中;
客户端调用虚拟仿真服务,虚拟仿真服务从场景库中调用并加载对应的场景文件,解析场景文件生成虚拟的智能驾驶场景。
在一个实施例中,客户端在获取泛化场景的需求时,为该泛化场景的需求赋予唯一的任务ID,并同时记录提出该需求的用户的用户ID以及提出该需求的时间戳。泛化处理服务器在将经泛化处理后的参数保存到参数数据库时,任务ID、用户ID以及时间戳与对应的参数列表一起保存在参数数据库中,其中参数列表与泛化场景的需求通过任务ID建立一一对应的关系。
在一个实施例中,泛化处理服务器向主控服务器发送的完成指令中包含任务ID,主控服务器解析完成指令获取任务ID,并根据该任务ID从参数数据库中调用对应的参数列表。
在一个实施例中,场景生成服务所生成的场景文件中包括任务ID,客户端调用的虚拟仿真服务根据任务ID从场景库中调用并加载对应的场景文件,解析场景文件生成虚拟的智能驾驶场景。
在一个实施例中,泛化处理服务器对参数生成的测试用例进行数量优化,其中,泛化处理服务器根据泛化组合的数量n,对于全部的参数,列举从全部的参数中选择n个参数形成泛化组合的全部情况;对于每一种泛化组合,根据每一参数的取值范围和步长列举全部的测试用例;比较所有泛化组合的测试用例,删除重复的测试用例;余下的不重复的测试用例作为经数量优化的测试用例。
在一个实施例中,泛化处理服务器对测试用例的生成过程进行嵌套循环优化,其中,泛化处理服务器建立外层嵌套表和内层嵌套表,其中内层嵌套表所包含的元素是外层嵌套表所包含的元素的子集;创建索引,索引对应内层嵌套表所包含的元素,索引使得所述元素在外层嵌套表和内层嵌套表中直接定位;外层嵌套表执行循环,所述元素在外层嵌套表的循环中被遍历和赋值;内层嵌套表执行循环,所述元素在内层嵌套表执行循环时直接通过所述索引从外层嵌套表中获取赋值,以减少嵌套循环的执行次数。
在一个实施例中,主控服务器调用的场景生成服务对参数列表的每一行生成一个场景文件,场景文件以XML的格式保存。
在一个实施例中,客户端、泛化处理服务器、参数数据库、主控服务器和场景库采用分布式部署,通过通信网络互相通信。
在一个实施例中,虚拟仿真服务部署在客户端上,或者部署在网络上;场景生成服务部署在主控服务器上,或者部署在网络上。
在一个实施例中,主控服务器架设在云端。
本发明的泛化智能驾驶场景的生成方法和生成装置解决了下述的问题:解决目前大部分智能驾驶公司缺乏自动化泛化智能驾驶场景能力的现状,提高场景库测试覆盖度;解决已有的智能驾驶场景泛化方法数据量大、速率慢、效率低的问题。本发明的泛化智能驾驶场景的生成方法和生成装置具有如下的有益效果:基于T-way泛化方法,提高场景测试覆盖度;采用索引嵌套搭建泛化逻辑算法,提高仿真场景泛化效率;采用端到端全流程技术架构自动化泛化智能驾驶场景,代替手动修改参数的方式,节约场景泛化所需的大量人力成本和时间成本。
附图说明
图1揭示了根据本发明的一实施例的泛化智能驾驶场景的生成方法的流程图。
图2揭示了根据本发明的一实施例的泛化智能驾驶场景的生成方法中进行嵌套循环优化的示意图。
图3揭示了根据本发明的一实施例的泛化智能驾驶场景的生成装置的结构示意图。
具体实施方式
参考图1所示,图1揭示了根据本发明的一实施例的泛化智能驾驶场景的生成方法的流程图。该泛化智能驾驶场景的生成方法,其特征在于,包括:
S101、获取泛化场景的需求。泛化场景的需求与需要泛化的参数相对应,根据泛化场景的需求确定需要泛化的参数。在一个实施例中,在获取泛化场景的需求时,会为该泛化场景的需求赋予唯一的任务ID,并同时记录提出该需求的用户的用户ID以及提出该需求的时间戳。任务ID作为该泛化场景的需求的识别符,会在后续的处理中持续使用,所有与该泛化场景的需求关联的数据都会使用到该任务ID。获取用户ID和时间戳是出于数据完整性的考量。智能驾驶的全部测试包含丰富的属性信息。但对于每一个具体的仿真场景来说,仅涉及部分相关的属性,其余的属性与特定的仿真场景的关联性并不大。属性(或者说参数)的数量将直接影响到后续测试用例的数量以及嵌套循环计算的次数,会很大程度上影响仿真测试的运算量和耗时。由于特定的测试任务只与场景库中部分属性有关,因此通过确定泛化场景的需求来确定与这些需求相对应的属性(参数),从而确定需要进行泛化的参数来形成泛化组合。泛化组合的目标是让模型基于已知对象的性质,推断未知对象组合的意义。仿真场景在测试中的常用参数包括环境可见度、自车速度、障碍车速度、路面附着系数、跟车距离等。通过获取泛化场景的需求,可以从上述的参数中确定需要进行泛化的参数。在一个实施例中,根据所选的泛化场景的需求,确定要泛化的参数为车速和跟车距离。在一个实施例中,还可以对所选择的参数赋予初始值或者期望值。比如,对于选择的参数车速和跟车距离,可以设定其初始值或者期望值为:车速60km/h、跟车距离200m。
S102、对参数进行配置。对于所确定的需要泛化的参数,配置泛化组合的数量、参数的取值范围、参数的步长。在步骤S101中确定了需要进行泛化的参数之后,需要对这些参数进行配置。在一个实施例中,配置的内容包括泛化组合的数量、参数的取值范围、参数的步长。比如,在步骤S101中确定需要进行泛化的参数为车速和跟车距离,对车速和跟车距离进行配置如下:
参数的取值范围:车速的取值范围为0~120km/h、跟车距离的取值范围为大于或等于0m。如果选择的需要泛化的参数是其他参数,也可以从参数数据库中查询获得相应参数的取值范围。
参数的步长:车速的步长可设为12km/h、跟车距离的步长设为10m。同样的,如果选择的需要泛化的参数是其他参数,也可以从参数数据库中查询获得相应参数的步长。
泛化组合的数量:泛化组合的数量由用户按需求决定,通常默认取值为3。泛化组合的常用数量为2~4。
S103、对参数进行泛化处理。泛化处理包括对基于参数生成的测试用例进行数量优化以及对测试用例的生成过程进行嵌套循环优化。
在一个实施例中,对参数进行泛化处理的步骤中,对参数生成的测试用例进行数量优化包括:
根据泛化组合的数量n,对于全部的参数,列举从全部的参数中选择n个参数形成泛化组合的全部情况;
对于每一种泛化组合,根据每一参数的取值范围和步长列举全部的测试用例;
比较所有泛化组合的测试用例,删除重复的测试用例;
余下的不重复的测试用例作为经数量优化的测试用例。
上述的数量优化过程是基于T-way的泛化逻辑。下面用一个具体的实例来帮助理解上述的数量优化过程。
如前面所介绍的,仿真场景包含丰富的属性信息。大多数的测试任务只与场景库中部分属性有关,组合泛化的目标是让模型基于已知对象的性质,推断未知对象组合的意义。现有技术中使用的泛化方法采用全排列组合泛化理论,即所有测试用例的组合都至少要迸行一次实验,导致全排列组合所需测试的总数会较多,会包含大量的无效数据组合。比如,对于一个包含四个参数A、B、C和D的实例,每个参数都可以有两种取值。表1列举了全排列组合所需用到的测试用例。表1的上半部分列出了基础值:基础值一共含有4个参数,分别为A、B、C和D。每个参数含有2种取值,例如A参数含有a1和a2。表1的下半部分列出了全排列组合的情况下需要使用到的测试用例:采用传统的全排列组合方式,每个参数的取值出现不同,则产生不同的测试用例,一共会产生24=16个测试用例,如表所示,每一行代表一个测试用例。在使用全排列组合时,如果参数的数量从4变为10时而每个参数的取值依旧为2时,测试用例的总数从16变成210=1024。如果参数的取值更多,那测试用例的总数还会以指数级别增多,这将对计算资源和存储资源形成巨大挑战。
表1基础值和全排列组合
本发明提出一种测试用例的数量优化方法(T-way泛化方法)来解决泛化数据量庞大的问题。T-way泛化方法通过组合若干个参数t(t通常取值2或3)来创建测试用例。例如,对于具有n个参数(假设每个参数都有d个取值)的系统,这些参数的所有组合为dn个。由于计算资源和存储资源的限制,不可能把所有的组合全部生成测试用例,T-way组合泛化方法可以在测试效果接近理想效果的情况下,使得测试用例数量大大降低。
继续基于上述的实例的基本情况:四个参数A、B、C和D,每个参数都可以有两种取值,下面以t=3(泛化组合的数量为3)为例来说明T-way的方法在减少测试用例数量方面的效果:
第一步,列出所有3个参数可能组合的情况:即ABC、ACD和BCD。
第二步,计算当ABC为组合时(见表2)的测试用例数量。这里ABC三类参数,每一类参数的取值变化不同,将会产生不同的测试用例,所以,一共有23=8种测试用例,即表2的下半部分(每一行为一个测试用例)。此时参数D的数值可任意选择(d1或d2)。
表2ABC为组合时的测试用例数量
第三步,同样的方法,计算当ABD为组合时(见表3)的测试用例数量。此时,ABD三类参数,任意一类参数取值的变化,将会产生不同的测试用例。所以,一共有23=8种测试用例,此时参数C的取值和任意选择(c1或者c2)。此时注意到,测试用例{a1,b1,c1,d1},{a2,b1,c1,d1},{a2,b2,c2,d1}这三组测试用例在第二步中已经出现过,因此,删除这三个重复的测试用例,只留下剩下的5个有效的测试用例。
表3ABD为组合时的测试用例数量
第四步,同样的方法,计算当ACD为组合时(见表4)的测试用例数量。此时,ACD三类参数,任意一类参数取值的变化,将会产生不同的测试用例。所以,一共有23=8种测试用例,此时参数B的取值和任意选择(b1或者b2)。仔细观察,注意到ACD产生的8中测试用例全部在第二步和第三步产生过,所以,删掉全部的8个重复的测试用例。
表4ACD为组合时的测试用例数量
第五步,计算当BCD为组合时(见表5)的测试用例数量。此时,BCD三类参数,任意一类参数取值的变化,将会产生不同的测试用例。所以,一共有23=8种测试用例,此时参数A的取值和任意选择(a1或者a2)。仔细观察,注意到BCD产生的8中测试用例全部在第二步和第三步产生过,所以,删掉全部的8个重复的测试用例。
表5BCD为组合时的测试用例数量
最后一步,综合上述几步(表2~表5)产生的测试用例,得到最终的有效测试用例为8+5=13,见表6的下半部分,共13行,每一行代表一个唯一的测试用例。
表6最终的有效测试用例
总结:当采用全排列组合方法,一共生成24=16个测试用例,但是采用T-way组合泛化方法,当泛化组合数量t=3时,测试用例的数量降到了13,节省了18.75%的测试用例。将T-way组合泛化方法用在场景泛化上,同样的可以降低测试用例的数量,从而避免大量重复无效的场景用例。
在一个实施例中,对参数进行泛化处理的步骤中,对测试用例的生成过程进行嵌套循环优化包括:
建立外层嵌套表和内层嵌套表,其中内层嵌套表所包含的元素是外层嵌套表所包含的元素的子集;
创建索引,所述索引对应内层嵌套表所包含的元素,所述索引使得所述元素在外层嵌套表和内层嵌套表中直接定位;
外层嵌套表执行循环,所述元素在外层嵌套表的循环中被遍历和赋值;
内层嵌套表执行循环,所述元素在内层嵌套表执行循环时直接通过所述索引从外层嵌套表中获取赋值,以减少嵌套循环的执行次数。
泛化算法的构成主要基于嵌套循环,在现有技术中,外层循环体每执行一次循环,内层循环体都要整体循环一次,其中存在大量的重复计算,因而导致泛化计算整体效率低下。下面结合图2介绍一个嵌套循环优化的实例,图2揭示了根据本发明的一实施例的泛化智能驾驶场景的生成方法中进行嵌套循环优化的示意图。通过该实例能够更好地理解本发明的嵌套循环优化的过程。整体而言,本发明采用索引搜索来优化嵌套循环实现泛化,通过增加索引可以提高泛化效率,降低时耗。在图2所示的实例中,索引嵌套循环的实现如下:
通过减少循环次数来达到优化的效果,从而优化嵌套循环的性能。如图2所示,准备t1和t2两个表。其中t1为外层嵌套表,对应外层嵌套体,包含a,b,c三个元素。t2为内层嵌套表,对应内层嵌套体,包含a,b二个元素。内层嵌套表中的元素a,b是外层嵌套表所包含的元素a,b,c的子集。
根据本发明的方案,引入索引,索引是一种单独的、物理的、对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的、指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。索引提供指向存储在表的指定列中的数据值的指针,然后根据指定的排序顺序对这些指针排序。使用索引以找到特定值,然后顺指针找到包含该值的行。这样可以可快速访问数据表中的特定信息。
于是,在图2所示的嵌套循环中加入索引,索引针对内层嵌套表t2中的元素a,b。在外层嵌套表t1执行循环时,元素a,b在外层嵌套表的循环中被遍历和赋值。然后,在内层嵌套表t2需要执行循环时,t2中的元素a,b是外层嵌套表t1中已经经过遍历的字段,此时可以通过索引直接获得这些字段的值,然后用作内层嵌套表t2中的取值。在此过程中,索引起到直接定位的作用,通过索引的直接定位,嵌套循环计算的次数会因为索引技术产生的量级的变化,从而大幅减少泛化计算所需的时间。
S104、将经泛化处理后的参数保存到参数数据库。经泛化处理后的参数以参数列表的形式保存在参数数据库中,参数列表包括参数、参数的配置信息以及测试用例,参数列表与泛化场景的需求相对应。在一个实施例中,在将经泛化处理后的参数保存到参数数据库时,任务ID、用户ID以及时间戳与对应的参数列表一起保存在参数数据库中,其中参数列表与泛化场景的需求通过任务ID建立一一对应的关系。
S105、泛化参数调用。参数的泛化处理完成后,根据泛化场景的需求,从参数数据库中调用对应的参数列表。在一个实施例中,在完成参数的泛化后,会产生一个完成指令,该完成指令中包含有任务ID。在接收到该完成指令后,说明参数泛化已经完成,此时可以对该完成指令进行解析,获得其中的任务ID,并基于该任务ID去调用相应的经过泛化处理的参数和参数列表。
S106、生成场景文件,调用场景生成服务,场景生成服务读取参数列表,依据参数列表生成场景文件,并将场景文件保存在场景库中。在一个实施例中,如果参数列表包含多行的,场景生成服务对参数列表的每一行生成一个场景文件。场景文件需要采用场景库能够识别的格式,在一个实施例中,场景文件以XML的格式保存。
S107、生成智能驾驶场景,调用虚拟仿真服务,虚拟仿真服务从场景库中调用并加载对应的场景文件,解析场景文件生成虚拟的智能驾驶场景。XML格式的场景文件被解析,并被加载到虚拟仿真服务中用于生成所需的场景。
根据本发明的一实施例,还提出一种泛化智能驾驶场景的生成装置,图3揭示了根据本发明的一实施例的泛化智能驾驶场景的生成装置的结构示意图。参考图3所示,该泛化智能驾驶场景的生成装置包括:客户端101、泛化处理服务器102、参数数据库103、主控服务器104和场景库105。
客户端101可以是个人电脑、本地服务器或者是手机或者其他手持设备之类的个人终端。客户端101具有交互界面,交互界面可以是应用程序(比如App)、终端程序或者网页版的UI界面。客户端101通过交互界面获取泛化场景的需求,泛化场景的需求与需要泛化的参数相对应,根据泛化场景的需求确定需要泛化的参数。在一个实施例中,在获取泛化场景的需求时,会为该泛化场景的需求赋予唯一的任务ID,并同时记录提出该需求的用户的用户ID以及提出该需求的时间戳。客户端101获取泛化场景的需求的过程与前述的步骤S101中描述的过程相同,此处不再赘述。
客户端101将需要泛化的参数发送给泛化处理服务器102。泛化处理服务器102从参数数据库103获取参数配置信息并对参数进行配置。参数配置信息包括:泛化组合的数量、参数的取值范围、参数的步长。泛化处理服务器102对参数进行泛化处理,泛化处理包括对基于参数生成的测试用例进行数量优化以及对测试用例的生成过程进行嵌套循环优化。泛化处理服务器102将经泛化处理后的参数保存到参数数据库103,经泛化处理后的参数以参数列表的形式保存在参数数据库103中。参数列表包括参数、参数的配置信息以及测试用例,参数列表与泛化场景的需求相对应。泛化处理服务器102从参数数据库103获取参数配置信息并对参数进行配置的过程和前述步骤S102中进行参数配置的过程相同。泛化处理服务器102所进行的泛化处理,包括对基于参数生成的测试用例进行数量优化以及对测试用例的生成过程进行嵌套循环优化的具体过程与前述步骤S103中所描述的对参数生成的测试用例进行数量优化的过程(T-way泛化方法)以及对测试用例的生成过程进行嵌套循环优化的过程(索引嵌套循环)相同,此处不再赘述。在一个实施例中,泛化处理服务器102在将经泛化处理后的参数保存到参数数据库103时,任务ID、用户ID以及时间戳与对应的参数列表一起保存在参数数据库中,其中参数列表与泛化场景的需求通过任务ID建立一一对应的关系。
泛化处理服务器102在完成参数泛化并将经泛化处理后的参数保存到参数数据库103后,向主控服务器104发送完成指令。主控服务器104解析该完成指令并从参数数据库103中调用对应的参数列表。主控服务器104调用场景生成服务,场景生成服务读取参数列表,依据参数列表生成场景文件,并将场景文件保存在场景库105中。在一个实施例中,泛化处理服务器102向主控服务器104发送的完成指令中包含任务ID,主控服务器104解析完成指令获取任务ID,并根据该任务ID从参数数据库103中调用该任务ID所对应的参数列表。在一个实施例中,场景生成服务所生成的场景文件中也包括任务ID。在一个实施例中,主控服务器104调用的场景生成服务对参数列表的每一行生成一个场景文件,如果参数列表具有多行,则相应地生成多个场景文件。场景文件需要采用场景库105能够识别的格式,在一个实施例中,场景文件以XML的格式保存。场景生成服务可以直接被部署在主控服务器104上,也可以被部署在与主控服务器104相通信的网络上。
客户端101调用虚拟仿真服务,虚拟仿真服务从场景库105中调用并加载对应的场景文件,解析场景文件生成虚拟的智能驾驶场景。XML格式的场景文件被解析,并被加载到虚拟仿真服务中用于生成所需的场景。在一个实施例中,场景文件中也包括任务ID,客户端101调用的虚拟仿真服务根据任务ID从场景库105中调用并加载对应的场景文件,解析场景文件生成虚拟的智能驾驶场景。虚拟仿真服务可以部署在客户端101上,也可以被部署在与客户端101相通信的网络上。
客户端101、泛化处理服务器102、参数数据库103、主控服务器104和场景库105部署在互相连通的网络上,比如部署在互联网上。在一个实施例中,客户端101、泛化处理服务器102、参数数据库103、主控服务器104和场景库105采用分布式部署,并通过通信网络互相通信。虚拟仿真服务可以部署在客户端101上,也可以单独部署在网络上。场景生成服务可以部署在主控服务器104上,也可以单独部署在网络上。在一个实施例中,主控服务器104架设在云端,成为云服务器。
本发明的泛化智能驾驶场景的生成方法和生成装置解决了下述的问题:解决目前大部分智能驾驶公司缺乏自动化泛化智能驾驶场景能力的现状,提高场景库测试覆盖度;解决已有的智能驾驶场景泛化方法数据量大、速率慢、效率低的问题。本发明的泛化智能驾驶场景的生成方法和生成装置具有如下的有益效果:基于T-way泛化方法,提高场景测试覆盖度;采用索引嵌套搭建泛化逻辑算法,提高仿真场景泛化效率;采用端到端全流程技术架构自动化泛化智能驾驶场景,代替手动修改参数的方式,节约场景泛化所需的大量人力成本和时间成本。
还需要注意的是,以上所列举的实施例仅为本发明的具体实施例。显然本发明不局限于以上实施例,随之做出的类似变化或变形是本领域技术人员能从本发明公开的内容直接得出或者很容易便联想到的,均应属于本发明的保护范围。上述实施例是提供给熟悉本领域内的人员来实现或使用本发明的,熟悉本领域的人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
Claims (15)
1.一种泛化智能驾驶场景的生成方法,其特征在于,包括:
获取泛化场景的需求,所述泛化场景的需求与需要泛化的参数相对应,根据泛化场景的需求确定需要泛化的参数;
对参数进行配置,对于所确定的需要泛化的参数,配置泛化组合的数量、参数的取值范围、参数的步长;
对参数进行泛化处理,所述泛化处理包括对基于所述参数生成的测试用例进行数量优化以及对测试用例的生成过程进行嵌套循环优化;
将经泛化处理后的参数保存到参数数据库,所述经泛化处理后的参数以参数列表的形式保存在参数数据库中,所述参数列表包括参数、参数的配置信息以及测试用例,参数列表与所述泛化场景的需求相对应;
泛化参数调用,参数的泛化处理完成后,根据泛化场景的需求,从参数数据库中调用对应的参数列表;
生成场景文件,调用场景生成服务,场景生成服务读取所述参数列表,依据参数列表生成场景文件,并将场景文件保存在场景库中;
生成智能驾驶场景,调用虚拟仿真服务,虚拟仿真服务从场景库中调用并加载对应的场景文件,解析场景文件生成虚拟的智能驾驶场景。
2.如权利要求1所述的泛化智能驾驶场景的生成方法,其特征在于,在获取泛化场景的需求时,为该泛化场景的需求赋予唯一的任务ID,并同时记录提出该需求的用户的用户ID以及提出该需求的时间戳;
在将经泛化处理后的参数保存到参数数据库时,所述任务ID、用户ID以及时间戳与对应的参数列表一起保存在参数数据库中,其中参数列表与泛化场景的需求通过所述任务ID建立一一对应的关系。
3.如权利要求1所述的泛化智能场景的生成方法,其特征在于,所述对参数进行泛化处理的步骤中,对参数生成的测试用例进行数量优化包括:
根据泛化组合的数量n,对于全部的参数,列举从全部的参数中选择n个参数形成泛化组合的全部情况;
对于每一种泛化组合,根据每一参数的取值范围和步长列举全部的测试用例;
比较所有泛化组合的测试用例,删除重复的测试用例;
余下的不重复的测试用例作为经数量优化的测试用例。
4.如权利要求1所述的泛化智能场景的生成方法,其特征在于,所述对参数进行泛化处理的步骤中,对测试用例的生成过程进行嵌套循环优化包括:
建立外层嵌套表和内层嵌套表,其中内层嵌套表所包含的元素是外层嵌套表所包含的元素的子集;
创建索引,所述索引对应内层嵌套表所包含的元素,所述索引使得所述元素在外层嵌套表和内层嵌套表中直接定位;
外层嵌套表执行循环,所述元素在外层嵌套表的循环中被遍历和赋值;
内层嵌套表执行循环,所述元素在内层嵌套表执行循环时直接通过所述索引从外层嵌套表中获取赋值,以减少嵌套循环的执行次数。
5.如权利要求1所述的泛化智能场景的生成方法,其特征在于,场景生成服务对参数列表的每一行生成一个场景文件,场景文件以XML的格式保存。
6.一种泛化智能驾驶场景的生成装置,其特征在于,包括:客户端、泛化处理服务器、参数数据库、主控服务器和场景库;
所述客户端具有交互界面,客户端通过交互界面获取泛化场景的需求,所述泛化场景的需求与需要泛化的参数相对应,根据泛化场景的需求确定需要泛化的参数;
所述客户端将需要泛化的参数发送给泛化处理服务器,泛化处理服务器从参数数据库获取参数配置信息并对参数进行配置,所述参数配置信息包括:泛化组合的数量、参数的取值范围、参数的步长;所述泛化处理服务器对参数进行泛化处理,所述泛化处理包括对基于所述参数生成的测试用例进行数量优化以及对测试用例的生成过程进行嵌套循环优化;所述泛化处理服务器将经泛化处理后的参数保存到参数数据库,所述经泛化处理后的参数以参数列表的形式保存在参数数据库中,所述参数列表包括参数、参数的配置信息以及测试用例,参数列表与所述泛化场景的需求相对应;
泛化处理服务器在完成参数泛化并将经泛化处理后的参数保存到参数数据库后,向主控服务器发送完成指令,主控服务器解析该完成指令并从参数数据库中调用对应的参数列表;主控服务器调用场景生成服务,场景生成服务读取所述参数列表,依据参数列表生成场景文件,并将场景文件保存在场景库中;
客户端调用虚拟仿真服务,虚拟仿真服务从场景库中调用并加载对应的场景文件,解析场景文件生成虚拟的智能驾驶场景。
7.如权利要求6所述的泛化智能驾驶场景的生成装置,其特征在于,所述客户端在获取泛化场景的需求时,为该泛化场景的需求赋予唯一的任务ID,并同时记录提出该需求的用户的用户ID以及提出该需求的时间戳;
所述泛化处理服务器在将经泛化处理后的参数保存到参数数据库时,所述任务ID、用户ID以及时间戳与对应的参数列表一起保存在参数数据库中,其中参数列表与泛化场景的需求通过所述任务ID建立一一对应的关系。
8.如权利要求7所述的泛化智能驾驶场景的生成装置,其特征在于,所述泛化处理服务器向主控服务器发送的完成指令中包含所述任务ID,主控服务器解析完成指令获取任务ID,并根据该任务ID从参数数据库中调用对应的参数列表。
9.如权利要求7所述的泛化智能驾驶场景的生成装置,其特征在于,场景生成服务所生成的场景文件中包括任务ID,客户端调用的虚拟仿真服务根据任务ID从场景库中调用并加载对应的场景文件,解析场景文件生成虚拟的智能驾驶场景。
10.如权利要求6所述的泛化智能场景的生成装置,其特征在于,所述泛化处理服务器对参数生成的测试用例进行数量优化,其中,泛化处理服务器根据泛化组合的数量n,对于全部的参数,列举从全部的参数中选择n个参数形成泛化组合的全部情况;对于每一种泛化组合,根据每一参数的取值范围和步长列举全部的测试用例;比较所有泛化组合的测试用例,删除重复的测试用例;余下的不重复的测试用例作为经数量优化的测试用例。
11.如权利要求6所述的泛化智能场景的生成装置,其特征在于,所述泛化处理服务器对测试用例的生成过程进行嵌套循环优化,其中,泛化处理服务器建立外层嵌套表和内层嵌套表,其中内层嵌套表所包含的元素是外层嵌套表所包含的元素的子集;创建索引,所述索引对应内层嵌套表所包含的元素,所述索引使得所述元素在外层嵌套表和内层嵌套表中直接定位;外层嵌套表执行循环,所述元素在外层嵌套表的循环中被遍历和赋值;内层嵌套表执行循环,所述元素在内层嵌套表执行循环时直接通过所述索引从外层嵌套表中获取赋值,以减少嵌套循环的执行次数。
12.如权利要求6所述的泛化智能场景的生成装置,其特征在于,主控服务器调用的场景生成服务对参数列表的每一行生成一个场景文件,场景文件以XML的格式保存。
13.如权利要求6所述的泛化智能场景的生成装置,其特征在于,客户端、泛化处理服务器、参数数据库、主控服务器和场景库采用分布式部署,通过通信网络互相通信。
14.如权利要求13所述的泛化智能场景的生成装置,其特征在于,所述虚拟仿真服务部署在客户端上,或者部署在网络上;所述场景生成服务部署在主控服务器上,或者部署在网络上。
15.如权利要求14所述的泛化智能场景的生成装置,其特征在于,所述主控服务器架设在云端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211394080.4A CN115658966A (zh) | 2022-11-08 | 2022-11-08 | 泛化智能驾驶场景的生成方法和生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211394080.4A CN115658966A (zh) | 2022-11-08 | 2022-11-08 | 泛化智能驾驶场景的生成方法和生成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658966A true CN115658966A (zh) | 2023-01-31 |
Family
ID=85015361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211394080.4A Pending CN115658966A (zh) | 2022-11-08 | 2022-11-08 | 泛化智能驾驶场景的生成方法和生成装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658966A (zh) |
-
2022
- 2022-11-08 CN CN202211394080.4A patent/CN115658966A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908542B (zh) | 测试用例创建方法、装置、计算机设备及存储介质 | |
CN109460354B (zh) | 一种基于rdf推理进行测试用例约简的方法 | |
CN108540351B (zh) | 分布式大数据服务的自动化测试方法 | |
CN108197187A (zh) | 查询语句的优化方法、装置、存储介质和计算机设备 | |
CN112395108A (zh) | 一种bim元件模型的调用方法及装置 | |
CN106446289B (zh) | 基于Pinpoint的信息查询方法和装置 | |
CN112988123A (zh) | 面向ddd的软件设计方法及系统 | |
CN113792026B (zh) | 数据库脚本的部署方法、装置及计算机可读存储介质 | |
CN111475511A (zh) | 基于树状结构的数据存储方法、访问方法、装置及设备 | |
CN109635022B (zh) | 一种可视化的ElasticSearch数据采集方法及装置 | |
US6304871B1 (en) | Method and system for characterizing applications for use with databases having structured query language interfaces | |
CN117370337A (zh) | 分区创建方法、装置、计算机设备和存储介质 | |
CN101968747B (zh) | 一种机群应用管理系统及其应用管理方法 | |
CN104239212A (zh) | 测试用例的查询方法及装置、测试用例的建立方法及装置 | |
CN115658966A (zh) | 泛化智能驾驶场景的生成方法和生成装置 | |
CN115617487A (zh) | 一种容器重调度方法、装置、设备、存储介质 | |
CN115905353A (zh) | 关联数据导出、导入方法、装置、设备及存储介质 | |
CN106469086B (zh) | 事件处理方法和装置 | |
CN113722141A (zh) | 数据任务的延迟原因确定方法、装置、电子设备及介质 | |
CN112486461A (zh) | 一种基于springboot框架的信息处理系统 | |
CN113806205A (zh) | 软件性能测试方法、装置、电子设备及可读存储介质 | |
CN105930453A (zh) | 重复性分析方法及装置 | |
CN110610371A (zh) | 潜在用户分析方法、系统和计算机可读存储介质 | |
CN110990648A (zh) | 一种病毒查询方法、服务器及计算机可读存储介质 | |
CN109284097A (zh) | 实现复杂数据分析的方法、设备、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |