CN114238097A - 一种基于场景描述语言的自动驾驶系统仿真测试技术 - Google Patents
一种基于场景描述语言的自动驾驶系统仿真测试技术 Download PDFInfo
- Publication number
- CN114238097A CN114238097A CN202111496446.4A CN202111496446A CN114238097A CN 114238097 A CN114238097 A CN 114238097A CN 202111496446 A CN202111496446 A CN 202111496446A CN 114238097 A CN114238097 A CN 114238097A
- Authority
- CN
- China
- Prior art keywords
- automatic driving
- description language
- driving system
- script
- test
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 75
- 238000004088 simulation Methods 0.000 title claims abstract description 42
- 238000005516 engineering process Methods 0.000 title claims abstract description 11
- 238000013515 script Methods 0.000 claims abstract description 103
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 19
- 230000007547 defect Effects 0.000 claims abstract description 9
- 238000009877 rendering Methods 0.000 claims abstract description 4
- 238000010276 construction Methods 0.000 claims description 8
- 230000035772 mutation Effects 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 5
- 239000002131 composite material Substances 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 239000000203 mixture Substances 0.000 claims description 3
- 238000012351 Integrated analysis Methods 0.000 claims description 2
- 230000014509 gene expression Effects 0.000 claims description 2
- 230000010354 integration Effects 0.000 claims 1
- 238000012549 training Methods 0.000 description 5
- 238000000275 quality assurance Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- -1 Headings Substances 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种基于场景描述语言的自动驾驶系统仿真测试技术,属于软件测试与程序分析领域,尤其适用于软件测试中自动驾驶系统的仿真测试。该方法通过对场景描述语言脚本进行基于抽象语法树AST的变异,并且与模拟器进行联合仿真渲染,批量构建用于自动驾驶算法测试的仿真场景图像测试集。本发明的目的在于解决自动驾驶测试集收集费时费力和难以覆盖极端场景的问题,帮助测试人员在有限的时间内构建有效的自动驾驶测试用例集,从而检测自动驾驶系统存在的缺陷,提升自动驾驶系统的安全性。
Description
技术领域
本发明属于软件测试与程序分析领域,尤其适用于软件测试中自动驾驶系统的仿真测试,其目的在于,通过场景描述语言批量仿真渲染出具有高价值的自动驾驶系统测试集,是一种帮助软件测试人员在有限时间内找到自动驾驶系统内部缺陷的方法。
背景技术
在如今人工智能不断发展,自动驾驶技术日渐成熟的过程中,自动驾驶系统的安全性越来越引起国内外重视,无论是2018年Uber无人驾驶车撞击行人致死事故,还是2020年特斯拉自动驾驶车辆撞击白色卡车的事故,都在说明自动驾驶系统作为安全攸关软件的质量保障重要性。但是,针对自动驾驶系统的质量保障手段却比较匮乏,通常通过人工手段,如路测、人工收集数据并手动标注数据集等等,不仅费时费力,而且由于难以构建复杂场景及极端场景,其训练出的自动驾驶系统往往存在难以发现的缺陷,造成后果时已经为时已晚。这表明,在自动驾驶系统训练阶段,维护一个高质量的测试用例集是一项具有挑战性的工作。
自动驾驶系统分为感知层,决策层与执行层。其核心部分为决策层,即通过由各种传感器采集到的实时环境信息数据,经过神经网络的计算,最终向执行层下达有关车辆转向角、油门及刹车的命令。因此,自动驾驶系统需要对于决策层的算法进行不断的优化与训练,从而达到面对各种情况下达正确决策的效果。其中针对自动驾驶系统的测试技术往往也是针对于决策层进行训练。传统的自动驾驶系统训练集往往通过收集安全员驾驶汽车,通过记录正确行驶车辆的实时图像,以及对应的转向角及油门/刹车数据,同时人工标注周围车辆及行人,从而构建训练集数据。但是,这种方法不仅需要消耗成本与时间,获取训练数据的速度与训练集的规模也会收到制约。此外,这种方法很难复现真实道路中比较少见的复杂极端路况,这也是自动驾驶车辆出现严重驾驶错误的根本诱因与风险因素。2020年特斯拉自动驾驶车辆撞击白色卡车事故中,通过调取事故发生时的数据发现,白色卡车被算法错误识别为了蓝天背景下的白云,导致车辆完全没有减速,最终酿成大祸。因此,自动驾驶系统作为安全攸关系统,其质量保障的重要性不言而喻,现阶段开发人员通过手动收集及人工标注的方法,已经不足以满足其安全保障的需要。
目前,针对系统驾驶系统的仿真测试,学术界和工业界也有了一定的研究与应用,有一定的仿真模拟器与场景构造方法被提出,用以合成足以媲美显示道路场景的拟真图像,从而代替人工进行自动驾驶算法的训练,然而,这些方法仅仅通过仿真场景取代了人工路测,并没有针对真实场景中难以出现的极端情况进行分析与场景构造,因此并不能真正意义上对自动驾驶系统进行全面的测试,其测试覆盖率也并没有真正提高。虽然可以一定程度上减少测试成本,但是并没有解决其安全攸关的质量保障问题。
对此,本发明提出一种基于场景描述语言的自动驾驶测试仿真技术。本发明的基本思想为,通过标准化语言联合仿真模拟器构造仿真场景。即通过遵循语法,基于变量编写场景描述语言脚本,通过执行脚本即可与模拟器联合仿真生成仿真测试图像。同时,将编写好的脚本作为种子文件,按照场景描述语言语法,构造抽象语法树,通过基于抽象语法树AST的变异方式批量生成不同的场景描述语言变异脚本,并且通过执行脚本联合模拟器生成大量仿真测试变异图像测试集。基于周边环境不发生巨大变化时,自动驾驶算法的决策不应有巨大误差这一事实基础,如前车、行人、周围建筑的颜色发生变化,自动驾驶系统决策不应发生较大改变,将测试集图像输入待测试自动驾驶系统进行测试,如果在相似测试集部分自动驾驶系统决策层输出出现了较大误差,则判定此类场景描述语言变异有效,将其加入优先级序列中优先继续变异,以筛选有价值的变异样本。通过数轮测试,可以得到按价值排名的变异样本优先级队列,通过对队列中仿真测试图像以及场景描述语言通过抽象语法树进行分析,与词频统计,即可发现自动驾驶系统中的漏洞。
通过该方法,可以自动生成测试用例,并且对自动驾驶系统进行充分测试,将结果以优先级队列的形势给出。节省了测试成本,提升了自动驾驶系统测试效率和精度。
发明内容
本发明通过提供一种基于场景描述语言的自动驾驶系统仿真测试技术,通过编写场景描述语言脚本并进行变异的方式自动生成大量具有测试意义的仿真图像,从而检测自动驾驶系统神经网络算法中的漏洞,拓展了自动驾驶系统的测试集,减少了资源和时间成本,填补了自动驾驶系统仿真测试技术的空缺,使得自动驾驶系统这一安全攸关系统得到质量保障。
为达成上述目标,本发明提出一种基于概率的场景描述语言。该语言规定一系列基于场景的语法Grammar、标量{Scalars,Vectors, Headings, Vector Fields, Regions}、对象{car_model, pedestrian…}、分布{Normal, Uniform, Discrete}、声明{import, param, require, mutate}及说明符{at, offset, by, ahead/behind, beyond, visible…},用于系统构建具体场景。同时,编写库文件及底层接口API,嵌入模拟器底层文件,实现场景描述语言与模拟器的联合场景仿真,实现仿真合成图像的批量生成。然后,通过基于场景描述语言的抽象语法树AST算法,对场景描述语言种子脚本文件进行解构,通过对目标变量的变异,生成大量具有测试意义的场景描述语言变异脚本文件,与模拟器进行联合仿真,生成变异图像测试集,输入自动驾驶系统进行测试。测试过程中,如果发现有价值的测试用例,将会存入优先级脚本队列中,下一轮将对队列中脚本继续变异并测试。通过数轮迭代,即可将对自动驾驶算法影响最大的场景描述语言脚本按价值降序存入优先级队列中。再次通过AST抽象语法树进行结构解析,并对其共性进行分析,即可发现自动驾驶系统中包含的漏洞。具体而言,该方法包含下列步骤:
1)场景描述语言种子脚本文件构建。种子文件Seed 0 需要具有丰富的可变异内容以供后续数轮循环进行变异。初始场景需要包括且不限于以下元素:地图、行人、车辆、建筑、天气、时间。按照规定语法及约束限制编写可变异内容丰富且符合日常驾驶环境逻辑与规范的场景描述语言脚本文件。本步骤的目的是为接下来的数轮基于AST抽象语法树的变异提供最初的原始文件。
2)基于抽象语法树AST的场景描述语言脚本变异。给定场景描述语言脚本文件,采用基于抽象语法树AST的方式,以规定语法G对场景描述语言脚本Seed 0 进行扫描并构建树形结构,并且解析脚本文件,通过逐字扫描,遇到空格,操作符以及特殊符号时,将脚本文件中的语句解析为表示tokens键值对{value,type}并且以固定的格式存储。在扫描整个文件后,会将所有的tokens按其type的类型构造抽象语法树,其中可变异的变量置于叶节点,按层次将其type值作为其父节点,为之后的脚本变异做准备。在抽象语法树AST构造完成后,将树的叶节点按照固定变异规则进行变量替换,从而批量生成变异脚本文件Seed t ‘ 。
3)基于变异场景描述语言脚本的自动驾驶系统测试。将步骤2)得到的脚本文件Seed t ‘ 与模拟器进行联合仿真渲染,生成的图像作为自动驾驶系统的测试集输入,并将自动驾驶系统决策层的转向角,油门/刹车同Seed 0 进行对比,如果其输出与定义的阈值threshold相比发生较大突变,则标记此脚本文件Seed t ‘ 为有价值变异样本,将其输入至优先级队列Q中,下一轮变异测试即从优先级队列中不断循环,依次进行变异,输入与比对。最终,将会把脚本文件Seed t ‘ 按照其测试价值在优先级队列Q中排序呈现。
4)基于队列中场景描述语言脚本AST的自动驾驶系统缺陷分析。将优先级队列Q中的Seed t ‘ 依次输出,可以得到对自动驾驶系统影响最大的场景合成图像,同时对其抽象语法树AST中的节点进行分析,通过对树的层次遍历过程,可以获取到场景描述语言脚本的type类型。通过对type类型的整合分析以及排序,可以发现对自动驾驶系统影响最大的场景因素构成,从而发现自动驾驶系统存在的问题,完成了对自动驾驶系统的测试,其数据可以作为样本用于下一轮测试。
进一步,其中上述步骤1)的具体步骤如下:
步骤1)-1:起始状态;
步骤1)-2:调取场景描述语言所需的底层库文件;
步骤1)-3:添加场景的天气、环境、时间配置;
步骤1)-4:添加场景的各类对象;
步骤1)-5:为场景对象添加软硬约束;
步骤1)-6:通过编译执行确保场景描述语言脚本无语法错误;
步骤1)-7:得到场景描述语言种子脚本文件Seed 0 ;
步骤1)-8:结束状态。
进一步,其中上述步骤2)的具体步骤如下:
步骤2)-1:将种子文件Seed 0 ,场景描述语言语法G,作为抽象语法树AST的算法输入;
步骤2)-2:按照语法G,对Seed 0 进行扫描;
步骤2)-3:将扫描结果按空格、括号、分隔符将脚本分割成tokens键值对{value, type};
步骤2)-4:通过tokens结构构建抽象语法树AST 0 ;
步骤2)-5:通过对AST 0 树的先根遍历,找到叶节点的待变异量;
步骤2)-6:在语法规则与软硬约束下对叶节点的值value t 进行变异;
步骤2)-7:得到一批脚本变异文件Seed t ‘ ;
步骤2)-8:结束状态。
进一步,其中上述步骤3)的具体步骤如下:
步骤3)-1:执行脚本文件Seed 0 与模拟器的联合仿真,生成对应的模拟图像img 0 ;
步骤3)-2:执行脚本文件Seed t ‘ 与模拟器的联合仿真,生成对应的模拟图像img t ’ ;
步骤3)-3:将img 0 输入自动驾驶系统,得到输出out 0 ;
步骤3)-4:将img t ’ 输入自动驾驶系统,得到输出out t ’ ;
步骤3)-5:将img 0 与img t ’ 进行对比,如果out 0 与out t ’ 差别大于阈值threshold,则将此模拟图像对应的脚本文件输入优先级队列Q中;
步骤3)-6:重复此过程,则最终得到按变异价值排序的优先级队列Q;
步骤3)-7:结束状态。
进一步,其中上述步骤4)的具体步骤如下:
步骤4)-1:优先级队列头节点对应的脚本文件Seed ts ’ 出队;
步骤4)-2:层次遍历文件Seed ts ’ 对应抽象语法树AST s ’ ,保存路径中节点的type并记录出现次数;
步骤4)-3:重复此过程,统计出现频率最高的type类型,即影响自动驾驶系统最大的场景变量;
步骤4)-4:结束状态。
附图说明
图1为本发明实施中的一种基于场景描述语言的自动驾驶系统仿真测试技术的流程图。
图2为图一中场景描述语言种子脚本文件构建的流程图。
图3为图一中基于抽象语法树AST的场景描述语言脚本变异的流程图。
图4为图一中基于变异场景描述语言脚本的自动驾驶系统测试流程图。
图5为图一中基于队列中场景描述语言脚本AST的自动驾驶系统缺陷分析的流程图。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
图1为本发明实施的一种基于场景描述语言的自动驾驶系统仿真测试技术的流程图。
一种基于场景描述语言的自动驾驶系统仿真测试技术,其特征在于,包括下列步骤。
Step1场景描述语言种子脚本文件构建,通过测试人员按照规定语法及约束,编写包含地图、行人、车辆、建筑、天气、时间,可变异内容丰富且符合日常驾驶环境逻辑与规范的场景描述语言脚本文件,为之后的脚本文件变异测试提供基础。
Step2基于抽象语法树AST的场景描述语言脚本变异,将场景描述语言语法及场景描述语言种子脚本文件作为AST抽象语法树算法的输入,经过扫描,分割步骤,生成脚本对应的AST抽象语法树。
Step3基于变异场景描述语言脚本的自动驾驶系统测试,将变异后的场景描述语言脚本与模拟器进行联合仿真,批量生成变异场景图像。将原始场景图像、变异后的场景图象作为自动驾驶系统的输入,分别收集自动驾驶系统决策层的输入,并进行对比,若差距大于阈值,则将变异后的场景图像对应的变异场景语言脚本输入优先级队列中。
Step4基于队列中场景描述语言脚本AST的自动驾驶系统缺陷分析,通过Step3得到由变异场景描述语言按价值排序的优先级序列Q,将Q中的变异场景描述语言脚本按队列输出,同时构建变异场景描述语言脚本AST,通过对AST抽象语法树的层理便利,统计节点的类型信息,从而得出对自动驾驶系统影响最大的变量类型。
图2为本发明实施的一种场景描述语言种子脚本文件构建的流程图。按照规定语法及约束限制编写可变异内容丰富且符合日常驾驶环境逻辑与规范的场景描述语言脚本文件,从而方便之后对脚本文件的变异过程。具体步骤如下:
步骤1:起始状态;步骤2:调取场景描述语言所需的底层库文件;步骤3:添加场景的天气、环境、时间配置;步骤4:添加场景的各类对象;步骤5:为场景对象添加软硬约束;步骤6:通过编译执行确保场景描述语言脚本无语法错误;步骤7:得到场景描述语言种子脚本文件Seed 0 ;步骤8:结束状态。
图3为本发明实施的一种基于抽象语法树AST的场景描述语言脚本变异构建的流程图。具体步骤如下:
将已生成的种子文件,以及场景描述语言算法作为抽象语法树AST算法的输入,通过对种子文件进行扫描,分割,最后构建AST语法树,为之后的基于AST树的变异算法做准备。具体步骤如下:步骤1:将种子文件Seed 0 ,场景描述语言语法G,作为抽象语法树AST的算法输入;步骤2:按照语法G,对Seed 0 进行扫描;步骤3:将扫描结果按空格、括号、分隔符将脚本分割成tokens键值对{value,type};步骤4:通过tokens结构构建抽象语法树AST 0 ;步骤5:通过对AST 0 树的先根遍历,找到叶节点的待变异量;步骤6:在语法规则与软硬约束下对叶节点的值value t 进行变异;步骤7:得到一批脚本变异文件Seed t ‘ ;步骤8:结束状态。
图4为本发明基于已变异场景描述语言脚本的自动驾驶系统测试的流程图。具体步骤如下:
步骤1:执行脚本文件Seed 0 与模拟器的联合仿真,生成对应的模拟图像img 0 ;步骤2:执行脚本文件Seed t ‘ 与模拟器的联合仿真,生成对应的模拟图像img t ’ ;步骤3:将img 0 输入自动驾驶系统,得到输出out 0 ;步骤4:将img t ’ 输入自动驾驶系统,得到输出out t ’ ;步骤5:将img 0 与img t ’ 进行对比,如果out 0 与out t ’ 差别大于阈值threshold,则将此模拟图像对应的脚本文件输入优先级队列Q中;步骤6:重复此过程,则最终得到按变异价值排序的优先级队列Q;步骤7:结束状态。
图5为基于队列中场景描述语言脚本AST的自动驾驶系统缺陷分析的流程图。具体步骤如下:
步骤1:优先级队列头节点对应的脚本文件Seed ts ’ 出队;步骤2:层次遍历文件Seed ts ’ 对应抽象语法树AST s ’ ,保存路径中节点的type并记录出现次数;步骤3:重复此过程,统计出现频率最高的type类型,即影响自动驾驶系统最大的场景变量;步骤4:结束状态。
综上所述,本发明用于填补针对自动驾驶系统仿真测试的空白,解决目前自动驾驶测试集收集费时费力和难以覆盖极端场景的问题,帮助测试人员在有限的时间内构建有效的自动驾驶测试用例集,对自动驾驶系统进行测试与分析,从而检测自动驾驶系统存在的缺陷,提升自动驾驶系统的安全性。
Claims (5)
1.一种基于场景描述语言的自动驾驶系统仿真测试技术,其特征在于,基于场景描述语言脚本变异与自动驾驶仿真模拟器进行联合仿真测试,构建用于自动驾驶算法测试的仿真环境图像;首先构建符合场景描述语言语法及约束,可变异性强的种子脚本文件在此基础上,通过应用基于抽象语法树AST的场景描述语言脚本变异算法,对场景描述语言种子脚本文件进行变异,并通过优先级队列,基于相似场景中自动驾驶算法的输出不应发生较大变动这一事实基础,将仿真图像输入自动驾驶系统进行测试,基于变异后脚本与种子脚本文件的输出差异,对有价值的变异脚本进行筛选,最终得出一系列对自动驾驶系统产生影响的场景描述语言脚本及具体场景图像,通过分析其AST语法结构共性,从而对自动驾驶系统的缺陷进行分析;目的在于解决自动驾驶测试集收集费时费力和难以覆盖极端场景的问题,通过低成本,高价值的测试用例,帮助测试人员在有限的时间内构建有效的自动驾驶测试用例集,对自动驾驶系统进行测试与分析,从而检测自动驾驶系统存在的缺陷,提升自动驾驶系统的安全性;该方法包含下列步骤:
1)场景描述语言种子脚本文件构建,种子文件Seed 0 需要具有丰富的可变异内容以供后续数轮循环进行变异;初始场景需要包括且不限于以下元素:地图、行人、车辆、建筑、天气、时间;按照规定语法及约束限制编写可变异内容丰富且符合日常驾驶环境逻辑与规范的场景描述语言脚本文件;本步骤的目的是为接下来的数轮基于AST抽象语法树的变异提供最初的原始文件;
2)基于抽象语法树AST的场景描述语言脚本变异,给定场景描述语言脚本文件,采用基于抽象语法树AST的方式,以规定语法G对场景描述语言脚本Seed 0 进行扫描并构建树形结构,并且解析脚本文件,通过逐字扫描,遇到空格,操作符以及特殊符号时,将脚本文件中的语句解析为表示tokens键值对{value, type}并且以固定的格式存储;在扫描整个文件后,会将所有的tokens按其type的类型构造抽象语法树,其中可变异的变量置于叶节点,按层次将其type值作为其父节点,为之后的脚本变异做准备;在抽象语法树AST构造完成后,将树的叶节点按照固定变异规则进行变量替换,从而批量生成变异脚本文件Seed t ‘ ;
3)基于已变异场景描述语言脚本的自动驾驶系统测试,将步骤2)得到的脚本文件Seed t ‘ 与模拟器进行联合仿真渲染,生成的图像作为自动驾驶系统的测试集输入,并将自动驾驶系统决策层的转向角,油门/刹车同Seed 0 进行对比,如果其输出与阈值threshold相比发生较大突变,则标记此脚本文件Seed t ‘ 为有价值变异样本,将其输入至优先级队列Q中,下一轮变异测试即从优先级队列中不断循环,依次进行变异,输入与比对;最终,将会把脚本文件Seed t ‘ 按照其测试价值在优先级队列中排序呈现;
4)基于队列中场景描述语言脚本AST的自动驾驶系统缺陷分析,将步骤3)得到的优先级队列Q中的Seed t ‘ 依次输出,可以得到对自动驾驶系统影响最大的场景合成图像,同时对其抽象语法树AST中的节点进行分析,通过对树的层次遍历过程,可以获取到场景描述语言脚本的type类型;通过对type类型的整合分析以及排序,可以发现对自动驾驶系统影响最大的场景因素构成,从而发现自动驾驶系统存在的问题,完成了对自动驾驶系统的测试,其数据可以作为样本用于下一轮测试。
2.根据权利要求1所述的一种基于场景描述语言的自动驾驶系统仿真测试技术,其特征在于,在步骤1)中,场景描述语言种子脚本文件构建;首先,按照规定语法及约束限制编写可变异内容丰富且符合日常驾驶环境逻辑与规范的场景描述语言脚本文件,包括且不限于以下元素:地图、行人、车辆、建筑、天气、时间;为接下来的基于抽象语法树AST的变异算法做准备。
3.根据权利要求1所述的一种基于场景描述语言的自动驾驶系统仿真测试技术,其特征在于,在步骤2)中,基于抽象语法树AST的场景描述语言脚本变异;给定步骤1)中编写的场景描述语言种子脚本文件;将脚本文件及场景描述语言语法作为算法输入,对脚本进行扫描,分割,并以键值对为节点,构建抽象语法树AST;通过对树的遍历,将叶节点的变量按照固定变异规则进行替换,从而批量生成变异脚本文件。
4.根据权利要求1所述的一种基于场景描述语言的自动驾驶系统仿真测试技术,其特征在于,在步骤3)中,基于已变异场景描述语言脚本的自动驾驶系统测试;将步骤2)中到的脚本文件与模拟器进行联合仿真渲染,生成的图像作为自动驾驶系统的测试集输入,并将自动驾驶系统决策层的转向角,油门/刹车同未变异图像得到的结果进行对比,如果其输出发生较大突变,则标记此变异脚本文件为有价值变异样本,将其输入至优先级队列中,下一轮变异测试即从优先级队列中不断循环,依次进行变异,输入与比对;最终,得到包含有价值变异样本的优先级队列。
5.根据权利要求1所述的一种基于场景描述语言的自动驾驶系统仿真测试技术,其特征在于,在步骤4)中,基于队列中场景描述语言脚本AST的自动驾驶系统缺陷分析;将优先级队列中的变异脚本文件依次输出,可以得到对自动驾驶系统影响最大的场景合成图像,同时对其抽象语法树AST中的节点进行分析,通过对树的层次遍历过程,可以获取到场景描述语言脚本的type类型;通过对其进行整合分析以及排序,可以发现对自动驾驶系统影响最大的场景因素构成,从而发现自动驾驶系统存在的问题,完成了对自动驾驶系统的测试,其数据可以作为样本用于下一轮测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111496446.4A CN114238097B (zh) | 2021-12-09 | 2021-12-09 | 一种基于场景描述语言的自动驾驶系统仿真测试技术 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111496446.4A CN114238097B (zh) | 2021-12-09 | 2021-12-09 | 一种基于场景描述语言的自动驾驶系统仿真测试技术 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114238097A true CN114238097A (zh) | 2022-03-25 |
CN114238097B CN114238097B (zh) | 2024-09-20 |
Family
ID=80754095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111496446.4A Active CN114238097B (zh) | 2021-12-09 | 2021-12-09 | 一种基于场景描述语言的自动驾驶系统仿真测试技术 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238097B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117724804A (zh) * | 2023-12-19 | 2024-03-19 | 万物镜像(北京)计算机系统有限公司 | 一种虚拟机指令集的生成方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050160322A1 (en) * | 2004-01-13 | 2005-07-21 | West John R. | Method and system for conversion of automation test scripts into abstract test case representation with persistence |
CN111859674A (zh) * | 2020-07-23 | 2020-10-30 | 深圳慕智科技有限公司 | 一种基于语义的自动驾驶测试图像场景构建方法 |
CN112349294A (zh) * | 2020-10-22 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 语音处理方法及装置、计算机可读介质、电子设备 |
KR20210063701A (ko) * | 2019-11-25 | 2021-06-02 | (주)이노시뮬레이션 | 실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법 |
-
2021
- 2021-12-09 CN CN202111496446.4A patent/CN114238097B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050160322A1 (en) * | 2004-01-13 | 2005-07-21 | West John R. | Method and system for conversion of automation test scripts into abstract test case representation with persistence |
KR20210063701A (ko) * | 2019-11-25 | 2021-06-02 | (주)이노시뮬레이션 | 실시간 분산 자율주행 시뮬레이션 프레임워크를 구성 및 제어하는 방법 |
CN111859674A (zh) * | 2020-07-23 | 2020-10-30 | 深圳慕智科技有限公司 | 一种基于语义的自动驾驶测试图像场景构建方法 |
CN112349294A (zh) * | 2020-10-22 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 语音处理方法及装置、计算机可读介质、电子设备 |
Non-Patent Citations (1)
Title |
---|
张珊;王蕾;郭魁元;张嘉芮;刘少华;: "基于交通事故的自动驾驶虚拟测试方法研究", 中国汽车, no. 05, 15 May 2020 (2020-05-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117724804A (zh) * | 2023-12-19 | 2024-03-19 | 万物镜像(北京)计算机系统有限公司 | 一种虚拟机指令集的生成方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114238097B (zh) | 2024-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111814308B (zh) | 一种面向自动驾驶系统的加速测试系统 | |
CN109635511B (zh) | 一种基于条件生成对抗网络的高层居住区强排方案生成设计方法 | |
CN111402211A (zh) | 一种基于深度学习的高速列车车底异物识别方法 | |
CN111694741A (zh) | 一种基于路径深度覆盖的测试用例设计方法 | |
CN111797000A (zh) | 一种基于梯度提升决策树模型的场景复杂度评估方法 | |
CN111832615A (zh) | 一种基于前景背景特征融合的样本扩充方法及系统 | |
CN109886147A (zh) | 一种基于单网络多任务学习的车辆多属性检测方法 | |
Ramakrishna et al. | Anti-carla: An adversarial testing framework for autonomous vehicles in carla | |
CN114238097A (zh) | 一种基于场景描述语言的自动驾驶系统仿真测试技术 | |
CN111858347A (zh) | 一种基于智能交通模型正确性的蜕变测试方法 | |
CN115017050A (zh) | 自动驾驶的测试场景生成系统及方法 | |
CN114037653A (zh) | 基于二阶段知识蒸馏的工业机器视觉缺陷检测方法和系统 | |
CN115310282A (zh) | 一种基于数字孪生的自动驾驶仿真测试场景构建方法 | |
CN116011110A (zh) | 一种自动驾驶汽车安全性等级评估方法及系统 | |
CN112418574A (zh) | 基于人工智能的城市轨道交通运营仿真系统及方法 | |
CN117667699A (zh) | 一种基于知识图谱的智能网联汽车测试场景生成方法 | |
CN114912719B (zh) | 一种基于图神经网络的异质交通个体轨迹协同预测方法 | |
Miska et al. | Opentraffic-an open source platform for traffic simulation | |
CN114398251A (zh) | 基于场景数据库的自动驾驶仿真测试方法和系统 | |
Yu et al. | Grammar-based automatic 3D model reconstruction from terrestrial laser scanning data | |
CN117436179B (zh) | 一种基于轻量化引擎技术的高桩码头教学方法及系统 | |
Garibyan | Development of a Network Computer Laboratory for Training in Road Traffic Simulation and Model Verification | |
CN111459788A (zh) | 一种基于支持向量机的测试程序抄袭检测方法 | |
Durukal et al. | A Digital Twin Study: Particle Swarm Optimization of ACC Controller for Follow Acceleration Maneuver | |
Li et al. | Testing Autonomous Driving System based on Scenic |
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 | ||
GR01 | Patent grant |