自动驾驶车辆技术有可能对交通系统和城市生活产生重大影响。然而,在被接受为一种新的交通方式之前,必须证明自动驾驶车辆至少与人类驾驶车辆一样安全。目前的自动驾驶车辆验证方法,如阴影驱动或基于注释图像的测试,成本高,速度慢。因此,建模与仿真是实现自动驾驶车辆验证目标必不可少的工具。

本文提出了一种用于自动驾驶车辆验证的抽象仿真场景生成框架。场景和相关断言由基于矩阵的语义语言定义,并在仿真中转化为测试场景。该框架允许设计所有可能的道路拓扑并验证生成的场景。框架中生成的场景为其他平台中可能的罕见条件扩展测试提供了基本事实。这项工作有四个主要贡献:

  • 开发了一种模拟方法,在生成场景时使用语义语言定义场景。

  • 提出了一种在模拟中用每种可能的线或曲线组合组成道路的方法,这对于实现真实道路的建模至关重要。

  • 定义了一种方法,将不同车道数的路段相互缝合,而不会在模拟中产生错误。

  • 为建议方法中的每个附加路段提出了一种自我验证方法,这对模拟效率至关重要。

目前的大多数方法都是针对整车堆栈进行测试,从场景感知和理解到在场景中做出行动决策。在我们的方法中,我们主要关注决策步骤。换言之,我们的方法旨在测试被测AV的决策,在任何其他条件下都没有任何问题。这个焦点决定了仿真平台。该框架需要对物理世界进行简单的建模,而不需要对环境条件进行详细描述。为此,选择MATLAB作为仿真平台。MATLAB ADAS工具箱将场景中的参与者简单地表示为方框。

图1显示了模拟框架组件的分解。中间的灰色区域是AV的大脑,通过输入创建的场景运行。顶部的模块定义了用户如何与框架交互以生成场景。仿真框架从主程序开始,主程序有一定的调整和输入选项。然后根据这些输入随机生成场景,并将其输入到实际模型中。在这里,生成场景,将ego车辆(测试中的车辆)放入其中,并在整个感知、做出决策和采取行动的循环中运行每个步骤,ego车辆对其作出响应。

在运行期间和运行之后收集模拟数据。数据点包括每个决策的安全性和合法性以及场景的定义。由于场景是由特定的输入生成的,因此可以在需要时重新创建场景。

A、

语义语言

模型必须能够创建场景来反映所有可能的情况。我们开发了一种语义语言,用于分解定义场景的因素,包括道路、参与者和交通逻辑。因此,我们的方法的第一阶段是创建这种语义语言。第一种语义语言方法使用字符串结构和相关规则,如下所示:

  • 道路生成从与正则表达式匹配的字符串开始。

  • 道路类型为大写字母。

  • 参数以小写字母表示。

  • 数值放在参数之后。

根据这些规则,从命令行获取输入,并解析形式语法以生成标记。令牌还具有上下文敏感的参数,这些参数包含在每种类型的令牌中。开发令牌及其属性如下表所示。

生成所有令牌后,它们将用于为模拟的输入文件生成适当的xml段。每个路段都有一个唯一的id号,该编号与场景的全局id变量一起使用,该变量随每个路段递增。还有一个全局点数组,用于确定下一个路段的位置,并在xml生成时自动更新。

图2显示了使用示例字符串“05d0A115A180d1A132BCCX150d0A110A1405”在PreScan和MATLAB Simulink中创建的模拟场景。PreScan是模拟AVs和AVs上所有传感器配置的最全面的仿真平台之一。但是,这些细节在逻辑场景生成阶段是不必要的。MATLAB ADAS工具箱将对象简化为三维长方体,并将道路简化为它们所遵循的路线以及其他一些次要细节。这种场景生成方法使其成为适合本方法的工具。在最初的基于字符串的语言实现之后,在MATLAB中不仅包括输入模式,还包括系统的断言。因此,下一次迭代的实现包括一个基于矩阵的系统来概括场景特征并创建一个高效的标签和分类系统。数值矩阵作为输入读取,其中每一行是一个不同的断言,描述一个单独的路段或参与者,然后可以对其进行分析以生成场景。为了做到这一点,道路网和参与者被简化为牛顿物理学中最基本的元素,如质心和尺寸。然后根据实际情况对这些元素进行参数化。值得注意的是,该模型不包含任何环境因素。在本框架中创建的示例场景如图3所示。该实例展示了实施方法在实际测试中的潜在能力,例如具有可变车道数的路段、多个参与者和车道标记的组合。

B、

道路拓扑生成

在模拟中放置道路需要道路中心、每个中心处的道路宽度、倾斜角度和车道的详细信息。然后,生成道路就是获取输入并将其转换为道路在场景上下文中遵循的一系列点。输入中的第一个值定义将创建的道路类型。通过将道路限制为特定的路段,可以将生成的场景限制为真实的道路网络和情况。生成每个路段时,通过旋转将其缝合到上一个路段上,以便沿第一个点的切线与上一个路段最后一个点的切线对齐,并在驾驶场景中将其移动到该坐标。在两个连续的片段之间,还存在一个中间片段来平滑具有不同车道数的两个片段之间的过渡。

1 参数

一旦约束到代表最常见道路(如直线道路、交叉口等)的不同部分,可以概括为大多数到所有部分的细节必须定义为参数。某些参数只能应用于单个工件。因此,为了节省记忆,其中一些被赋予了新的意义,在不同的作品。模型中的参数如表二所示。随着更多的部分被定义和实现,参数也将被扩展以描述所有必须考虑的新细节。

2 道路和几何图元

第一种类型的道路是打算成为最简单的道路,并作为一个更复杂的道路积木。它被称为“多车道道路”,由可变车道组成,在由几何图元组成的直线上单向或双向行驶。如图4所示,这些几何图元包括直线、圆弧和以恒定速率改变曲率的回旋曲线。

单一道路的所有常见形式都可以通过一组三个原语的排列来创建。要选择生成道路时使用的基本体,将使用输入中的两个曲率,表示起始曲率和结束曲率。如果其中一个曲率为零,它将从一条直线变为一条回旋曲线,该曲线将过渡到曲率不为零的圆弧。如果它们都是非零曲率,则该直线将随机变为回旋弧回旋线或弧线回旋弧形状。对于回旋弧回旋线形状,曲率从零开始,过渡到起始曲率,对于圆弧保持不变,然后过渡到最后一个回旋线中的结束曲率。对于圆弧回旋弧形状,直线从具有起始曲率的圆弧开始,使用回旋曲线过渡到结束曲率,并保持在最终圆弧的结束曲率。路段连接的示例如图5所示。

为了使基本体彼此无缝连接,第一个点的切线与最后一个基本体最后一个点的切线对齐。对于一条直线,面对的方向保持不变,因为它是在开始。但是,对于圆弧和回旋曲线,必须计算新的朝向。计算圆弧的新朝向,只需将圆弧的长度乘以曲率,然后根据圆弧的转向方式,将其与上一个朝向相加或相减即可。

回旋线:回旋线允许从一个曲率平滑过渡到另一个曲率,是真正的道路容易转弯利用。使用菲涅耳积分计算回旋面的点:

其中α用作规格化因子,L表示从起点到该点的长度,Sc并表示沿曲线的距离。对于回旋面,必须使用在形成点时计算的参数来计算朝向的变化:θ=L/2R,其中R表示最终曲率,θ是曲率的变化。这提供了一个不可靠的值,不能准确地表示更改。由于软件的精度水平与菲涅耳积分(用于计算回旋线),决定使用最后两点的反正切来计算新的面对方向。因为选择用来定义这条曲线的点的数量使它们非常接近,这就足以连接这些零件。

3 四路交叉口

模型中路段的一个重要示例是图6所示的4向交叉口。将每个连接到交叉口的道路定义为具有可变车道的多车道道路,并假设这些道路可以是单向的,也可以是双向的。

(一)道路布置:每一条道路的定位都是基于一个中心矩形计算出来的,以使所有道路尽可能靠近中心。四条道路中的每一条都可以有不同数量的车道,也可以是双向或单向的,这意味着它们也可以有不同的宽度。要计算矩形,将使用顶部和底部道路之间的最大宽度以及左侧和右侧道路之间的最大宽度来确定大小。顶部道路的中心与底部道路的中心对齐,左侧和右侧道路也是如此。为了基于该系统将道路移动到它们的坐标,根据它们之间的数学关系将它们从第一条道路的末端(沿矩形的底部道路的中心)移动。

(二)车道路径:由于场景从一个片段到另一个片段呈线性移动,因此只有底部片段的车道需要为车辆可以行驶的位置定义选项。其他道路对此有一个有限的版本,以便为其他参与者获得潜在的路径。如果选择左转,则从左侧开始最多两条车道设置为“仅左转”车道。设置为“仅左”的数量基于其他潜在方向的可用车道数以及向左行驶的可用车道数。如果还有更多车道,则将其设置为“仅向前”车道,直到有多少车道可向前行驶(如果有的话)。剩余车道设置为仅右转车道,最多可右转车道数,因为右转是一个选项。如果这是一个选项,并且没有左车道,则最右侧的车道将有额外的右行选项。如果有额外的车道可用,它们将被赋予与在另一侧合并的仅向前车道相同的行为。如果没有足够的车道,例如每个方向都有一条车道可供选择,则该车道被定义为中立车道,并允许这些方向中的任何一个。

C 、

扩展道路属性

生成道路时,将存储在道路对象中的来自输入的附加值,例如其条件和速度限制。速度限制反映在场景中,即在计算参与者的路径时。在道路计算过程中也会设置车道标记。它们作为一个数组传入,并带有每一行的属性。对于双向道路中的中心线,它被随机定义为双黄线或黄色虚线。也可以在中心设置一条转弯车道,该车道始终由黄色虚线包围。

D、

参与者生成

除了自我载体,场景中的参与者是随机产生的,也由不同的类型组成。包括汽车、卡车、行人等。他们在场景中可能采取的不同行为也被编程。这些措施包括行人横穿马路和车辆在车道外转弯。为车辆分配车道路径,这些车道路径是在生成道路时计算的,沿任一方向(从第一条道路到最后一条道路,反之亦然)从网络上的随机点开始。通过这种方式,整个道路可以有参与者贯穿始终,而不仅仅是跟随自我的车辆。

E、

测试场景生成

对于测试场景的生成,使用伪随机输入生成。将此方法集成到语义语言中可以确定置信度和覆盖率分析。测试的可重复性和覆盖率分析非常重要,因为它们提供了渐进式测试结构。

*本文来自本实验室侯中林的研究成果和学习笔记

面向自动驾驶车辆验证的抽象仿真场景生成相关推荐

  1. 用发型、妆容和面部形态解释人脸识别准确性的性别差异;在CARLA实施的基于交叉口情况覆盖的自动驾驶车辆验证和确认框架;迈向医学同行影响的Shapley价值图框架;确定运动想象脑机接口中各种用户状态和特

    中文标题:用发型.妆容和面部形态解释人脸识别准确性的性别差异 英文标题:Gendered Differences in Face Recognition Accuracy Explained by H ...

  2. 面向自动驾驶车辆的高效激光里程计(ICRA2021)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨泡泡机器人 来源丨泡泡机器人SLAM Efficient LiDAR Odometry for ...

  3. 百度Apollo自动驾驶车辆将在苏州太湖面向民众开放

    10月18日消息,苏州吴中区与百度Apollo共同举办的智能网联发展论坛在太湖国际会议中心召开.会上,由双方打造的全国首个"自动驾驶生态示范岛"正式落地,太湖生态岛自动驾驶车辆运营 ...

  4. 综述:城市道路自动驾驶车辆规划与控制技术

    作者 | 深蓝学院  编辑 | 深蓝AI 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[规划控制]技术交流群 后台回复[规划控制综述 ...

  5. 面向自动驾驶的边缘计算技术研究综述

    本文由吕品,许嘉,李陶深,徐文彪联合创作 摘要 边缘计算在自动驾驶的环境感知和数据处理方面有着极其重要的应用.自动驾驶汽车可以通过从边缘节点获得环境信息来扩大自身的感知范围,也可以向边缘节点卸载计算任 ...

  6. 面向自动驾驶的高精地图及数据采集生产体系

    前言:又到春招季!作为国民级出行服务平台,高德业务快速发展,大量校招/社招名额开放,欢迎大家投递简历,详情见文末.为帮助大家更了解高德技术,我们策划了#春招专栏#的系列文章,组织各业务团队的高年级同学 ...

  7. 面向自动驾驶的定位方法综述

    目录 1 引言 2 典型的单个定位方式 2.1 基于通信的定位方式 2.1.1 全球卫星导航系统定位 2.1.2 车联网定位 2.2 基于航位推测的定位方式 2.2.1 惯性测量单元定位 2.2.2 ...

  8. 城市场景中自动驾驶车辆基于高精度地图的视觉语义定位

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源丨自动驾驶专栏 论文链接:https://ieeexplore.ieee.org/document ...

  9. 自动驾驶CarSim和Simulink联合仿真的完美攻略!

    作者 | 车路慢慢 仿真秀科普作者 导读:大家好,我叫李慢慢,仿真秀专栏作者,某汽车主机厂汽车仿真工程师,正在筹备转岗.自2020年起,我就在仿真秀App分享ANSA教程和攻略,并学习自动驾驶仿真. ...

  10. 基于自动驾驶车辆的NVIDIA-TensorRT推理实时优化

    基于自动驾驶车辆的NVIDIA-TensorRT推理实时优化 Optimizing NVIDIA TensorRT Conversion for Real-time Inference on Auto ...

最新文章

  1. C语言求3x3数组对角线元素之和
  2. 如何把VS Code的Language Server Protocol整合到Eclipse中来
  3. Android studio导出的apk在真机上安装提示“文件不存在或已失效”的解决方法
  4. nodejs常用模块-url
  5. 一篇文章搞定css3 3d效果
  6. mysql镜像压缩包使用_如何连接docker的mysql镜像
  7. Linux: 不用密码直接用ssh 登入到远端电脑(RAS/DSA认证)
  8. 用jQuery实现一些导航条切换,显示隐藏
  9. 有哪些能识别英文的语音助手?
  10. 【SCIR笔记】ACL20 让模型“事半功倍”,探究少样本序列标注方法
  11. 【考研高数 自用】高数第一章基础阶段思维导图
  12. 怎么把录音导入库乐队_库乐队导入电脑版 苹果库乐队怎么导入歌
  13. CRACK秘籍之爆破
  14. 微信小程序(云开发)----微信支付
  15. Junit测试运行出现No tests were found
  16. java int short区别_Java基础之数据比较Integer、Short、int、short
  17. Android实现USB扫码枪获取扫描二维码
  18. 获取大麦网孟鹤堂演出数据并播报和在右下角弹窗提示
  19. Neo4J入门笔记[2]---Neo4J GDS 图数据科学库
  20. 【其它】visio画泳道图/跨职能流程图

热门文章

  1. 使用文件保险箱加密 Mac 上的启动磁盘
  2. 【9.8校内测试】【贪心/树规】【环覆盖问题】【线性规划】
  3. 年纪大了,这样转行linux运维
  4. docker minio部署作为shareX截图软件的图床
  5. Microsoft OneNote - 图片文字提取
  6. 原型图高保真和中保真的区别_最终确定您的高保真度UX概念验证
  7. 洛达AirPods鉴别检测工具AB153x_UT,支持1562a 1562f
  8. 计算机维护工具全能版,USBOS V3.0彪悍版
  9. psutil:系统、进程,信息都在我的掌握之中
  10. 群晖docker火狐_群晖docker安装chrome浏览器_动漫台