CN113297530A - 一种基于场景搜索的自动驾驶黑盒测试系统 - Google Patents
一种基于场景搜索的自动驾驶黑盒测试系统 Download PDFInfo
- Publication number
- CN113297530A CN113297530A CN202110405149.8A CN202110405149A CN113297530A CN 113297530 A CN113297530 A CN 113297530A CN 202110405149 A CN202110405149 A CN 202110405149A CN 113297530 A CN113297530 A CN 113297530A
- Authority
- CN
- China
- Prior art keywords
- world
- automatic driving
- scene
- fault
- weather
- 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 63
- 238000000034 method Methods 0.000 claims abstract description 32
- 230000008569 process Effects 0.000 claims abstract description 24
- 230000006870 function Effects 0.000 claims description 17
- 230000003068 static effect Effects 0.000 claims description 17
- 230000009471 action Effects 0.000 claims description 9
- 238000005315 distribution function Methods 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 6
- 239000013598 vector Substances 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 238000010845 search algorithm Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000004088 simulation Methods 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 2
- 230000007613 environmental effect Effects 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 claims description 2
- 238000013135 deep learning Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 6
- 238000009877 rendering Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 241000272183 Geococcyx californianus Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M17/00—Testing of vehicles
- G01M17/007—Wheeled or endless-tracked vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0208—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
- G05B23/0213—Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于场景搜索的自动驾驶黑盒测试系统,包括配置文件,世界初始化器,世界生成器,反馈搜索器,以及结果分析器;用于测试待测试目标系统;所述初始化器读取预先写好的关于场景和对象的配置文件,随后每次故障场景搜索过程调用世界初始化器采样出一个初始场景,在转换为参数化表示后使用世界生成器在Unreal Engine中进行创建生成场景;所述反馈搜索器通过调整场景中的物体,寻找造成故障的场景;所述结果分析器对搜索到的故障场景进行逐个的对象移除判断造成故障的对象。本发明能够对自动驾驶系统的安全性进行标定,同时能够分析出自动驾驶系统的脆弱性。具备可扩展性和可理解性,且适用于具有高度非线性特征的深度学习系统。
Description
技术领域
本发明涉及一种基于场景搜索的自动驾驶黑盒测试系统,属于自动驾驶的测试技术领域。
背景技术
近几年,应用于计算机视觉领域的深度学习技术得到了突破性的发展,随即被广泛应用于了自动驾驶领域。这些应用使得自动驾驶系统能够更加适应复杂的环境条件,更加适应复杂的任务需求。然而由于深度学习技术自身的不可解释性,引入深度学习技术为自动驾驶系统带来了安全风险问题。故而对自动驾驶系统的测试愈发重要。
当前已有一些针对自动驾驶的测试方法被提出。根据测试方法是否需要了解系统内部组件,可分为黑盒测试和白盒测试。已有的黑盒测试主要从搜索的角度出发,将状态空间进行划分,确定哪些状态会造成系统出错,这些方法往往需要对系统特性做比较强的假设,例如 Abdessalem对基于视觉的自动驾驶辅助系统进行测试时,潜在假设了自动紧急刹车系统的状态空间具有线性可分性所以使用决策树对状态空间进行划分,这对具有高度非线性特征的深度自动驾驶系统,显然是不适用的。已有的白盒测试主要借助DeepXplore引入的神经元覆盖的概念,从数据集生成的角度对自动驾驶系统进行测试,然而,神经元覆盖是类比测试普通程序的分支覆盖测试得到的,它忽略了神经网络在预测过程中神经元连接完全不同于普通程序分支执行的差异性,故而这样的类比是否合理、是否有效始终遭到人们质疑。除此上述测试方法外,还有一些基于测试数据集生成的技术也常常被使用在自动驾驶测试中,Scenic设计了一种场景描述语言,可以根据预定义规则生成一系列场景进行测试,这种描述语言具有很高的自由度,但对场景中非实体的对象的刻画比较困难,并且难以应用在场景变换的情况下;DeepRoad基于GAN网络(Generative Adversarial Networks,即生成式对抗网络)将正常场景变换到雨雪天气,实现了很高的场景真实性,但受限于GAN网络的训练方法和应用方式,目标变换场景的丰富度与效率存在一定的问题。
发明内容
发明目的:针对现有技术中存在的问题与不足,本发明提供一种基于场景搜索的自动驾驶黑盒测试系统,基于蜕变测试从一个场景出发搜索到相近的造成故障的另一个场景。
技术方案:一种基于场景搜索的自动驾驶黑盒测试系统,包括配置文件,世界初始化器,世界生成器,反馈搜索器,结果分析器,以及测试目标系统和封装的实时渲染引擎API。初始化器读取预先写好的关于场景和对象的配置文件,随后每次搜索过程调用初始化器采样出一个初始场景,在转换为参数化表示后使用生成器在Unreal Engine中进行创建生成场景。搜索器通过调整场景中的物体,寻找造成故障的相近的场景。分析器对搜索到的故障场景进行逐个的对象移除判断造成故障的对象。
本发明所述世界是Unreal Engine标准术语,指代Unreal Engine中一组载入的关卡。
所述场景由Unreal Engine创建,所述封装的实时渲染引擎API通过封装CarlaAPI得到,所述测试目标系统为自动驾驶系统。
所述单次故障场景搜索过程按照以下步骤完成:
步骤201,世界初始化器读取关于场景和对象的配置文件。
步骤202,世界初始化器根据对象分布采样出一个世界。并将世界按照本发明所述参数化表示方法进行描述。
步骤203,世界生成器根据描述世界的参数进行世界的初次创建,创建过程通过调用Carla API在Unreal Engine中完成。
步骤204,世界生成器在世界中放置一个自动驾驶车辆和一个相机传感器。
步骤205,测试系统通过封装的实时渲染引擎API,读取世界中的相机传感器的数据,预测当前世界下,自动驾驶车辆所应执行的动作。动作包括转向角steer∈[-1,1]和油门 throttle∈[-1,1]。
步骤207,反馈搜索器根据所述搜索算法调整世界参数
步骤208,世界生成器重新创建世界和并放置一个自动驾驶车辆以及一个相机传感器;
步骤209,测试系统根据新的世界重新执行步骤205-206得到预测结果后,根据相对初始记录的正确输出的偏差,使用本发明所述布尔函数,判断当前自动驾驶系统输出是否发生故障,如果发生故障,则进入步骤210,否则从步骤207重新执行。判断故障的布尔函数为:
∈1和∈2为误差松弛限。布尔函数为真表示发生故障。
步骤210,输出故障场景和世界初始化器初次采样得到的场景,步骤结束。
本发明所述的结果分析器按照以下步骤完成:
步骤701,给结果分析器输入造成故障的世界。
步骤702,循环移除世界中的天气,每次移除一个天气后记录自动驾驶系统的输出。
步骤703,使用控制自动驾驶车辆正前方十米处物体空间位置不变保持驾驶语义不变性的策略,循环移除实体对象,每次移除一个实体对象后记录自动驾驶系统的输出。
步骤704,对步骤702-703移除对象记录的自动驾驶系统的输出,计算相对初始时记录的正确输出的距离,然后移除掉移除后距离最近的对象:
步骤705,判断移除后自动驾驶输出是否与初始时记录的正确输入相近,即使用本发明所述判断故障的布尔函数验证为假;若相近,过程结束,否则重新执行步骤702。
附图说明
图1为本发明所述测试系统整体架构图;
图2为本发明所述一次反馈搜索过程整体流程图;
图3为本发明环境配置描述中的区域划分;
图4为本发明所述初始化过程;
图5为本发明所述驾驶语义的保持方法;
图6为本发明所述搜索算法;
图7为本发明所述结果分析器使用的步骤;
图8为本发明所述道路系统设计;
图9为本发明所述误差松弛选择对故障发现率的影响;
图10为本发明所述天气造成CILRS系统故障的比例;
图11为本发明所述造成CILRS系统故障的实体对象位置分布情况。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明提供一种基于场景搜索的自动驾驶黑盒测试系统,使用UnrealEngine4.24和Carla 0.9.11开发,道路系统使用RoadRunner 2020b创建。能够对自动驾驶系统的安全性进行评估,同时能够找出自动驾驶系统的脆弱性。给出了对CIL自动驾驶系统和CILRS自动驾驶系统测试的具体实现。
图1是系统的架构图概览。本发明的测试系统核心由四个模块组成:世界初始化器、世界生成器、反馈搜索器、结果分析器。除此之外,实时渲染引擎是指Unreal Engine和Carla 的组合,测试模型是对待测试的自动驾驶系统的封装。环境配置和对象分布及其他属性是世界初始化器首次运行时所需要的场景描述文件,描述文件的定义将在随后给出。世界初始化器通过步骤101读取预先设置好的描述文件对可创建的实时渲染引擎中的实体对象的分布函数进行合成,随后每次调用世界初始化器将从分布中采样出一个世界的初始参数。世界初始化器通过步骤102将采样到的世界参数交给世界生成器。世界生成器的作用是通过给定的参数在Unreal Engine中生成场景。测试模型通过Carla提供的API与UnrealEngine场景中放置的自动驾驶车辆和相机传感器进行交互。步骤104是测试对象读取相机传感器数据,步骤105 是测试对象根据输入的图像经过内部的深度学习网络预测出当前自动驾驶车辆应执行的动作,并通过Carla API控制自动驾驶车辆的运行。反馈搜索器通过步骤106读取当前测试模型的输出,根据输出调整场景里的物体,寻找致使测试系统出现故障的场景。对于搜索到故障的场景的情况,结果分析器通过逐个移除天气和实体对象,判断系统故障的原因。
图2是本发明所述一次故障搜索过程所执行的步骤
步骤201,已读取环境配置和对象属性及其分布文件的世界初始化器。
步骤202,世界初始化器根据对象分布采样出一个世界。并将世界按照本发明所述参数化描述方法进行描述。
步骤203,世界生成器根据描述世界的参数进行世界的初次创建,创建过程通过调用Carla API在Unreal Engine中完成。
步骤204,世界生成器在世界中放置一个自动驾驶车辆和一个相机传感器。
步骤205,测试系统读取世界中的相机传感器的数据,预测当前世界下,自动驾驶车辆所应执行的动作。动作包括转向角steer∈[-1,1]和油门throttle∈[-1,1]。
步骤207,反馈搜索器调整世界参数
步骤208,世界生成器重新创建世界和自动驾驶车辆以及相机传感器
步骤209,测试系统根据新的世界重新预测后,判断当前自动驾驶系统输出是否发生故障,如果发生故障,则进入不走210,否则从步骤207重新执行。
步骤210,输出故障场景和初始场景,步骤结束。
图3为本发明所述配置文件-环境配置文件定义的区域的划分。a区域是道路两侧的环境, b区域为人行道,c区域为道路右车道,d区域为道路左车道,f区域为道路十字路口中心,g 区域为人行道。每个区域在配置文件中使用如下格式保存:
class Region:
+id:Integer
+range:Tuple[Point,Point]
+type:String
id是区域的标志序号,range是区域在Unreal Engine坐标系下的范围,使用区域的左下角坐标和右上角坐标描述,type是区域如本发明所述区域的划分。
本发明所述配置文件-对象属性及其分布包含四种类型,分别是:天气,车辆,行人,在Unreal Engine中不进行物理碰撞模拟的静态物体。分别采用以下格式描述:
class Weather:
+name:String
+range:Tuple[Float,Float]
+pdf:Function
class Vehicle:
+name:String
+size:Tuple[Float,Float,Float]
+center:Tuple[Float,Float,Float]
+face_to:Tuple[Float,Float,Float]
+attrs:List[...]
+pdf:Dictionary[String,Fuction]
class Static:
+name:String
+size:Tuple[Float,Float,Float]
+center:Tuple[Float,Float,Float]
+face_to:Tuple[Float,Float,Float]
+attrs:List[...]
+pdf:Function
+layer:List[Integer,...]
Weather表示天气,name是该天气的名字,range是天气的合理范围,pdf是天气的概率密度分布函数。
Vehicle表示车辆,name是该车辆类型的名字,size是该车辆的方形包围盒的长宽高,center 是该车辆重心相对其在UnrealEngine定义的锚点的相对位置,face_to是默认情况下车头指向, attrs是该车辆所拥有的内部属性,pdf是该车辆的概率密度函数。
Walker表示行人,其拥有的属性与Vehicle相同。
Static表示不进行物理模拟的可创建静态物体,layer表示其占据的图层,其余属性命名同Vehicle。
为了描述天气之间的关联性,本发明还定义了描述Weathers和描述Actors,用来描述多天气或者多实体对象之间的联合概率密度分布函数。
class Weathers:
+name:String
+multiweather:List[Weather,...]
+pdf:Function
class Actors:
+name:String
+multiactor:List[Actor,...]
+pdf:Function
本发明对Carla 0.9.11所支持的10种天气,28种车辆,26种行人,挑选了15种静态物体按照该格式要求编写了配置文件。
本发明使用如下结构对Unreal Engine中的世界进行参数化描述:
w=(E,Q,D)
E是该世界的其他场景内容(包括道路和道路两侧的建筑物、树木、装饰等附加环境,是用来在多个场景的情况下指定哪个场景以便于切换的标签),Q是一个词典数据,用来记录每个天气所对应的强度,D是一个列数为8的矩阵,每一行表示一个实体对象(包括车辆,行人,静态物体),第一列是该实体对象的名字,第二列是该实体对象在内部属性attrs上的取值,第三、四、五列是该实体对象在Unreal Engine坐标系下的坐标(x,y,z),第六、七、八列是该实体对象在Unreal Engine坐标系下的欧拉角(roll,pitch,yaw)。
图4为本发明所述世界初始化器所执行的初始化采样过程:
步骤401,输入指定的天气数量,车辆数量,行人数量和静态物体数量。
步骤402,根据指定的天气数量从对象属性及其分布文件中随机选择该数量的天气。
步骤403,对于上述天气分别根据其概率密度分布函数pdf进行抽样。
步骤404,随机挑选指定数量的车辆、行人和静态物体。
步骤405,对于上述实体对象分别根据其概率密度分布函数进行抽样。
步骤406,使用实体对象的size属性获取其OBB包围盒进行碰撞检测,校验已经抽样完成的实体对象是否发生碰撞,若发生碰撞,则回到405重新进行抽样。否则进入步骤407。
步骤407,将采样出的世界转化为本发明所述的参数化描述格式。
图5为本发明所述驾驶语义的保持方法。使用反馈搜索器进行搜索时,为了保证自动驾驶系统输出始终正确,采取该图所示驾驶语义保持策略。本发明将车辆前10米距离定义为语义保持区,处于该区域的车辆只能改变颜色,旋转,不能改变空间位置。处于该区域外的车辆不能因变换移入此区域。
图6为本发明所述搜索算法:
步骤601,给搜索器世界初始化器采样到的初始世界,指定的搜索步长以及待测自动驾驶系统的初始输出。
步骤602,从世界的天气中随机挑选n个天气。
步骤603,根据挑选的天气在对象属性及其分布文件中的pdf函数生成一个随机值。
步骤604,从车辆,行人,静态物体中随机挑选m个对象。
步骤605,为随机挑选的m个对象的参数化表示中的8个维度生成一个长度为8的随机向量。
步骤606,使用额外设定的系数折中m个随机向量和n个随机数,然后将其模长总和限制为预先给定的搜索步长。
步骤607,将随机值和随机向量添加到对应的天气和对应的实体对象上。
步骤608,校验添加后新随机值后新的世界的值是否合理,包括是否在对象属性文件定义的范围内,是否发生了碰撞,如果不合理,则从步骤605重新执行。
步骤609,判断新的世界下自动驾驶输出是否故障,故障与否使用如下布尔函数判断:
∈1和∈2是允许误差的松弛限。若发生故障,则输出故障世界的参数化表示,否则继续执行。
步骤610,判断新世界相对之前的世界是否发生了正确偏移,偏移使用如下布尔函数计算:
步骤611,记录下此世界的参数化表示,下次搜索在此基础上继续搜索,并折半搜索步长。
本发明所述测试系统通过对一个测试系统执行若干次上述搜索过程,根据是否发现故障的比例度量测试系统的安全性。
图7为本发明所述结果分析器内部执行的步骤。本发明所述结果分析器通过对搜索到的造成自动驾驶系统的出现故障的世界逐个移除得到。
步骤701,给结果分析器输入造成故障的世界。
步骤702,循环移除世界中的天气,每次移除一个天气后记录自动驾驶系统的输出。
步骤703,使用本发明所述驾驶语义的保持策略,循环移除实体对象,每次移除一个实体对象后记录自动驾驶系统的输出。
步骤704,移除记录中对自动驾驶系统造成故障最大的对象,造成故障最大定义为移除后距离正确输出最近的对象,距离使用下述函数计算:
步骤705,判断移除后自动驾驶输出是否恢复正常,若是,过程结束,否则重新执行步骤702。
本发明对Codevilla设计实现的CIL和CILRS自动驾驶系统进行了测试,图8是本发明所述道路系统的设计。
图9是本发明所述误差松弛量对故障发现率的影响,∈1是对steer的松弛,∈2是对throttle的松弛。测试系统为CILRS,每次参数进行本实验所述搜索过程100次。
表1为本发明所述对CIL和CILRS自动驾驶系统测试的故障率结果,误差松弛选择∈1=0.17,∈2=0.2,每次进行1000次本发明所述搜索过程。
图10,图11,表2为本发明所述结果分析器分析结果的统计结果,从结果上看,降雨更容易造成CILRS系统故障。对CILRS造成故障的实体对象主要分布于人行道上。对CILRS系统造成故障的实体对象以红色和黄色物体为主。
综上,本发明实现了一种基于场景搜索的自动驾驶测试方案,能够对自动驾驶系统的安全性进行标定,同时能够分析出自动驾驶系统的脆弱性。此项技术具备可扩展性和可理解性,且适用于具有高度非线性特征的深度学习系统。可扩展性体现在测试物体可以灵活添加,只要按照本发明所述配置文件格式进行书写即可。可理解性体现在本发明可以确定造成自动驾驶系统故障的原因。
本发明提供的一种自动驾驶测试方案,以上所述的工具选择不具有唯一性,仅是本发明的优选实施方式。其他的自动驾驶测试平台包括Airsim,LGSVL等也可作为本发明的工具选择。场景搭建使用的Unreal Engine 4.24也可使用Unity代替。测试的对象系统只要满足传感器输入、驾驶动作输出结构即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
表1
自动驾驶系统 | 仅天气 | 仅车辆和行人 | 仅静态物体 | 全部对象 |
CIL | 31.5% | 62.4% | 61.2% | 65.7% |
CILRS | 31.8% | 50.9% | 53.7% | 58.4% |
表2
实体对象名 | 故障率 | 说明 |
static.prop.bench02 | 33.8% | 位于人行道上的无靠背长椅 |
walker.predestrian.0007 | 32.3% | 身穿红色上衣,蓝色裤子的行人 |
static.prop.box02 | 31.2% | 黄色方形纸箱 |
walker.pedestrian.0008 | 30.8% | 身穿红色上衣,橘黄色裤子的行人 |
vehicle.toyota.prius | 28.6% | 红色Toyota Prius汽车 |
Claims (10)
1.一种基于场景搜索的自动驾驶黑盒测试系统,其特征在于,包括配置文件,世界初始化器,世界生成器,反馈搜索器,以及结果分析器;用于测试待测试目标系统;所述初始化器读取预先写好的关于场景和对象的配置文件,随后每次故障场景搜索过程调用世界初始化器采样出一个初始场景,在转换为参数化表示后使用世界生成器在Unreal Engine中进行创建生成场景;所述反馈搜索器通过调整场景中的物体,寻找造成故障的场景;所述结果分析器对搜索到的故障场景进行逐个的对象移除判断造成故障的对象;所述测试目标系统为自动驾驶系统。
2.根据权利要求1所述的基于场景搜索的自动驾驶黑盒测试系统,其特征在于,所述配置文件指包括环境配置,以及对象属性及其分布的文件。
3.根据权利要求1所述的基于场景搜索的自动驾驶黑盒测试系统,其特征在于,所述单次故障场景搜索过程按照以下步骤完成:
步骤201,所述世界初始化器读取配置文件;
步骤202,所述世界初始化器根据配置文件中对象分布采样出一个世界;并将世界按照参数化表示方法进行描述;
步骤203,所述世界生成器根据描述世界的参数进行世界的初次创建;
步骤204,所述世界生成器在世界中放置一个自动驾驶车辆和一个相机传感器;
步骤205,测试系统读取世界中的相机传感器的数据,预测当前世界下,自动驾驶车辆所应执行的动作;所述动作包括转向角steer∈[-1,1]和油门throttle∈[-1,1];
步骤207,所述反馈搜索器调整世界参数;
步骤208,所述世界生成器重新创建世界并放置一个自动驾驶车辆以及相机传感器;
步骤209,测试系统根据新的世界重新执行步骤205-206得到预测结果后,判断当前自动驾驶系统输出是否发生故障,如果发生故障,则进入步骤210,否则从步骤207重新执行;
步骤210输出故障场景和初始场景,步骤结束。
5.根据权利要求2所述的基于场景搜索的自动驾驶黑盒测试系统,其特征在于,所述环境配置文件定义的区域的划分包括:a区域是道路两侧的环境,b区域为人行道,c区域为道路右车道,d区域为道路左车道,f区域为道路十字路口中心,g区域为人行道;每个区域在配置文件中使用如下格式保存:
class Region:
+id:Integer
+range:Tuple[Point,Point]
+type:String
id是区域的标志序号,range是区域在Unreal Engine坐标系下的范围,使用区域的左下角坐标和右上角坐标描述,type是区域的划分。
6.根据权利要求2所述的基于场景搜索的自动驾驶黑盒测试系统,其特征在于,所述对象属性及其分布包含四种类型,分别是:天气,车辆,行人,在Unreal Engine中不进行物理碰撞模拟的静态物体;为了描述天气之间的关联性,还定义多天气或者多实体对象之间的联合概率密度分布函数。
7.根据权利要求2所述的基于场景搜索的自动驾驶黑盒测试系统,其特征在于,使用如下结构对世界进行参数化描述:
w=(E,Q,D)
E是所述世界的其他场景内容,包括道路和道路两侧的环境;Q是一个词典数据,用来记录每个天气所对应的强度,D是一个列数为8的矩阵,每一行表示一个实体对象,所述实体对象包括车辆、行人和静态物体,第一列是所述实体对象的名字,第二列是所述实体对象在内部属性上的取值,第三、四、五列是所述实体对象在Unreal Engine坐标系下的坐标(x,y,z),第六、七、八列是所述实体对象在Unreal Engine坐标系下的欧拉角(roll,pitch,yaw)。
8.根据权利要求3所述的基于场景搜索的自动驾驶黑盒测试系统,其特征在于,初始化采样过程为:
步骤401,输入指定的天气数量,车辆数量,行人数量和静态物体数量;
步骤402,根据指定的天气数量从对象属性及其分布文件中随机选择该数量的天气;
步骤403,对于上述天气分别根据其概率密度分布函数pdf进行抽样;
步骤404,随机挑选指定数量的车辆、行人和静态物体;
步骤405,对于上述实体对象分别根据其概率密度分布函数进行抽样;
步骤406,使用实体对象的size属性获取其OBB包围盒进行碰撞检测,校验已经抽样完成的实体对象是否发生碰撞,若发生碰撞,则回到405重新进行抽样;否则进入步骤407;
步骤407,将采样出的世界转化为所述的参数化描述格式。
9.根据权利要求1所述的基于场景搜索的自动驾驶黑盒测试系统,其特征在于,使用反馈搜索器进行搜索时,通过驾驶语义保持策略保证自动驾驶系统输出始终正确;将车辆前10米距离定义为语义保持区,处于该区域的车辆只能改变颜色,旋转,不能改变空间位置;处于该区域外的车辆不能因变换移入此区域。
10.根据权利要求1所述的基于场景搜索的自动驾驶黑盒测试系统,其特征在于,搜索算法包括如下步骤:
步骤601,给搜索器初始世界,搜索步长以及待测自动驾驶系统的初始输出;
步骤602,从世界的天气中随机挑选n个天气;
步骤603,根据挑选的天气在对象属性及其分布文件中的pdf函数生成一个随机值;
步骤604,从车辆,行人,静态物体中随机挑选m个对象;
步骤605,为随机挑选的m个对象的参数化表示中的8个维度生成一个长度为8的随机向量;
步骤606,使用额外设定的系数折中m个随机向量和n个随机数,然后将其模长总和限制为预先给定的搜索步长;
步骤607,将随机值和随机向量添加到对应的天气和对应的实体对象上;
步骤608,校验添加后新随机值后新的世界的值是否合理,包括是否在对象属性文件定义的范围内,是否发生了碰撞,如果不合理,则从步骤605重新执行;
步骤609,判断新的世界下自动驾驶输出是否故障,故障与否使用如下布尔函数判断:
∈1和∈2是允许误差的松弛限。若发生故障,则输出故障世界的参数化表示,否则继续执行;
步骤610,判断新世界相对之前的世界是否发生了正确偏移,偏移使用如下布尔函数计算:
步骤611,记录下此世界的参数化表示,下次搜索在此基础上继续搜索,并折半搜索步长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110405149.8A CN113297530B (zh) | 2021-04-15 | 2021-04-15 | 一种基于场景搜索的自动驾驶黑盒测试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110405149.8A CN113297530B (zh) | 2021-04-15 | 2021-04-15 | 一种基于场景搜索的自动驾驶黑盒测试系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113297530A true CN113297530A (zh) | 2021-08-24 |
CN113297530B CN113297530B (zh) | 2024-04-09 |
Family
ID=77319842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110405149.8A Active CN113297530B (zh) | 2021-04-15 | 2021-04-15 | 一种基于场景搜索的自动驾驶黑盒测试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113297530B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509909A (zh) * | 2022-09-26 | 2022-12-23 | 北京百度网讯科技有限公司 | 测试方法、装置、电子设备和存储介质 |
Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107991898A (zh) * | 2016-10-26 | 2018-05-04 | 法乐第(北京)网络科技有限公司 | 一种无人驾驶车辆模拟测试装置及电子设备 |
EP3410404A1 (en) * | 2017-05-29 | 2018-12-05 | Cognata Ltd. | Method and system for creating and simulating a realistic 3d virtual world |
US20190049342A1 (en) * | 2018-09-28 | 2019-02-14 | Intel Corporation | Method and an autonomous ground vehicle |
CN109520744A (zh) * | 2018-11-12 | 2019-03-26 | 百度在线网络技术(北京)有限公司 | 自动驾驶车辆的驾驶性能测试方法和装置 |
CN109643125A (zh) * | 2016-06-28 | 2019-04-16 | 柯尼亚塔有限公司 | 用于训练自动驾驶系统的逼真的3d虚拟世界创造与模拟 |
CN109753623A (zh) * | 2018-12-10 | 2019-05-14 | 清华大学 | 一种自动驾驶车辆多测试场景分析与数目化简方法 |
CN110147085A (zh) * | 2018-11-13 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 一种自动驾驶的测试方法、测试装置及测试系统 |
CN110197027A (zh) * | 2019-05-28 | 2019-09-03 | 百度在线网络技术(北京)有限公司 | 一种自动驾驶测试方法、装置、智能设备和服务器 |
CN110263381A (zh) * | 2019-05-27 | 2019-09-20 | 南京航空航天大学 | 一种自动驾驶车辆测试仿真场景生成方法 |
WO2019201400A1 (de) * | 2018-04-17 | 2019-10-24 | Conti Temic Microelectronic Gmbh | Steuergerätetesteinrichtung zum testen, absichern und entwickeln von funktionen |
DE102018004429A1 (de) * | 2018-06-04 | 2019-12-05 | Daimler Ag | Verfahren zum Testen eines Bremsassistenzsystems für ein Fahrzeug |
US20200026278A1 (en) * | 2018-07-19 | 2020-01-23 | Honda Motor Co., Ltd. | Scene creation system for autonomous vehicles and methods thereof |
CN110765661A (zh) * | 2019-11-22 | 2020-02-07 | 北京京东乾石科技有限公司 | 自动驾驶仿真场景生成方法及装置、电子设备、存储介质 |
CN110779730A (zh) * | 2019-08-29 | 2020-02-11 | 浙江零跑科技有限公司 | 基于虚拟驾驶场景车辆在环的l3级自动驾驶系统测试方法 |
CN110795818A (zh) * | 2019-09-12 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 一种确定虚拟测试场景方法、装置、电子设备和存储介质 |
CN110836675A (zh) * | 2019-10-25 | 2020-02-25 | 北京航空航天大学 | 一种基于决策树的自动驾驶搜索决策方法 |
CN111797001A (zh) * | 2020-05-27 | 2020-10-20 | 中汽数据有限公司 | 一种基于SCANeR的自动驾驶仿真测试模型的构建方法 |
US20200334405A1 (en) * | 2018-10-26 | 2020-10-22 | Cartica Ai Ltd | Generating a simulation scenario |
CN111881520A (zh) * | 2020-07-31 | 2020-11-03 | 广州文远知行科技有限公司 | 一种自动驾驶测试的异常检测方法、装置、计算机设备及存储介质 |
CN111914412A (zh) * | 2020-07-21 | 2020-11-10 | 同济大学 | 一种基于错误注入器的自动驾驶性能局限测试系统及方法 |
CN112269939A (zh) * | 2020-11-17 | 2021-01-26 | 苏州智加科技有限公司 | 自动驾驶的场景搜索方法、装置、终端、服务器及介质 |
WO2021056327A1 (en) * | 2019-09-26 | 2021-04-01 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for analyzing human driving behavior |
WO2021063486A1 (en) * | 2019-10-01 | 2021-04-08 | Huawei Technologies Co., Ltd. | Automatic root cause analysis of failures in autonomous vehicle |
-
2021
- 2021-04-15 CN CN202110405149.8A patent/CN113297530B/zh active Active
Patent Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109643125A (zh) * | 2016-06-28 | 2019-04-16 | 柯尼亚塔有限公司 | 用于训练自动驾驶系统的逼真的3d虚拟世界创造与模拟 |
CN107991898A (zh) * | 2016-10-26 | 2018-05-04 | 法乐第(北京)网络科技有限公司 | 一种无人驾驶车辆模拟测试装置及电子设备 |
EP3410404A1 (en) * | 2017-05-29 | 2018-12-05 | Cognata Ltd. | Method and system for creating and simulating a realistic 3d virtual world |
WO2019201400A1 (de) * | 2018-04-17 | 2019-10-24 | Conti Temic Microelectronic Gmbh | Steuergerätetesteinrichtung zum testen, absichern und entwickeln von funktionen |
DE102018004429A1 (de) * | 2018-06-04 | 2019-12-05 | Daimler Ag | Verfahren zum Testen eines Bremsassistenzsystems für ein Fahrzeug |
US20200026278A1 (en) * | 2018-07-19 | 2020-01-23 | Honda Motor Co., Ltd. | Scene creation system for autonomous vehicles and methods thereof |
US20190049342A1 (en) * | 2018-09-28 | 2019-02-14 | Intel Corporation | Method and an autonomous ground vehicle |
US20200334405A1 (en) * | 2018-10-26 | 2020-10-22 | Cartica Ai Ltd | Generating a simulation scenario |
CN109520744A (zh) * | 2018-11-12 | 2019-03-26 | 百度在线网络技术(北京)有限公司 | 自动驾驶车辆的驾驶性能测试方法和装置 |
CN110147085A (zh) * | 2018-11-13 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 一种自动驾驶的测试方法、测试装置及测试系统 |
CN109753623A (zh) * | 2018-12-10 | 2019-05-14 | 清华大学 | 一种自动驾驶车辆多测试场景分析与数目化简方法 |
CN110263381A (zh) * | 2019-05-27 | 2019-09-20 | 南京航空航天大学 | 一种自动驾驶车辆测试仿真场景生成方法 |
CN110197027A (zh) * | 2019-05-28 | 2019-09-03 | 百度在线网络技术(北京)有限公司 | 一种自动驾驶测试方法、装置、智能设备和服务器 |
CN110779730A (zh) * | 2019-08-29 | 2020-02-11 | 浙江零跑科技有限公司 | 基于虚拟驾驶场景车辆在环的l3级自动驾驶系统测试方法 |
CN110795818A (zh) * | 2019-09-12 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 一种确定虚拟测试场景方法、装置、电子设备和存储介质 |
WO2021056327A1 (en) * | 2019-09-26 | 2021-04-01 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for analyzing human driving behavior |
WO2021063486A1 (en) * | 2019-10-01 | 2021-04-08 | Huawei Technologies Co., Ltd. | Automatic root cause analysis of failures in autonomous vehicle |
CN110836675A (zh) * | 2019-10-25 | 2020-02-25 | 北京航空航天大学 | 一种基于决策树的自动驾驶搜索决策方法 |
CN110765661A (zh) * | 2019-11-22 | 2020-02-07 | 北京京东乾石科技有限公司 | 自动驾驶仿真场景生成方法及装置、电子设备、存储介质 |
CN111797001A (zh) * | 2020-05-27 | 2020-10-20 | 中汽数据有限公司 | 一种基于SCANeR的自动驾驶仿真测试模型的构建方法 |
CN111914412A (zh) * | 2020-07-21 | 2020-11-10 | 同济大学 | 一种基于错误注入器的自动驾驶性能局限测试系统及方法 |
CN111881520A (zh) * | 2020-07-31 | 2020-11-03 | 广州文远知行科技有限公司 | 一种自动驾驶测试的异常检测方法、装置、计算机设备及存储介质 |
CN112269939A (zh) * | 2020-11-17 | 2021-01-26 | 苏州智加科技有限公司 | 自动驾驶的场景搜索方法、装置、终端、服务器及介质 |
Non-Patent Citations (7)
Title |
---|
ALESSANDRO CALO 等: "Generating Avoidable Collision Scenarios for Testing Autonomous Driving Systems", 2020 IEEE 13TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VALIDATION AND VERIFICATION (ICST), 28 November 2020 (2020-11-28), pages 375 - 386 * |
DANIEL J. FREMONT 等: "Scenic: a language for scenario specification and data generation", 《40TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTION》, pages 63 - 78 * |
RUPAK MAJUMDAR 等: "Paracosm: A Test Framework for Autonomous Driving Simulations", 《24TH INTERNATIONAL CONFERENCE ON FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING》, pages 172 - 195 * |
任秉韬 等: "面向智能驾驶测试的仿真场景构建技术综述", 《中国图象图形学报》, no. 01, pages 1 - 12 * |
吴昊 等: "自动驾驶系统中视觉感知模块的安全测试", 《计算机研究与发展》, no. 05, pages 1133 - 1147 * |
王浩: "基于场景搜索的自动驾驶深度视觉鲁棒性评估", 《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》, no. 05, pages 035 - 391 * |
秀秀的奇妙旅行: "自动生成用于测试和评估自动驾驶汽车的各种挑战性场景", Retrieved from the Internet <URL:https://blog.csdn.net/yunxiu988622/article/details/109577538> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509909A (zh) * | 2022-09-26 | 2022-12-23 | 北京百度网讯科技有限公司 | 测试方法、装置、电子设备和存储介质 |
CN115509909B (zh) * | 2022-09-26 | 2023-11-07 | 北京百度网讯科技有限公司 | 测试方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113297530B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Queiroz et al. | GeoScenario: An open DSL for autonomous driving scenario representation | |
CN111506980B (zh) | 对虚拟驾驶环境生成交通场景的方法及装置 | |
CN110197027B (zh) | 一种自动驾驶测试方法、装置、智能设备和服务器 | |
Klischat et al. | Scenario factory: Creating safety-critical traffic scenarios for automated vehicles | |
Niranjan et al. | Deep learning based object detection model for autonomous driving research using carla simulator | |
CN111507459B (zh) | 降低神经网络的注解费用的方法和装置 | |
Bach et al. | Test scenario selection for system-level verification and validation of geolocation-dependent automotive control systems | |
Ramakrishna et al. | Anti-carla: An adversarial testing framework for autonomous vehicles in carla | |
Viswanadha et al. | Addressing the ieee av test challenge with scenic and verifai | |
Tlig et al. | Autonomous driving system: Model based safety analysis | |
CN111859674A (zh) | 一种基于语义的自动驾驶测试图像场景构建方法 | |
CN111460879B (zh) | 利用网格生成器的神经网络运算方法及使用该方法的装置 | |
CN113297530B (zh) | 一种基于场景搜索的自动驾驶黑盒测试系统 | |
Masuda | Software testing design techniques used in automated vehicle simulations | |
Schütt et al. | An application of scenario exploration to find new scenarios for the development and testing of automated driving systems in urban scenarios | |
Humeniuk et al. | Ambiegen: A search-based framework for autonomous systems testing | |
CN111983934B (zh) | 一种无人车仿真测试用例生成方法及系统 | |
Li | A scenario-based development framework for autonomous driving | |
Hejase et al. | A validation methodology for the minimization of unknown unknowns in autonomous vehicle systems | |
Sukthankar et al. | A simulation and design system for tactical driving algorithms | |
CN113119996B (zh) | 一种轨迹预测方法、装置、电子设备及存储介质 | |
Miura et al. | Converting driving scenario framework for testing self-driving systems | |
Souflas et al. | Virtual Verification of Decision Making and Motion Planning Functionalities for Automated Vehicles in Urban Edge Case Scenarios | |
Chakra | Exiting the simulation: The road to robust and resilient autonomous vehicles at scale | |
Pathrudkar et al. | SAFR-AV: Safety Analysis of Autonomous Vehicles using Real World Data--An end-to-end solution for real world data driven scenario-based testing for pre-certification of AV stacks |
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 | ||
GR01 | Patent grant |