OpenX系列标准介绍(2):OpenDRIVE实例分析

|作者版权所有,未经许可谢绝转载,转载请联系[email protected]

“ 本系列尝试对ASAM OpenX系列标准进行介绍。这是第二篇:通过分析ASAM组织提供的一个OpenDRIVE地图实例,来进一步介绍OpenDRIVE格式。”

1 概览

本文使用的实例名称为UC_Simple-X-Junction-TrafficLights,可在ASAM官网https://www.asam.net/standards获取。OpenDRIVE查看工具odrViewer可到http://www.opendrive.org/download.html获取。以上两项都可关注公众号adsimtest,并回复“OpenDRIVE实例”来获取。

通过odrViewer打开实例,可以看到为一个十字路口,由中间的一个路口和四条支路构成,将鼠标放置在不同位置可以在窗口底部显示该点的坐标和道路id等信息。如下图:
OpenX系列标准介绍(2):OpenDRIVE实例分析
在上一章我们提到过OpenDRIVE文件按XML格式编写,文件扩展名为.xodr,可以使用文本编辑器打开。本文使用的实例文件打开如下图所示:
OpenX系列标准介绍(2):OpenDRIVE实例分析
<OpenDRIVE>为最顶层节点,其下是对构成路网的各个部分的描述。<header>中描述了文件遵循的OpenDRIVE版本和本文件的版本等信息,<road>中描述了组成整个路网的各条道路的信息,<controller>描述了不同红绿灯的控制器的信息,<junction>中描述了各个路口的信息。

那么一个十字路口为什么有16条road呢?

从上图可以看到16条road可以分为两组:属性中junction=-1和junction=1的。其中junction=1表示其属于id=1的junction,junction=-1表示其不属于任何一junction,即id=0,1,6,13的四条路为十字路口的四条支路,其他为junction的内部道路,也就是四条支路的连接路。

2 道路的描述

现在我们展开id=0的road的信息,如下图:
OpenX系列标准介绍(2):OpenDRIVE实例分析
其下有<link>、<planview>、<elevationProfile>、<lateralProfile>、<lanes>、<objects>、<signals>等标签。

<link>描述了本道路与其他道路的连接关系,<predecessor>中描述了本道路之前的道路id,<successor>中描述了本道路之后的道路id。<planview>分段描述了道路不同参考线的信息。<elevationProfile>、<lateralProfile>描述了道路高度的信息。<lanes>中描述了道路的不同车道的信息。<objects>和<signals>描述了道路上的物理和交通信号的信息。

对于车道,<lanes>中对不同id的车道分别描述其宽度和类型。如id=1的车道,其类型为行车道,宽度为3.75m。

对于交通信号,<signals>中分别描述了不同交通信号的位置、高度和id等信息。如id=0的road中包含3个交通信号:一个交通信息牌(id=4)、一个红绿灯(id=12)和一个停止线(id=0)。

3 路口的描述

道路的描述中对不同的道路分别给出了其前后连接的道路,这对于一般的道路足以描述其连接关系,但是对于路口道路的连接,却不能清楚的描述,于是需要使用junction。

junction下使用connection来描述不同的连接路,其属性中的id为该连接路在junction中的id,incomingRoad为该连接路的来路的id,connectingRoad为该连接路的id。laneLink中描述来路和连接路的车道的连接关系,from为来路的车道id,to为与其连接的连接路的车道id。
OpenX系列标准介绍(2):OpenDRIVE实例分析

4 红绿灯控制器的描述

前面/的/标签中定义了红绿灯的id和位置等,为了方便实现对红绿灯相位的控制,需要配置/。该标签中定义了controller的id和name,其下的control中,可以指定多个signal的id,从而实现对多个红绿灯的同步控制。controller的相位顺序和时长需要在场景文件及OpenSCENARIO中配置。如下图:
OpenX系列标准介绍(2):OpenDRIVE实例分析
最后,感谢您宝贵的正激励和正反馈。

注:本文内容参考ASAM官网,一手内容请前往获取https://www.asam.net/standards。内容如有疏漏敬请告知。


相关回顾:
自动驾驶虚拟仿真测试介绍(1):是什么
自动驾驶虚拟仿真测试介绍(2):为什么
自动驾驶虚拟仿真测试介绍(3):测什么
自动驾驶虚拟仿真测试介绍(4):用什么测
自动驾驶虚拟仿真测试介绍(5):怎么测
自动驾驶虚拟仿真测试介绍(6):谁来测
自动驾驶虚拟仿真测试介绍(7):MIL、SIL、PIL和HIL是个啥
自动驾驶虚拟仿真测试介绍(8):仿真测试的不同层次
OpenX系列标准介绍(1):OpenDRIVE介绍



关键词:自动驾驶,仿真测试,openx,opendrive


更多更新内容敬请关注公众号:adsimtest
本号致力于推广仿真测试技术,逐渐介绍作者从业五年的经验和教训,协助有志于从事仿真测试的同学和同行入门。
欢迎大家对文章进行点赞、收藏和分享,我们一起交流、共同成长!