首页 > 汽车技术 > 正文

ASAM OpenScenario 2.0正式发布

2022-08-08 17:39:22·  来源:C-ASAM  
 
编者寄语:2022年7月,ASAM OpenScenario 2.0版本正式发布。作为ASAM自动驾驶仿真体系中的重要环节,本次OSC 2.0版本具体包含了什么内容?相对于之前的版本究竟

编者寄语:2022年7月,ASAM OpenScenario 2.0版本正式发布。作为ASAM自动驾驶仿真体系中的重要环节,本次OSC 2.0版本具体包含了什么内容?相对于之前的版本究竟有哪些改进和提升?让我们共同来研究!


01、ASAMOpenScenario概述


ASAM OpenSCENARIO的内容包括用于描述驾驶模拟应用程序中的动态内容的规范和文件模式。其主要用途是描述涉及多个车辆的复杂运动情况。


ASAM OpenSCENARIO可用于ADAS系统和自动驾驶等功能的虚拟仿真开发、测试和验证。该标准可与ASAM OpenDrive和ASAM OpenCRG结合使用,这两项标准共同描述了自动驾驶模拟场景中的静态内容。


图片

ASAM OpenDrive、OpenScenario以及OpenCRG的关系


场景描述对于测试、验证ADAS系统和自动驾驶汽车的安全性至关重要。行业、认证机构和政府部门共同定义了可用于测试和验证此类系统安全运行的场景库。一个公开开发和独立于特定供应商的标准,例如ASAM OpenSCENARIO,通过在各种模拟应用程序中支持场景的交换和可用性来支持这一目标。


例如,在ASAM OpenSCENARIO的帮助下,可以在各种模拟器上运行大量的关键场景。因此,与在真实交通中进行实车道路测试相比,所需要的测试公里数和成本可以大大减少。


在模拟仿真的环境中,一个完整的场景由以下部分组成:


静态环境描述,具体包括:

● 逻辑路网结构;

● 可选的物理几何道路及环境描述。


动态内容描述,具体包括:

● 动态实体行为的整体描述与协同行为;

● 动态实体的可选行为模型。


02、ASAM OpenScenario 2.X系列标准遵循怎样的开发思路


ASAM OpenSCENARIO定义了仿真世界的动态内容,如交通参与者的行为,以及这些参与者如何与其他参与者和环境进行交互。OpenSCENARIO在ASAM OpenX标准中占有独特的地位,因为ASAM的成员目前正在积极地并行开发它的两个主要版本(即OpenSCENARIO 1.X系列与OpenSCENARIO 2.X系列)。


由于版本之间的基础有所不同,ASAM在这些并行标准的开发过程中采取了一系列措施,以确保OpenSCENARIO 1.X与2.X之间的收敛和兼容性。这些措施是根据所有ASAM OpenSCENARIO开发项目的要求制定的,具体包括:


1.OpenSCENARIO 2.X应该是OpenSCENARIO 1.X特性的完整超集

2.OpenSCENARIO 1.X的场景迁移到OpensCENARIO 2.X是可行的;

3.OpenSCENARIO 2.X的子集转换映射到OpenSCENARIO 1.X是可

4.所有未来的OpenSCENARIO版本都应该附带一个最新的规则集,用于从OpenSCENARIO 1.X迁移到OpenSCENARIO 2.X;

5.从最新的OpenSCENARIO 1.X转换/迁移到OpenSCENARIO 2.X的任何场景的运行行为应该保持一致。此需求可能会受到实现特定因素的影响,即可以在OpenSCENARIO 1.X描述内容,也可以在OpenSCENARIO 2.X进行描述,以获得相同的运行行为。


03、ASAM OpenScenario 1.X与2.X系列有什么关系


ASAM OpenSCENARIO 1.X系列基于XML格式进行开发,最新的版本是V1.2.0。ASAM OpenSCENARIO 2.X则是基于一种专用领域的编程语言,包括一个可扩展的领域模型,具体扩展机制在9.3章“扩展领域模型(Extending the domain model)”中进行描述。领域模型代表了道路驾驶领域的核心概念,具体参见8.1章“领域模型介绍(Domain model introduction)”。


OpenSCENARIO V2.0.0是OpenSCENARIO 2.X系列发布的第一个版本。OpenSCENARIO 2.X不向后兼容OpenSCENARIO 1.X标准,尽管可以使用OpenSCENARIO 1.X直接支持的子集转换某些场景。


OpenSCENARIO 2.X被设定为OpenSCENARIO 1.X的超集,即在OpenSCENARIO 1.X中可以做的事情在OpenSCENARIO 2.X中也可以做,甚至更多。OpenSCENARIO V2.0.0的一个关键改进是支持抽象场景(Abstract Scenarios)。

OpenSCENARIO不同版本之间的对比请见下表:


图片

ASAM OpenScenario不同版本之间的对比


由对比可知,具体场景(Concrete Scenario)和逻辑场景(Logical Scenario)均可以在两个版本中表达,但是OpenSCENARIO 2.X提供了额外的特性来丰富场景描述,因此可以支持抽象场景(Abstract Scenarios)。由于OpenSCENARIO 1.X不支持抽象场景描述,因此它与OpenSCENARIO 2没有直接对应关系。


由于大量特定与实现因素都可能会影响模拟仿真的结果,OpenSCENARIO两个版本都无法保证跨不同工具的精确重现性(Reproducibility)。OpenSCENARIO的重点是支持场景描述的交换和复用,只要执行正确的转换机制,这不会在不同版本之间改变。


OpenSCENARIO V1.2.0场景文件中的所有参数都必须有一个默认值,这意味着OpenSCENARIO V1.2.0场景文件本身总是具体的。这样的场景文件可以与附加的参数分布文件一起使用,如果在支持场景文件的实现中与场景文件一起使用,那么这个组合就被认为是一个逻辑场景。在这种情况下,默认值将被覆盖。


需要注意的是,场景越抽象,可能存在的有效解决方案就越多,在具体化过程中另一个用户复制精确场景或一组场景的保证就越低。这是由于抽象层次的性质,读者可以参考其他文献以获得进一步的信息。

04

OpenScenario 2.0进行了哪些更新?


除了支持更高级别的抽象场景描述,OpenSCENARIO 2.X还提供了以下新特性:



● 一种编程语言,面向对象的DSL;

● 在具体、逻辑和抽象等场景级别上进行一致的场景描述;

● 增加了对外部代码/函数/方法的支持(如分布函数,统计数据等);

● 可内置约束条件;

● 内置KPI(Key Performance Indicator)和覆盖率度量;

● 增加了对复用的支持(如场景、库或修饰符等);

● 可扩展语言和领域实体;

● 可支持非完全仿真环境下的测试用例,如X-in-the-loop在环测试或场地测试等;

● 独立于特定地图格式的抽象路网描述(详见8.5章节“抽象路网”)。


需要注意的是,这些新特性中的许多都不是场景描述中必须包含的部分。有关新特性和扩展范围的完整概述,请参阅第1章“范围”。
由于这是DSL的第一个具有许多新特性的版本,预计会有一些附加功能的需求,而这些附加功能还不是标准的一部分。该语言支持自扩展以及绑定到其他语言或机制中定义的外部软件方法的能力。域模型也可以用尚未完全定义的实体、参与者或动作来扩展,具体请参见9.3章节“扩展域模型”。预计未来的项目将研究将相关的用户定义扩展集成到标准的未来版本中。


05

ASAM OpenScenario 后续将如何演进?


ASAM的目标是在2024年底之前将OpenSCENARIO的两个并行版本合并为一个版本。为确保共同发展,ASAM将建立一个联合项目。这个联合项目的目标是开发一个基于OpenSCENARIO V2.0.0中定义的DSL的聚合版本。这可能是一个新的主要版本(Y.X,如3.0等)。


OpenSCENARIO的全新融合版本将全面覆盖OpenSCENARIO 1.X和OpenSCENARIO 2.X中的特性,将是一个完整的超集。融合版本将至少对以前版本的域特性有一个清晰的映射。未来将达到怎样的自动化程度,目前仍处于开放状态。


图片

ASAM OpenScenario演进路线示意


在实现融合版本的过程中,项目可能会基于共享的ASAM社区发布OpenSCENARIO 1.X和OpenSCENARIO 2.X的其他版本。目前来看,将至少会发布一个OpenSCENARIO 1.X版本:V1.3.0,两个OpenSCENARIO 2.X版本:V2.0.1和V2.1.0。


联合项目可能会在融合期间为OpenSCENARIO定义新的特性,但是这些特性必须在OpenSCENARIO 1.X和OpenSCENARIO 2.X中都得到映射。一旦OpenSCENARIO的融合版本发布,OpenSCENARIO 1.X将进入维护模式,即不会再添加任何新特性。从那时起,新特性将只在融合的ASAM OpenSCENARIO中可用。融合版本将基于DSL和域模型进行描述和开发。到目前为止,融合版本暂不支持XML格式。

分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026917号-25