0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

手把手教你搭建OpenScenario交通场景(上)

经纬恒润 2024-11-15 18:51 次阅读

OpenScenario是一种专为自动驾驶系统仿真测试设计的场景描述语言,它基于XML格式,旨在提供一个标准化、模块化的框架,用于定义和重现复杂的道路交通场景。该语言不仅能够详细描绘车辆、行人、交通信号及其他动态交通参与者的行为模式,还涵盖了环境条件(如天气、光照)和道路基础设施的设定,为自动驾驶系统的验证提供了丰富且逼真的测试环境。

与OpenDRIVE专注于静态道路网络建模不同,OpenScenario更多地聚焦于动态交通场景的构建,它允许开发者灵活设定车辆间的交互逻辑、事故触发条件、紧急避让情形等,以全面评估自动驾驶系统在各种极端或异常状况下的反应能力。通过OpenScenario,开发者能够创建从简单的直行、转弯测试到复杂的城市拥堵、高速公路超车、夜间行驶等多种场景,确保自动驾驶系统在面对真实世界复杂多变的交通环境时,能够做出安全、合理的决策。

经纬恒润动力学仿真软件ModelBase基于OpenScenario1.0标准,开发内嵌了场景编辑器,可用于对仿真测试过程中的车辆行驶道路模型之外,继续进行周边动态场景的搭建。从搭建的形式上,软件支持通过导入OpenScenario1.0格式文件来实现场景的自动复现,然后可利用场景编辑器在此基础上进行编辑修改,或是从零开始进行动态交通场景的创建。从两者的关系来看,交通场景依赖于道路模型存在,而在同一个道路模型下,可创建多个不同交通场景,并支持通过选择激活的形式进行待运行场景间的切换。当然,编辑后的交通场景也可以OpenScenario格式对外导出使用。

下面我们来一起看一下场景编辑器的功能和操作使用方法,场景编辑器的操作界面如下图所示。

wKgZomc1tUyAb5d8AAGOItBpg88443.png

菜单栏

场景编辑器的菜单栏中包括文件、编辑和窗口三个选项,通过将鼠标放着在选项上将自动弹出其对应的下拉选项,然后可使用鼠标左键单击进行具体的功能选择,其中:

  • 文件:用于对场景文件进行操作,包括新建、打开、保存和地址另存为
  • 编辑:囊括了工具栏中的场景编辑工具,可在交通场景编辑过程中进行使用
  • 窗口:用于管理编辑器布局中窗口的显示和关闭

工具栏

为便于用户在交通场景搭建过程中对编辑工具进行快速调用,编辑器将菜单栏--编辑中的工具显示在工具栏,通过鼠标左键单击可直接进行选择或切换,包括以下几个方面。

  • 创建车辆

进入车辆模式,点击后的鼠标光标在编辑器内将变为蓝色小车图标,通过在道路中再次点击来进行放置,从而实现一个车辆实体的初步创建。创建完成后,界面中将自动弹出“车辆行为设置”对话框,可对车辆信息和行驶路线等初始状态进行预设,并以“触发条件+车辆行为”组合的形式对行驶过程中车辆的行为变化情况进行预设,其中需要重点关注的有:

① 在初始状态--车辆信息中,新增车辆默认为非主车(交通车),将自动生成命名并在编辑器界面中显示为蓝色;通过选择为主车以后,可通过“名称”下拉选项与工程中已创建的车辆动力学模型进行绑定,主车在编辑器界面中显示为黄色,以示与交通车之间的区别。

② 在初始状态--行驶路线中,选择“指定不规则轨迹”或“指定车道路线”模式前,需提前定义与之对应的“轨迹”或“路线”,之后可在下拉选项中进行选用。

③ 在触发条件及行为子界面中,可在车辆行为列表中创建一个或多个event,然后可以测试需求,对event的触发条件进行定义,并选择车辆在此阶段发生的横纵向行为变化。另外,也可以通过SCP指令作为一种特殊的行为定义形式,实现对车辆行为或交通场景变化的控制。

wKgaoWc3JzCAJ2tWAIE4xnuQfno545.pngwKgZoWc3JziAY-7NAHYkN2I9Tp0024.png
  • 创建行人

进入行人模式,点击后的鼠标光标在编辑器内将变为人形图标,通过在道路中或路旁再次点击来进行放置,从而实现对一个行人实体的初步创建。创建完成后,界面中将自动弹出“行人行为设置”对话框,可对行人的位置、外观模型和初速度信息和行驶路线等初始状态进行预设,并以“触发条件+行人行为”组合的形式对不同触发条件下行人的行为变化情况进行预设。例如,可实现定义行人行走的不规则轨迹,然后将触发条件设置为相对于车辆位置进行触发,随后令其行走速度由无到有进行变更,由此可实现行人横穿道路这一交通场景的搭建。

wKgaoWc3JzuAJeOVACmeZfUYt9Q305.pngwKgZoWc3Jz-AA8BSAB-CvtZrRVw219.png
  • 创建物体

进入物体模式,点击后的鼠标光标在编辑器内将变为物体图标,通过在道路中或路旁再次点击来进行放置,从而实现对一个物体实体的初步创建。创建完成后,界面中将自动弹出“物体配置”对话框,可对物体的名称,外观(物体模型),放置位置和角度等进行设置。

wKgaoWc3J0eAU7tEABq581CsQqE794.png

通过对车辆、行人和物体模型进行选择,ModelBase支持令这些实体在动画界面中呈现出不同的外观样式,如下图所示。

wKgZomc1tUyAb5d8AAGOItBpg88443.png

进入RSU模式,点击后的鼠标光标在编辑器内将变为RSU图标,通过在道路中或路旁再次点击来进行放置,从而实现对一个RSU实体的初步创建。创建完成后,界面中将自动弹出“V2X信号配置”对话框,可用于对场景中车辆的OBU进行开启/关闭,或对RSU的基础参数和对外发送的事件信息等进行配置。RSU模块主要用于V2X仿真测试工况的搭建,上述V2X配置界面也可以通过工具栏中的“V2X编辑”按钮进行开启。

在完成上述行为设置后,可通过点击界面右下角的“确认”按钮进行关闭,当然,后续如需对实体再次进行修改设置,可通过鼠标左键双击界面中的实体标志重新打开配置界面。至此,创建实体的方法已介绍完毕,了解更多场景搭建教程,敬请关注《手把手教你搭建OpenScenario交通场景(下)》

ModelBase是经纬恒润自主研发的综合驾驶测试仿真软件,具备车辆动力学模型及智能驾驶场景仿真能力,可用于乘用车、商用车的整车电控系统、ADAS系统的设计、测试和验证。可以覆盖电控系统的整个开发周期,包括早期的算法仿真测试(MIL/SIL),控制器硬件在环测试(HIL),半实物台架测试(如电机台架、动力系统台架、整车台架等),以及车辆在环测试(VIL)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • XML
    XML
    +关注

    关注

    0

    文章

    188

    浏览量

    33076
  • 仿真测试
    +关注

    关注

    0

    文章

    81

    浏览量

    11301
  • 自动驾驶
    +关注

    关注

    784

    文章

    13782

    浏览量

    166351
收藏 人收藏

    评论

    相关推荐

    源码开放 智能监测电源管理教程宝典!

    源码开放,今天我们学习的是电源管理系统的核心功能模块,手把手教你如何通过不同的技术手段实现有效的电源管理。
    的头像 发表于 12-11 09:26 192次阅读
    源码开放  智能监测电源管理教程宝典!

    Air780E模组LuatOS开发实战 —— 手把手教你搞定数据打包解包

    本文要说的是低功耗4G模组Air780E的LuatOS开发实战,我将手把手教你搞定数据打包解包。
    的头像 发表于 12-03 11:17 140次阅读
    Air780E模组LuatOS开发实战 —— <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>搞定数据打包解包

    手把手教你通过宏集物联网工控屏&amp;网关进行协议转换,将底层PLC/传感器的数据转换为TCP协议并传输到用户

    手把手教你通过宏集物联网工控屏&网关进行协议转换,将底层PLC/传感器的数据转换为TCP协议并传输到用户终端
    的头像 发表于 08-15 13:29 496次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>通过宏集物联网工控屏&amp;网关进行协议转换,将底层PLC/传感器的数据转换为TCP协议并传输到用户

    手把手教你在orcad中设置CIS元器件数据库,提高工作效率

    元器件数据库,就是实现上述查找元件、放置元件时所需要调用的数据库。本文将手把手教你如何在orcad中配置CIS元器件数据库。
    的头像 发表于 06-15 17:27 5921次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>在orcad中设置CIS元器件数据库,提高工作效率

    手把手教你排序算法怎么写

    今天以直接插入排序算法,给大家分享一下排序算法的实现思路,主要包含以下部分内容:插入排序介绍插入排序算法实现手把手教你排序算法怎么写在添加新的记录时,使用顺序查找的方式找到其要插入的位置,然后将
    的头像 发表于 06-04 08:03 676次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>排序算法怎么写

    手把手带你移植HAL库函数

    开发者更高效地进行嵌入式开发。手把手带你移植HAL库函数HAL库提供了一套抽象接口,使开发者无需直接操作底层硬件寄存器,就能实现对硬件的控制。这种抽象使得代码能够更
    的头像 发表于 05-18 08:04 1847次阅读
    <b class='flag-5'>手把手</b>带你移植HAL库函数

    手把手教你PCB怎么画GND?

    模拟电路的考核核心指标就是信号的精度。失去精度,模拟电路也就失去了原本的功能意义。交流电源的地线CGND由于是正弦波,是周期性的上下波动变化,它的电压也是上下波动,不是像直流地线GND一样始终维持在一个0V不变。
    发表于 03-27 10:56 1296次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>PCB<b class='flag-5'>上</b>怎么画GND?

    无刷电机无感FOC控制培训系列课程

    | 本工作室推出电机控制无感foc电机控制系列培训课程本课程主要让想进阶的算法工程师,和刚参加工作的工程师或者在校学生能够进一步提高自己的技能,1.从企业用人角度手把手教你做电机控制,提高你的个人
    发表于 03-10 13:52

    【先楫HPM5361EVK开发板试用体验】(原创)5.手把手实战AI机械臂

    HPMicro 【先楫HPM5361EVK开发板试用体验】2手把手实战密钥管理器 KEYM 【先楫HPM5361EVK开发板试用体验】3手把手实战安全数据处理器 SDP 【先楫HPM5361EVK开发板
    发表于 02-06 10:28

    【飞腾派4G版免费试用】4.手把手玩转QT界面设计

    完成了使用Qt Designer进行界面设计的全部流程!是不是觉得像魔法一样神奇呢?赶紧试试吧! 接上三篇: 【飞腾派4G版免费试用】1.实战交叉编译环境搭建手把手uboot编译 【飞腾派4G版免费
    发表于 01-27 12:49

    使用DPort-ECT搭建EtherCAT从站step by step

    为了让客户更好地使用ZLG致远电子的集成式EtherCAT从站模块DPort-ECT,本文手把手教你如何使用DPort-ECT模块和EPC6450-DP评估板快速搭建一个的EtherCAT从站。设备
    的头像 发表于 01-26 08:25 816次阅读
    使用DPort-ECT<b class='flag-5'>搭建</b>EtherCAT从站step by step

    工程送样!手把手教你用好广和通RedCap模组FG131&amp;amp;FG132系列

    工程送样!手把手教你用好广和通RedCap模组FG131&FG132系列
    的头像 发表于 01-11 18:22 692次阅读
    工程送样!<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>用好广和通RedCap模组FG131&amp;amp;FG132系列

    【飞腾派4G版免费试用】3.手把手玩转制作rootfs根文件系统

    接上两篇:【飞腾派4G版免费试用】1.实战交叉编译环境搭建手把手uboot编译 【飞腾派4G版免费试用】2.手把手实战编译Linux内核 嗨,亲爱的工程师、学生和爱好者们,我来啦!今天我要带
    发表于 01-09 10:49

    手把手教你制作DAPLink

    这篇文章主要描述利用RT-THREAD+CherryUSB制作DapLink调试器(R_DapLink)全流程。这里先感谢网友:sakumisu提供cherryUSB协议栈的技术支持。 什么是下载调试器简单来说,下载调试器是将PC(例如通过USB协议)发送的命令转换为MCU(负责MCU内部外围设备)理解的语言(例如SWD或JTAG协议)的设备,加载代码并精确控制执行。 什么是标准简单来说,标准是一组规则和协议,特定行业中的每个参与者都同意遵循并执行。符合某种内核的单片机Q,都可以使用这种协议来下载程
    的头像 发表于 12-26 08:35 4946次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>制作DAPLink

    PCB怎么画GND?手把手教你画“GND”

    不要跨步“GND” 还有一些受制于结构导致的,某一个模块本应完整的GND,被其他走线分割成多个区域的跨步GND。例如下图的PCB电路所示,电源输入的负极接上PCB板后直接变成“GND”也就是①位置,往电源模块过去的方向上,①与②之间被信号线隔断
    发表于 12-22 17:38 1784次阅读
    PCB<b class='flag-5'>上</b>怎么画GND?<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>画“GND”