介绍一款基于Web的OpenScenario智驾场景管理与编辑工具
----------------------------------- 01 前 言 智能驾驶的测试,一直面临诸多挑战。如果要充分覆盖所有的驾驶场景,有研究机构推测需要行驶180亿公里,也就是说:100辆测试车,24小时工作,需要花费大约500年的时间。而且一旦软件发生变更和升级,之前的测试又要重来。这显然是不可行的。因此,引入仿真测试的方式是必不可少的。其中针对仿真测试的场景覆盖,需要构建一个完整的场景库,除了基于产品功能定义的场景外,还需要考虑功能安全、预期功能安全、法规标准、Corner Case等方面的场景,同时提供必要的接口与仿真平台对接,以支持海量场景的测试执行。本文重点介绍一款基于Web的OpenScenario智驾场景管理与编辑工具——AUTOSIM,满足功能场景定义、逻辑场景设计与具体场景设计的企业级多人协同开发需求。AUTOSIM Dashborad页面 02 功能场景定义 我们知道智能驾驶场景设计,其实不只是测试工程师的事。准确、合理的产品设计需要产品工程师和系统工程师协作完成。因此,AUTOSIM提供了一个单独空间-Definition用于功能场景的定义。功能场景定义功能场景的定义有一定层级结构,AUTOSIM将这种结构划分为“Feature”和“Function”两层。例如Cruise Control(巡航)被定义为一个Feature,而在这个Feature下,会细分Cut In,Cut Out,Stop&Go等多个Function。这些Feature和Function是可以基于企业要求,提前在设置页面灵活配置的。在具体功能设计时,直接从下拉菜单中选择即可,非常方便。功能场景的设计基本是语义层面的描述,新建一个功能场景可直接在对话框中完成。具体如下:功能场景定义过程考虑到用户存在多人协作,功能场景设计之后,需要发起评审。只有经过评审的功能场景才能生成独立的ID编码,以推进下一步的具体场景设计(支持场景的血缘追踪,这一点很重要)。 03 逻辑与具体场景定义 逻辑场景定义了场景的参数空间,而具体场景是从参数空间中选择具体的取值。在实现上述场景的过程中,AUTOSIM并没有再细分逻辑场景和具体场景,而是统一归到一个叫“Designer”的模块中,这样效果会更高。3.1 选择OpenDRIVE地图OpenScenaro场景的定义不能脱离于地图来设计。因此,首先应该选择具体的OpenDRIVE地图。AUTOSIM工具中,在Configuration模块下提供了一个地图库,用户可以提前将设计好的OpenDRIVE地图上传到该库中,并浏览地图的轮廓。OpenDRIVE地图库3.2 设置主车和目标车运动属性由于篇幅关系,这里只将OpenScenaro最核心的ego(主车)和目标对象的设置做一个介绍。在ego子页面主要配置主车的起始位置,朝向信息。在目标对象子页面主要配置目标车辆、非机动车的数量、位置、初速度,以及Maneuver与Event等信息。该部分可以详细参考OpenScenario标准。ego主车和目标对象的设置设置完ego和目标之后,此时用户就可以尝试运行“浏览”功能,看看实际场景与自己的意图是否相符。在AUTOSIM中,集成了es mini插件,用户可以非常便捷地看到动态效果。3.3 场景泛化前面提到,在AUTOSIM中没有独立设计所谓的逻辑场景和具体场景,而是配置了个“参数泛化”功能。用户可选择需要被泛化的参数(例如目标车速、距离、变道时间等),一键泛化生成海量场景。需要注意的是,这些参数之间是存在一些约束条件的,AUTOSIM中提供了约束配置方式。泛化后的场景,用户必须有一定的专业知识做一些裁剪,剔除无效场景。场景的参数化泛化 04 场景应用 在AUTOSIM中设计好的具体场景,可以下载到SIL/HIL/VIL等平台中,直接运行(必须兼容OpenX系列标准)。场景设计是一个相对专业的过程,功能场景的设计和Designer中的具体场景设计,都需要经过评审。所以,在AUTOSIM中做了明确的权限设计,一些环节的交付产物,是需要经过评审确认之后,才能往下游传递。在应用阶段,用户可以挑选已经经过评审的场景子集,测试时不必进行全量测试,而是按需构建测试范围,以适配项目不同阶段的测试要求。本文完。来源:车路漫漫