关注我们:
欢迎来到1号无人车网!聚焦无人驾驶物流技术与服务!
0319-7596975
欢迎拨打垂询热线!
公众号:china1umv
行业动态 /news
MORE+
产品分类
无人物流配送车
行 业 活 动
工业扫地机器人
新闻详情    NEWS
一文读懂自动驾驶仿真测试场景与场景库
来源: 九章智驾 | 作者: 九章智驾 | 发布时间: 1000天前 | 835 次浏览 | 分享到:
据美国兰德公司研究:从统计学角度出发,自动驾驶汽车需要在真实或者虚拟环境中至少进行110亿英里的里程测试,才能证明自动驾驶系统比人类驾驶员更可靠;然而,基于里程的测试方法具有测试周期长、效率低、成本高等弊端,自动驾驶汽车要商业化落地,单纯依靠基于里程的测试方法显然是不够的,基于场景的仿真测试方法不可或缺。

  据美国兰德公司研究:从统计学角度出发,自动驾驶汽车需要在真实或者虚拟环境中至少进行110亿英里的里程测试,才能证明自动驾驶系统比人类驾驶员更可靠;然而,基于里程的测试方法具有测试周期长、效率低、成本高等弊端,自动驾驶汽车要商业化落地,单纯依靠基于里程的测试方法显然是不够的,基于场景的仿真测试方法不可或缺。

  现实世界中的场景具有无限丰富、极其复杂、不可预测等特点,在虚拟环境中要完全复现这些场景却又十分的困难;如何利用有限的测试场景去映射出无限丰富的世界是实现自动驾驶测试验证的关键。基于场景库的仿真测试是目前解决自动驾驶路测数据匮乏的重要路线。场景库中的测试场景对现实世界的覆盖率越高,仿真测试结果的准确性就越高。

  接下来笔者把最近一段时间关于测试场景和场景库相关的学习体悟整理出来与大家分享,如有表达不准确或者错误的地方,欢迎各大佬批评指正。

第一部分:测试场景

  1.1 测试场景定义及作用

  自动驾驶测试场景:是指在一定的时间和空间范围内,自动驾驶汽车与行驶环境中的其它车辆、道路、交通设施、气象条件等元素综合交互过程的一种总体动态描述。它是自动驾驶汽车的驾驶情景与行驶环境的有机组合,既包括各类实体元素,也涵盖了实体执行的动作及实体之间的连接关系。

  测试场景的作用:在自动驾驶汽车设计、研发、测试和评价中扮演重要角色

  开展自动驾驶汽车测试评价的重要前提;

  基于场景的自动驾驶汽车测试方法是实现加速测试、加速评价的有效途径;

  测试、验证、评价自动驾驶功能与性能的关键,贯穿自动驾驶车辆研发测试全生命周期。

  1.2 测试场景要素

  测试场景要素:主要分为测试车辆自身要素外部交通环境要素两大部分;外部交通环境要素又涵盖:静态环境要素、动态环境要素、交通参与者要素、气象要素等。

  1)测试车辆自身要素:指测试车辆自身的基础属性、位置信息、运动状态信息及驾驶任务信息。

  2)静态环境要素:指交通环境中静止状态的物体。

  包括:道路、交通设施、周围景观以及障碍物等。

  3)动态环境要素:指交通环境中处于动态变化的要素。

  包括:动态指示设施 和 通信环境信息。

  4)交通参与者要素:在自动驾驶测试场景中对本车决策规划造成影响的对象信息。

  包括:车辆、行人和动物。

  5)气象要素:包括驾驶场景中的环境温度、光照条件以及天气情况等信息。

  1.3 测试场景的常见分类

  1)按照场景的抽象程度可分为:功能场景、逻辑场景、具体场景

不同类型场景的抽象等级和场景数量关系

  三者之间的关系:

  自动驾驶系统开发需经历的三个阶段:概念阶段、系统开发阶段、测试阶段;随着系统开发过程的逐渐深入,测试场景的抽象程度需求不断降低,但测试场景的数量需求却不断在增加。通过将结构化的功能场景与参数范围相结合能够转换生成逻辑场景,参数范围可以通过数据驱动方法来定义。每个逻辑场景都可以通过从参数范围中选择具体值来转换为具体场景

  a.功能场景

  • 通过语义描述的最抽象级别的操作场景, 即通过语言场景符号来描述场景区域内的实体以及实体间的关系;

  • 功能场景用于概念阶段的项目定义、危险分析和风险评估;在测试过程中,往往需要将功能场景转换为逻辑场景,并转换为可用于相应仿真环境的数据格式。

  b.逻辑场景

  • 通过定义状态空间内变量的参数范围来表达实体特征和实体间的关系;

  • 逻辑场景是基于状态空间变量对功能场景的进一步详细描述,用于项目开发阶段生成需求;对于每一个具有连续取值范围的逻辑场景, 都可以派生出任意数量的具体场景。

  c.具体场景

  • 通过确定状态空间中每个参数的具体值来明确描述实体和实体间的关系,以状态空间详细描述了测试场景;

  • 具体场景可以直接转化为测试用例;要将具体场景转换成测试用例, 需要增加被测对象的预期行为表现以及对相关测试设施的需求。

  2) 按照测试场景数据来源分类:自然驾驶场景、危险工况场景、标准法规场景、参数重组场景

  a. 自然驾驶场景

  • 数据源自汽车真实的自然驾驶状态场景下,是最基础的数据来源;包含自动驾驶汽车所处的人-车-环境-任务等全方位信息;

  • 自然驾驶场景能够提供车辆数据、驾驶人行为、道路环境等多维度信息,是证明自动驾驶有效性的一种充分测试场景。

  b. 危险工况场景

  • 数据主要来源于交通事故数据库,是自动驾驶控制策略安全性和可靠性验证的关键;

  • 危险工况场景主要涵盖恶劣天气环境、复杂道路交通以典型交通事故三大类场景,是证明自动驾驶有效性的一种必要测试场景。

  c. 标准法规场景

  • 数据主要来源于现有的标准、评价规程等,如ISO、NHTSA、E-NCAP、C-NCAP等多项标准、评价规程对现有自动驾驶功能进行了测试规定;

  • 标准法规测试场景是自动驾驶功能在研发和认证阶段必须要满足的基础测试场景。

  d. 参数重组场景

  • 数据来源于现有场景数据库资源,通过对已有的仿真场景进行参数化设置,随机生成或自动重组相应类型的场景;

  • 参数重组场景通过对静态要素、动态要素以及驾驶人行为要素等进行不同排列组合及遍历取值,扩展参数重组场景边界;有效覆盖自动驾驶功能测试盲区,是对未知工况的有效补充测试场景。

  1.4 测试场景的格式标准

  1) 静态场景格式标准:OpenDRIVE、OpenCRG、RoadXML和OSM

  OpenDRIVE(OpenX标准系列):包含道路路网上的所有静态对象,主要描述道路拓扑结构、车道线和道路周边的其它静态元素。OpenDRIVE将道路分为三个部分:道路参考线(reference line)、车道(lanes)和特征元素(features)。

OpenDRIVE路网三层结构描述(图片来源:ASAM官网)

  OpenCRG(OpenX标准系列):主要用于描述道路的表面属性,如道路的施工材料、摩擦系数等。

  RoadXML:将交通环境划分为四个层次;1)拓扑层 - 描述元素在路网中的位置和连接关系;2)逻辑层-描述元素在道路环境中的意义;3)物理层-描述元素的属性(路面或障碍物);4)可视化层:描述元素的几何形状和三维特征。

  OSM:即OpenStreetMap-开放式街道地图数据格式;其数据基元主要包括三种-点(Nodes)、路(Ways)、关系(Relations)。

  2)动态场景格式标准:OpenSCENARIO

  OpenSCENARIO(OpenX标准系列)主要用于描述涉及多个交通参与者(如车辆、行人和其他交通参与者)的复杂的、同步的操作;OpenSCENARIO文件结构可分为三个部分:道路拓扑、实体以及事件板。

OpenSCENARIO的文件结构

  3) 气象场景格式标准:数据格式较为复杂,目前行业内尚无通用的格式标准

  1.4 测试场景的数据来源

  主要包括三大部分:真实数据、模拟数据以及专家经验

  1)真实数据:即现实世界真实发生的,经过传感器采集到或以其它形式已经被记录保存下来的真实场景数据,包括自然驾驶数据、交通事故数据、路侧单元监控数据、封闭场地测试数据以及开发道路测试数据等。

  2)模拟数据:主要包括驾驶模拟器数据和仿真数据;前者是利用驾驶模拟器进行测试得到的场景要素信息;后者是自动驾驶系统或车辆在虚拟仿真平台上进行测试得到的场景要素信息。

  3)专家经验数据:基于专家的仿真测试经验总结归纳出来的场景要素信息,其中标准法规就是专家经验数据的典型代表。

测试场景数据来源

  参考:测试场景数据来源参考《自动驾驶系统功能测试第7部分:仿真测试(征求意见稿)》

第二部分:测试场景的构建

  2.1 测试场景构建流程

  构建流程:场景数据采集 → 分析挖掘 → 测试验证

  1)场景数据采集

  步骤:采集需求定义 → 采集方案制定与执行 → 数据预处理 → 数据传输与存储

  采集需求定义:根据自动驾驶功能和等级、驾驶任务、评价维度等确定采集数据相关性;即根据不同测试对象确定相关测试场景范围和数量。同时采集的数据应满足采集完整性要求、数据采集数量、数据精度、不同来源数据的时间同步性等要求;

  采集方案制定与执行:不同的数据源根据自身特性采用不同的数据采集方法;目前常用的场景数据采集方法有 - 基于实车的场景数据采集、基于事故场景数据的采集、基于仿真台架的采集、基于路侧设备的采集、基于飞行器的采集等;

  数据预处理:为了便于后期数据分析,提高场景数据的可用性,在进行场景数据存储管理之前,需要进行数据预处理;数据预处理主要包括在线处理和离线处理两个阶段;

  数据传输与存储:为了保证有足够的车载存储空间使得采集工作能够持续进行,在数据预处理之后,需要及时将数据从车载存储器传输至数据库中。数据传输方式包括在线传输和离线传输两种;数据存储方案包括本地存储和云端存储两种。

  2)场景分析挖掘

  步骤:场景理解 → 特征提取 → 场景聚类 → 场景生成

  场景理解:理解测试场景中与主车行驶有关联的物体的含义;比如此处交通标志代表什么含义?,前方车辆的行为意图是什么?基于机器学习的场景理解可以实现特征表示、模型学习、推理算法、理解评价等。图像理解相关算法Faster R-CNN、YOLO等;

  特征提取:在场景理解的基础上,对测试场景中的动态、静态元素进行特征元素和特征量的提取,然后进行数字化的描述;

  场景聚类:在获取大量的采集场景数据后,会发现有些场景相极其相似,为了提高场景的测试效率,需要对具备相同特征信息的场景进行聚类,对不同特征信息的场景进行分类处理。常用聚类算法:DBSCAN、OPTICS、STING、K-MEANS和BIRCH等。

  场景生成:场景复现和场景重构

—— 场景复现:基于实车采集和路测设备采集的真实数据,还原真实交通中的自然驾驶场景和危险工况场景等;在可行的前提下,尽可能高效、准确地反映出潜在风险对自动驾驶汽车的影响。

—— 场景重构:基于元素的关联关系或者人工经验等对场景元素进行重新组合或推演归纳处理,从而生成更多合理的新场景。

  3)场景测试验证

  步骤:场景验证试验 → 场景验证评审

  • 经过上一步的场景分析挖掘后,将生成新的测试场景,但是测试场景是否满足要求仍未可知,需要在实车上进行验证试验或者在仿真软件平台上进行虚拟验证。

  • 待场景验证试验完成后,由专家依据相关验证试验数据从场景的相关性、真实性和有效性三个方面展开评估。

  2.2 动态和静态场景构建

  静态场景构建:

  1)基于采集的实际道路环境信息和已有的高精地图构建。

  • 通过自动化工具链能够对高精地图构建出来的环境模型实现厘米级道路还原;

  • 对于采集的真实道路场景数据,通过静态场景编辑和自动生成技术可完成真实道路自动化还原。

  2)基于三维建模软件人为创建基础设施与周边环境的可视化数字模型。

  • 例如通过软件构建道路(中心线、车道线等)、道路周边元素(垃圾箱、建筑物、绿化地等)以及交通元素(交通灯与交通标志牌)等静态场景元素。

  动态场景的构建:

  1)基于真实交通案例数据构建:把各类传感器采集的动态交通数据,经过算法抽取, 结合已有的高精地图来构建动态场景 。

  2)基于真实案例数据的泛化构建:合理地调整真实案例中的某些数据特征,比如对多元类型数据进行整合与加工, 通过算法构建逼近真实的智能体行为模型,从而泛化生成新的动态场景案例。

  3)基于微观交通仿真系统构建:基于真实数据或虚拟仿真数据,利用微观交通仿真系统生成车辆、 行人、 交通管控等动态元素。

第三部分场景库

  3.1 场景库的定义及特点

  场景库的定义

  • 基于真实数据、虚拟数据以及专家经验数据等不同的数据源,通过场景挖掘、场景分类、场景演绎等方式有层级、有规划地构建成的一个完整的场景体系;能够完成从场景数据的管理和场景测试引擎之间的桥接,实现场景的自动产生、管理、存储、检索、匹配,最后自动生成场景并注入给测试工具。

  • 场景库是不同场景的数据集合,以数据库的形式表现出来,便于对测试场景进行统一的、有效的组织、管理和应用。

  场景库的特点

  特点:真实性、交互性、扩展性、无限性、批量化、自动化六大特性

  1)真实性: 测试场景必须是现实世界中真实存在的,且高度还原现实情况;根据测试需求,测试场景能在统计学上覆盖现实交通环境中的典型工况,从而保证在仿真平台上进行虚拟测试能够一定程度上代替封闭场地测试和开放道路测试。

  2)交互性:测试场景中人-车-环境-任务各要素之间存在较强的耦合关系,一旦场景中有一个要素发生变化,极有可能引起连锁反应,直接对其它要素产生相应的关联影响。

  3)扩展性:测试场景中的各要素具有不同的类型和属性,并且各要素之间具有特定的关系。通过改变某一要素的属性或者对各要素进行重新排列组合,便可直接重构出更多的其它测试场景。

  4)无限性:场景库主要由测试用例经虚拟仿真建模得到;由于场景参数分布的连续性以及场景元素排列组合的多样性,测试用例是无限的, 因此场景库中的测试场景也是无限的。

  5)批量化:标准化的驾驶场景数据接口,实现测试用例的批量化导入及建模,以及高性能仿真服务器的批量化仿真测试。

  6)自动化:当仿真测试结束后,依据被测车辆的表现,场景库自动化给出评价结果和指标。

  3.2 场景库的搭建流程

  搭建流程:

  • 确定单个虚拟场景的数据存储方式与标准;

  • 构建单个自动驾驶虚拟测试场景;

  • 在众多的虚拟测试场景中根据特征标签选取适当场景作为场景库的组成部分。

自动驾驶测试场景构建流程

(图片参考:2020中国自动驾驶仿真蓝皮书)

  自动驾驶研发测试与场景库的搭建形成闭环:测试场景库的搭建,能有效驱动自动驾驶的研发测试工作,自动驾驶的研发测试反过来也能够场景库提供反馈意见,丰富场景库。

  3.3 国内典型场景库

  1)中汽数据与中国汽研场景库总体情况对比

  2)中汽数据与中国汽研 - 自然驾驶场景库对比

  注:纵向驾驶行为指标包括速度、加速度、刹车踏板;横向驾驶行为指标包括横摆角速度、车道改变位置、方向盘转角、转向灯使用情况。

  3)中汽数据与中国汽研 - 交通事故场景库对比

  4)中汽数据与中国汽研 - 场景库构建方案


中汽数据:场景库构建(参考资料 -公众号:中汽数据)

中国汽研:场景库构建(参考资料-中国汽研宣传材料)

第四部分:测试场景与场景库相关标准体系

  4.1 德国 - PEGASUS项目

  起止时间:2016~2019年5月,历时42个月

  发起部门:德国联邦经济事务和能源部

  成员:德国本土汽车主机厂17家左右

  构成:场景分析和评价标准研究、应用过程分析、测试以及可扩展性分析四部分。

  内容:聚焦于高速公路场景的研究和分析,基于事故以及自然驾驶数据建立场景数据库,以场景数据库为基础对系统进行验证。

  PEGASUS 项目分四个阶段:

  第一阶段:场景分析&质量评估

  • 定义一种系统的场景生成方法以及场景文件的的语法结构;

  • 计算场景的KPI;

  • 定义一套基于专家经验的场景困难(危险)程度评价方法。

  第二阶段:实施流程

  • 基于现有汽车设计流程,以安全为基础,设计一套足够灵活的、鲁棒性强的适用于自动驾驶功能的设计实施流程;且该流程能够吸收实践过程中的不足反复迭代优化。

  第三阶段:测试

  • 此项目的输出为一套用于实验室(仿真软件,台架等)以及真实交通场景的方法和工具链;总体目标就是在参数空间中找出碰撞敏感度高的参数。

  第四阶段:结果验证&集成

  • 对前三个子项目阶段的结果进行分析。

  重要研究成果:

  1)初步建立了三种测试场景格式标准:OpenCRG(Open Curved Regular Grid )、OpenDRIVE、OpenSCENARIO。

PEGASUS的三个重要研究成果

  注:该三项标准已于2018年正式从戴姆勒和VIRES转交ASAM进行下一步标准维护与开发。

  2)定义了测试场景六层模型:第1层 - 道路层;第2层 - 交通基础设施;第3层 - 第1层和第2层的临时操作(如道路施工现场);第4层 - 对象;第5层 - 环境;第6层 - 数字信息。

PEGASUS测试场景六层模型

  4.2 ASAM - 德国自动化及测量系统标准协会

  成立时间:1998年

  性质:非政府的汽车领域标准化制定机构

  标准内容:涉及多个汽车标准领域,包括仿真测试、车联网、测量与校准、诊断、自动化测试、软件开发、ECU 网络和数据管理与分析等。

  会员:全球范围内约300家左右的整车厂、供应商及科研机构加入。

  仿真测试领域的OpenX标准体系:

OpenX系列标准体系

  • OpenDRIVE :用于道路拓扑的描述,对应静态地图场景信息,包括高精地图信息

  • OpenSCENARIO:主要用于描述动态行为场景

  • OpenCRG:用于描述道路表面属性,其数据主要用于轮胎、震动及驾驶仿真方面的研究

  • OSI(Open Simulation Interface:仿真接口,连接了自动驾驶功能与仿真工具

  • OpenLABEL:将对原始数据和场景给出统一的标定方法

  • OpenODD:处于概念项目阶段,定义设计运行域(ODDs)的标准化格式;

  • OpenOntology :制定中的新标准,一个由本体论表示的且能够将OpenX标准串联起来的公共域模型

  OpenDRIVE标准:

  1)应用对象:静态场景的描述

  2)语法:XML格式

  3)内容:对地图、道路、以及建筑物的内容节点进行了定义

  4)客户:奥迪、博世、四维图新、百度等厂商

  5)作用:

  • 用来描述复杂路网的逻辑关系和宏观特性,用于仿真的高精地图级的道路模型标准

  • 使静态场景数据中的内容条目与格式实现了统一,利于不同仿真软件实现对同一场景文件的兼容

  OpenSCENARIO标准:

  1)应用对象:动态态场景的描述

  2)语法:XML格式

  3)内容:主车的位置与速度等信息,及其他交通参与者的信息

  4)作用:

  • 用于在驾驶场景,地图,工具以及测试功能间建立标准,实现智能驾驶动态场景的标准化描述

  • 采集的原始数据转换成标准化、有逻辑、易归纳的动态场景文件,有利于海量数据的标准化处理

  OpenCRG标准:

  1)应用对象:描述道路路面微观特性和不平度的开源数据格式

  2)作用:通过弯曲的网格状分割,实现对道路的高精度描述,并降低内存占有率和计算时间

  3)兼容性:支持与OpenDRIVE格式静态场景和OSI中动力学模型的交互,并与MATLAB等软件相兼容。

  OSI标准:

  1)应用对象:各种仿真工具和传感器模型

  2)作用:定义一个通用的接口,用来连接自动驾驶功能的开发和各种驾驶模拟框架

  OpenLABEL标准:

  1)应用对象:数据标注

  • 如何将相应的数据标签分配给已采集的原始数据

  • 如何为带有目标物标签的场景文件标注标签

  • 如何为逻辑场景标注标签等

  注:此项目2019年底启动,目前尚处于起步阶段

  4.3 C-ASAM - 中汽数据与德国ASAM联合成立

  成立时间:2019年9月

  组建者:中汽数据与ASAM共同组建

  成员:上汽集团、腾讯、华为、百度、赛目、四维图新、北京航空航天大学等 20 余家中国企业与研究机构

C-ASAM工作组成员(图片来源:C-ASAM官网)

  职责:

  1)全权负责统筹管理中国区ASAM会员、举办C-ASAM相关会议和培训

  2)定期向成员更新ASAM标准研究进展

  3)促进成员参与国际标准制定以及国际合作等相关事务

  开展的研究和开发工作:

  • ASAM OpenX模拟仿真测试场景标准

  • XIL在环测试标准

  • ODS数据管理工具

C-ASAM工作组研究框架及内容拓展

(图片来源:2020中国自动驾驶仿真蓝皮书)

  4.4 ISO相关仿真测试标准

  工作组:国际标准化组织道路车辆委员会自动驾驶测试场景工作组(ISO/TC22/SC33/WG9)

  成立时间:2018年4月

  工作职责:负责开展自动驾驶测试场景有关的术语定义、流程框架、数据库、设计运行范围及测试评价等国际标准制定工作。

  1)ISO 34501 - 自动驾驶测试场景术语和定义

  标准制定负责人:中国专家孙航

  内容:

  • 面向自动驾驶测试场景的实际应用需求,充分考虑目前国际范围内已有研究内容和成果,制定自动驾驶测试场景的“字典”以统一相关术语和定义的使用;

  • 在标准内容上通过同义词、注释和用例等形式进一步深入阐述各相关术语之间的关系,指导自动驾驶测试场景标准、相关法规及工程应用中的概念统一。

  2)ISO 34502 - 基于场景的安全评估的工程框架与过程

  标准制定负责人:日本专家Jacobo Antona

  内容:包括面向安全评估的场景生成流程、场景框架结构、数据库存储与接口架构、逻辑场景参数及道路交通参数选取等内容。

  3)ISO 34503 - 自动驾驶系统操作设计运行范围的分类

  标准制定负责人:英国专家Siddartha Khastgir

  内容:

  • 用于规范自动驾驶汽车设计运行范围的表述形式、适用层级和具体内容;

  • 其目标是使具备各类自动驾驶功能的车辆能够根据该标准对其设计运行范围作出规范性的描述;

  • 实现车辆设计者、生产者、使用者和管理者对于其运行能力范围的统一理解和认识。