当前位置: 首页 > news >正文

自动驾驶功能场景 逻辑场景 具体场景解释

一.自动驾驶场景抽象分级

为了描述交通事件的演变,我们需要考虑环境的快照,称之为Scene(即情景)。 Scene包含环境、静态和动态交通要素、所有行动者和观察者的表现,以及这些实体之间的关系。与Scene不同,Scenario(即场景)描述的是时间跨度。场景是对一系列情景随着时间推移的演变的描述。为了描述场景的时间发展,我们使用了行动和事件以及相关参与者的目的地和对应的参数值,而场景的描述也可以根据需求和应用目的的不同而分成不同的层级。
2018年,德国PEGASUS项目提出了场景三层抽象分级,即功能场景、逻辑场景、具体场景,并在全球范围内获得了行业的一致认同,逐渐成为了行业通用的场景分级标准。然而从2018年至今,人们在该分级模型的应用实践中发现,三层分级模型对于当前的驾驶场景工程应用,尤其是在仿真工程应用中渐渐显露出它的局限性。因此,2021年,由PEGASUS的后续项目VVM(Verification and Validation Method)中的专家提出了场景四层抽象分级模型概念,在三层分级模型的基础上,新增了抽象场景这一层级,并被ISO 34501采纳,纳入了国际标准体系。
下图展示了场景四层抽象分级模型及其之间的关系,从功能场景-抽象场景-逻辑场景-具体场景,抽象化程度逐渐降低,但场景数量逐渐增加。接下来的各小节,将对四层模型的概念进行展开介绍。

1.1 功能场景(Functional Scenario)

功能场景是抽象行为场景的非形式化(Non-formal)的自然语言描述。这种描述是一种非控制的、自由风格的语言,通常指的是功能规范。它不是机器可读(machine-readable)的,但也可能支持某些元素的可视化表达。通常人们将功能场景描述形式用于创建场景的第一步,它的抽象程度是最高的,场景数量最少。

一个典型的功能场景描述如下:
基本道路信息:三个机动车车道线的曲线道路,交通标志限速100km/h;
静态目标:无;
动态目标:交通堵塞,主车靠近中间车道,车流缓慢同行;
环境:夏天、下雨。

1.2 抽象场景(Abstract Scenario)

抽象场景是形式化的、机器可阅读的、声明式的描述(如对发生事件的限制),并能有效的描述复杂关系(如因果关系)。这一级别的描述是人机可读的,允许工具将其作为输入格式读取、处理和合成工件。当然,抽象场景也可以用自然语言表达,功能场景和抽象场景之间的区别在于,抽象场景是正式的且机器可读的。抽象场景描述通常与一个本体(或者更确切的说是本体家族)紧密联系在一起,大大提高了所使用术语的精度。
抽象场景可以使用约束条件捕捉属性和行为之间的依赖和关系。这一抽象水平适用于场景演示和ODD的描述需求。
典型的抽象场景描述示例:
“An emergency vehicle in a three-lane motorway.” 一辆紧急车辆(如救护车)在三车道上行驶。
“An aggressive cut-in by a large vehicle.” 一辆大型车强行切入(主车前方)。

1.3 逻辑场景(Logical Scenario)

逻辑场景是一组场景的参数化表示,其中影响因素通过参数范围和分布来描述,并允许参数的变化。在此场景中不指定所有参数的具体值,但提供值的可选范围。其目的是在仿真或测试的过程中,通过选择范围外的具体数值来允许参数值的变化。可以通过预定义步骤、分布函数或者随机性来实现。逻辑场景的自由维度构成了一个场景空间。
一个典型的功能场景描述如下:
基本道路信息:车道宽[3…3.5]m,曲率半径[0.6…0.9]km,交通标志位置[0…200]m;
静态目标:无;
动态目标:交通拥堵车流终点[10…200]m,交通拥堵车流速度[0…30]km/h,主车距离[50…300]m,主车速度[80…130]km/h;
环境:温度[10…40]℃,雨水颗粒尺寸[20…100]µm。

1.4 具体场景(Concrete Scenario)

具体场景是一个单一的场景,它精确地描述一个特定的情景和带有固定参数的事件链,并可以被特定语言描述出来,如OpenDRIVE 和 OpenSCENARIO。一般情况下,一个具体场景可以由固定一个逻辑场景的所有参数取值演变而来,与之相反的,一旦没有提供具体场景的某一参数值,该场景就会成为一个逻辑场景。
一个典型的具体场景描述如下:
基本道路信息:车道宽[3]m,曲率半径[0.8]km,交通标志位置[50]m;
静态目标:无;
动态目标:交通拥堵车流终点[60]m,交通拥堵车流速度[10]km/h,主车距离[150]m,主车速度[90]km/h;
环境:温度[25]℃,雨水颗粒尺寸[40]µm。

转自:

https://zhuanlan.zhihu.com/p/608572003#:~:text=%E4%B8%80.%E8%87%AA%E5%8A%A8%E9%A9%BE%E9%A9%B6%E5%9C%BA%E6%99%AF%E6%8A%BD%E8%B1%A1%E5%88%86%E7%BA%A7%201%201.1%20%E5%8A%9F%E8%83%BD%E5%9C%BA%E6%99%AF%EF%BC%88Functional%20Scenario%EF%BC%89%20%E5%8A%9F%E8%83%BD%E5%9C%BA%E6%99%AF%E6%98%AF%E6%8A%BD%E8%B1%A1%E8%A1%8C%E4%B8%BA%E5%9C%BA%E6%99%AF%E7%9A%84%E9%9D%9E%E5%BD%A2%E5%BC%8F%E5%8C%96%EF%BC%88Non-formal%EF%BC%89%E7%9A%84%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E6%8F%8F%E8%BF%B0%E3%80%82%20…%202,4%201.4%20%E5%85%B7%E4%BD%93%E5%9C%BA%E6%99%AF%EF%BC%88Concrete%20Scenario%EF%BC%89%20%E5%85%B7%E4%BD%93%E5%9C%BA%E6%99%AF%E6%98%AF%E4%B8%80%E4%B8%AA%E5%8D%95%E4%B8%80%E7%9A%84%E5%9C%BA%E6%99%AF%EF%BC%8C%E5%AE%83%E7%B2%BE%E7%A1%AE%E5%9C%B0%E6%8F%8F%E8%BF%B0%E4%B8%80%E4%B8%AA%E7%89%B9%E5%AE%9A%E7%9A%84%E6%83%85%E6%99%AF%E5%92%8C%E5%B8%A6%E6%9C%89%E5%9B%BA%E5%AE%9A%E5%8F%82%E6%95%B0%E7%9A%84%E4%BA%8B%E4%BB%B6%E9%93%BE%EF%BC%8C%E5%B9%B6%E5%8F%AF%E4%BB%A5%E8%A2%AB%E7%89%B9%E5%AE%9A%E8%AF%AD%E8%A8%80%E6%8F%8F%E8%BF%B0%E5%87%BA%E6%9D%A5%EF%BC%8C%E5%A6%82OpenDRIVE%20%E5%92%8C%20OpenSCENARIO%E3%80%82%20

相关文章:

  • 【Linux系统】线程
  • 复盘-word
  • 公众号IP白名单已添加服务器IP 122.88... 依然给出 40164 错误
  • 探索Java多线程开发
  • CSS3基础2
  • MySQL中的JOIN操作
  • Day19:信息打点-红蓝队自动化项目资产侦察武器库部署企查产权网络空间
  • PostgreSQL常用命令汇总
  • WPF DataGrid常用属性
  • AHU 数据库 实验五
  • 【论文整理】自动驾驶场景中Collaborative Methods多智能体协同感知文章创新点整理
  • STM32FreeRTOS信号量(STM32cube高效开发)
  • LeetCode 120. 三角形最小路径和
  • 探索机器学习的无限可能性:从初学者到专家的旅程
  • Jenkins中构建vue项目过程中vite进程被终止(kill),导致vue项目构建失败
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • canvas 五子棋游戏
  • CSS实用技巧
  • JavaScript服务器推送技术之 WebSocket
  • PHP 7 修改了什么呢 -- 2
  • Python 反序列化安全问题(二)
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • SpringBoot 实战 (三) | 配置文件详解
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • WebSocket使用
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 如何设计一个微型分布式架构?
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 我从编程教室毕业
  • 一些css基础学习笔记
  • 移动端 h5开发相关内容总结(三)
  • 【云吞铺子】性能抖动剖析(二)
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • # C++之functional库用法整理
  • # centos7下FFmpeg环境部署记录
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (31)对象的克隆
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (十三)Maven插件解析运行机制
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (四)linux文件内容查看
  • (转)iOS字体
  • (转)visual stdio 书签功能介绍
  • (转载)Linux 多线程条件变量同步
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .net Stream篇(六)
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • .NET学习教程二——.net基础定义+VS常用设置
  • /deep/和 >>>以及 ::v-deep 三者的区别