OpenX系列标准介绍(2):OpenDRIVE实例分析
|作者版权所有,未经许可谢绝转载,转载请联系adsimtest@163.com。
“ 本系列尝试对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等信息。如下图:

在上一章我们提到过OpenDRIVE文件按XML格式编写,文件扩展名为.xodr,可以使用文本编辑器打开。本文使用的实例文件打开如下图所示:

那么一个十字路口为什么有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的信息,如下图:

其下有、
对于车道,
对于交通信号,
3 路口的描述
道路的描述中对不同的道路分别给出了其前后连接的道路,这对于一般的道路足以描述其连接关系,但是对于路口道路的连接,却不能清楚的描述,于是需要使用junction。
junction下使用connection来描述不同的连接路,其属性中的id为该连接路在junction中的id,incomingRoad为该连接路的来路的id,connectingRoad为该连接路的id。laneLink中描述来路和连接路的车道的连接关系,from为来路的车道id,to为与其连接的连接路的车道id。

4 红绿灯控制器的描述
前面/的/标签中定义了红绿灯的id和位置等,为了方便实现对红绿灯相位的控制,需要配置/。该标签中定义了controller的id和name,其下的control中,可以指定多个signal的id,从而实现对多个红绿灯的同步控制。controller的相位顺序和时长需要在场景文件及OpenSCENARIO中配置。如下图:

最后,感谢您宝贵的正激励和正反馈。
_注:本文内容参考ASAM官网,一手内容请前往获取https://www.asam.net/standards。内容如有疏漏敬请告知。_
相关回顾:
自动驾驶虚拟仿真测试介绍(1):是什么
自动驾驶虚拟仿真测试介绍(2):为什么
自动驾驶虚拟仿真测试介绍(3):测什么
自动驾驶虚拟仿真测试介绍(4):用什么测
自动驾驶虚拟仿真测试介绍(5):怎么测
自动驾驶虚拟仿真测试介绍(6):谁来测
自动驾驶虚拟仿真测试介绍(7):MIL、SIL、PIL和HIL是个啥
自动驾驶虚拟仿真测试介绍(8):仿真测试的不同层次
OpenX系列标准介绍(1):OpenDRIVE介绍
关键词:自动驾驶,仿真测试,openx,opendrive
更多更新内容敬请关注公众号:adsimtest
本号致力于推广仿真测试技术,逐渐介绍作者从业五年的经验和教训,协助有志于从事仿真测试的同学和同行入门。
欢迎大家对文章进行点赞、收藏和分享,我们一起交流、共同成长!
