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

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

3天内不再提示

手把手教你搭建OpenDRIVE道路模型(上)

经纬恒润 2024-11-13 17:24 次阅读

OpenDRIVE作为一种高度专业化的道路建模标准格式,采用XML数据语言构建,其核心优势在于能够精确且详尽地刻画道路网络的几何特征,包括但不限于车道宽度、曲率、坡度以及道路交叉口的复杂布局。它不仅涵盖了基础的道路元素,还深入到了交通基础设施的细节层面,如交通标志的位置与类型、交通信号灯的相位与时序、道路表面的材质与摩擦系数等,为自动驾驶算法和高级驾驶辅助系统(ADAS)提供了全面且精确的环境感知基础。

此外,OpenDRIVE支持灵活的道路网络拓扑结构定义,能够处理环路、分支、合并等多种复杂道路形态,并通过层次化的节点和链接设计,有效管理大规模道路数据的组织与访问。这种结构化的建模方式简化了自动驾驶系统对复杂交通场景的理解与应对,提升了系统的安全性、可靠性与适应性。

在自动驾驶技术的研发与验证阶段,OpenDRIVE格式的数据被广泛应用于仿真测试平台的搭建,帮助开发者在虚拟环境中对算法进行高效迭代与优化,从而加速自动驾驶技术的商业化进程,推动汽车行业向更加智能化、自主化的未来发展。

经纬恒润动力学仿真软件ModelBase遵循国际道路标准OpenDRIVE标准,开发内嵌了道路编辑器,可用于对仿真测试过程中的车辆行驶工况进行搭建。从搭建的形式上,软件支持通过导入OpenDRIVE格式文件来自动生成道路,然后可利用道路编辑器在此基础上进行编辑修改,或是从零开始进行道路模型的创建。当然,编辑后的道路模型也可以OpenDRIVE格式对外导出使用。

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

wKgaomc0bQuACdmGAAEPuMqp5gM322.png

图1 道路编辑器操作界面

绘制工具栏

通过鼠标左键单击可实现对工具栏中不同功能按钮间的切换,这些功能包括以下多种选择。

  • 选择

用于对编辑区域内的Road、Junction、Signal和Object等进行选中,然后用于在右侧的参数配置界面对这些元素进行详细的特征编辑,或是进行复制粘贴、删除等操作。

  • 移动旋转

在选中编辑区域内的Road、Signal和Object等元素,可通过拖拽形式对其位置进行移动,或结合右侧的路网参数配置窗口以参数输入形式对元素的位置和角度进行调整。

  • 局部放大

用于在编辑区域内对添加后的元素进行放大显示。

  • 创建直路

用于实现在编辑区域内进行直路的创建。在具体操作时,用鼠标左键在编辑区域内单击点下第一个点作为直路的起点,移动鼠标,此时在第一个点和鼠标移动点之间会出现一条黑色直虚线(直路中心线位置预览),当再次单击点下第二个点作为直路的终点后,一条直路便绘制完成了。

wKgZomc0bRyASofmAAvPpcy-ICY512.png
  • 创建圆弧路

用于实现在编辑区域内进行圆弧路的创建。在具体操作时,用鼠标左键在编辑区域内单击点下第一个点作为圆弧路的起点,移动鼠标,此时在第一个点和鼠标移动点之间会出现一条黑色直虚线(圆弧路起点位置切线方向预览),当确定好切线角度并再次点击鼠标左键后,在第一个点和鼠标位置之间将会出现一条黑色圆弧形虚线(圆弧路中心线位置预览),当单击点下第三个点作为圆弧路的终点后,一条圆弧路便绘制完成了。

wKgaomc0bUOAAyx_AAwFudGS94o605.png
  • 创建样条路

用于实现在编辑区域内进行任意形状样条路的创建。在具体操作时,用鼠标左键在编辑区域内单击点下第一个点作为样条路的起点,移动鼠标,此时在第一个点和鼠标移动点之间会出现一条黑色直线(该段样条路中心线位置预览),然后可再次单击点下第二个点作为道路的拐点位置,此时可继续移动鼠标,第二点和鼠标移动点之间同样会出现一条黑色直线。可依此重复操作,使样条路不断被延长,当想结束绘制时,单击鼠标右键即可退出编辑并得到一条样条路。

wKgZomc0bWmAC68DAA6-Wwt_QTQ409.png
  • 创建路口

用于进行交通路口的创建。在具体操作时,用鼠标左键在编辑区域内待添加路口附近单击点下第一个点,然后移动鼠标,在第一个点和鼠标移动点之间出现一个黑色矩形框,令矩形框囊括路口涉及路段后,可再次单击点下第二个点来确定矩形框的大小,随后可基于选择按钮对路口中道路的车道按实际需求进行连接。

wKgaoWc0bu6AGHDEACfXOM3Z8JA600.png
  • 自定义编辑道路配置

» 添加直路:用于对已创建好的直路/圆弧路/样条路以直路的形式进行延长

» 添加圆弧路:用于对已创建好的直路/圆弧路/样条路以圆弧路的形式进行延长

» 添加样条路:用于对已创建好的直路/圆弧路/样条路以样条路的形式进行延长

» 合并道路:用于对两条不同道路路段进行前后连接合并

» 切割道路:功能与合并道路相反,用于将道路分割成多个路段

路网参数配置

在基于工具栏完成道路形状样式的绘制后,可通过“选择”按钮选中编辑区域内的Road、Signal和Object等元素,在界面右侧的路网参数配置窗口对更加详细的特征参数进行具体查看和编辑,包括以下几点。

  • 轨迹

用于不同样式道路的中心轨迹进行查看或编辑,其中包括:

» 直路:可查看和修改道路起点的X、Y坐标,以及道路的航向角和长度

» 圆弧路:可查看和修改道路起点的X、Y坐标和切线方向的航向角,以及圆弧路的长度和转弯半径

» 样条路:可查看道路起点的X、Y坐标和切线方向的航向角,以及道路长度和形状拟合多项式系数

  • 车道

用于对道路进行车道颗粒度的特征编辑,可编辑参数包括车道的类型、宽度、高度、最大行驶速度和附着系数,以及车道线样式等。

  • 高程

可结合偏移量对道路中选定路段的高程值进行设置,进而实现对道路坡度的编辑。

  • 超高

结合偏移量对道路中选定路段的侧倾角进行设置。

  • 类型

可用于对道路的类型参数(如最大车速)进行设置。

  • 中心偏移

可结合偏移量对道路中选定路段的中心线偏移量进行设置。

  • 前驱后继

用于对选定道路的前驱和后继道路类型、ID进行查看。

  • 地形

用于对道路两侧进行平原、高山、森林、山区、耕地和建筑等地形环境的添加,并可对添加区域范围进行编辑。

以上是使用ModelBase搭建OpenDRIVE道路的操作说明,如何进一步丰富实现静态场景,敬请关注《手把手教你搭建OpenDRIVE道路模型(下)》

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

ModelBase软件可免费申请试用,只需要发送【姓名、联系电话、邮箱、公司/学校名称、部门/院系、申请版本(动力学版本/智能驾驶版本)】信息到market_dept@hirain.com即可。

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

    关注

    50

    文章

    4057

    浏览量

    133480
  • Drive
    +关注

    关注

    0

    文章

    30

    浏览量

    16366
  • 道路模型
    +关注

    关注

    0

    文章

    2

    浏览量

    5618
  • 动力学建模
    +关注

    关注

    0

    文章

    3

    浏览量

    938
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

    手把手教你使用物模型连接DDSU电表

    模型其实就是云平台对产品功能的数字化描述。以“灯”为例,最简单的“灯”具有“开”和“关”属性,只需要在平台定义一个布尔量的数据点位,有些高级的“灯”还具有“亮度”、“色温”、“颜色”等属性,可以
    的头像 发表于 06-14 08:21 400次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>使用物<b class='flag-5'>模型</b>连接DDSU电表

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

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

    手把手带你移植HAL库函数

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

    手把手教你PCB怎么画GND?

    模拟电路的考核核心指标就是信号的精度。失去精度,模拟电路也就失去了原本的功能意义。交流电源的地线CGND由于是正弦波,是周期性的上下波动变化,它的电压也是上下波动,不是像直流地线GND一样始终维持在一个0V不变。
    发表于 03-27 10:56 1232次阅读
    <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 789次阅读
    使用DPort-ECT<b class='flag-5'>搭建</b>EtherCAT从站step by step

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

    工程送样!手把手教你用好广和通RedCap模组FG131&FG132系列
    的头像 发表于 01-11 18:22 676次阅读
    工程送样!<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 4795次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>制作DAPLink

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

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