道路网

在驾驶场景中添加道路网络

描述

例子

道路网(脚本“OpenDRIVE”,filePath)从opdrive进口道路®道路网文件进入驾驶场景。此函数支持OpenDRIVE金宝app格式规范版本1.4H[1]

例子

道路网(脚本,‘OpenDRIVE’,‘ShowLaneTypes’,展示类)使用名称-值对“ShowLaneTypes”还将从文件中导入车道类型信息,并将其显示在驾驶场景中。

例子

道路网(脚本“HEREHDLiveMap”,纬度,)从HERE高清实时地图导入道路[1.](这里HDLM)把路网变成一个行车场景。中指定的纬度和经度坐标最近的道路纬度分别地

例子

道路网(脚本“HEREHDLiveMap”,米拉特,明伦,马克斯拉特,maxLon)在此导入至少部分位于指定的地理边界框内的HDLM道路米拉特,明伦,马克斯拉特,maxLon

例子

全部折叠

创建一个空的驾驶场景。

情景=驾驶情景;

在场景中导入一个opdrive道路网络。

文件路径=“intersection.xodr”;roadNetwork(场景中,“OpenDRIVE”, filePath);

绘制场景并通过设置轴限制放大道路网络。

情节(场景)xlim([350 800])ylim([1400 2000])zlim([0.00 10.00])

创建一个空的驾驶场景。

情景=驾驶情景;

将由车道和停车车道组成的OpenDRIVE道路导入场景。默认情况下,该功能解释车道类型信息,并在不改变车道类型的情况下将车道导入驾驶场景。

文件路径=“parking.xodr”;roadNetwork(场景中,“OpenDRIVE”, filePath);

绘制场景。

情节(场景)变焦(2)传说(“驾驶车道”,“停车道”)

将OpenDRIVE道路导入场景。设置“ShowLaneTypes”重视抑制多个车道类型。该函数忽略车道类型信息,将所有车道导入为车道。

场景=驾驶场景;道路网络(场景,“OpenDRIVE”,文件路径,“ShowLaneTypes”、假);情节(场景)变焦(2)

在此将最接近指定驾驶路线坐标的HDLM道路网络数据导入驾驶场景。在驾驶场景中绘制沿着此路线行驶的车辆。

载入与驾驶路线相对应的地理坐标序列。

data =负载(“geoSequence.mat”);lat = data.latitude;朗= data.longitude;

通过在地理播放器上串流坐标显示路线。将缩放级别设置为14,并设置玩家显示其历史中的所有点。为了加快流的速度,在路线中只绘制每十分之一的坐标。

zoomLevel = 14;球员= geoplayer(纬度(1),经度(1)zoomLevel,“历史深度”、正);步伐= 10;i=1:timestep:length(lat)plotPosition(播放器、lat(i)、lon(i));结束

创建一个驾驶场景。将离驾驶路线最近的HERE HDLM道路数据导入场景。

场景=驾驶场景;道路网络(场景,“HEREHDLiveMap”纬度,经度);

使用拉丁美洲函数将行车路线从地理坐标转换为行车场景中使用的本地东-北-北(ENU)笛卡尔坐标。对于ENU坐标系的原点,使用存储在的地理道路网络原点GeoReference场景的属性。原点是行驶路线中指定的第一个坐标。因为行驶路线只包含纬度和纵向数据,所以将海拔设置为0

alt = 0;起源= scenario.GeoReference;[xEast, yNorth, z上]= latlon2local(纬度、经度、alt、来源);

将车辆添加到驾驶场景中。指定转换后的行驶路线作为车辆的轨迹。设车速为每秒30米。

v=车辆(场景);速度=30;轨迹(v[xEast,yNorth,zUp],速度);

绘制场景,每0.01秒暂停一次以降低模拟速度。若要与地理坐标显示保持相同的对齐方式,则X-轴在底部,而Y-轴位于左侧。在未从地图导入的驾驶场景中X-轴在左侧,而Y-axis在底部。这种对齐与自动驾驶工具箱™世界坐标系统一致。

几秒钟后,车辆似乎行驶在道路下方。出现此问题是因为转换后的轨迹不包含高度数据,但导入的道路网络包含高度数据。为避免此问题,如果您指定的驾驶路线是从GPS记录的,请包含高度数据。

情节(场景)推进(场景)暂停(0.01)结束

导入HERE HDLM道路网络数据到驾驶场景。从以指定地理坐标为中心的区域中选择此数据。

定义一个与绕道相对应的经纬度坐标。

latCenter = 42.302324;lonCenter = -71.384970;

指定环形交叉口周围矩形区域的最小和最大纬度和纵向坐标。在地理图上显示与该区域相对应的边界框。

偏移量=5e-4;minLat=latCenter-偏移量;minLon=lonCenter-偏移量;maxLat=latCenter+偏移量;maxLon=lonCenter+偏移量;gx=地轴线;LineSpec=“k”;地质地块(gx、,...[minLat maxLat]、[minLon minLon], LineSpec,...[maxLat maxLat]、[minLon maxLon]、LineSpec、,...[maxLat minLat]、[maxLon maxLon], LineSpec,...[minLat minLat],[maxLon minLon],LineSpec)

创建一个驾驶场景,并使用最小和最大坐标从该区域导入道路。这个道路网功能导入至少部分位于该区域内的道路。

场景=驾驶场景;道路网络(场景,“HEREHDLiveMap”,minLat,minLon,maxLat,maxLon);

绘制场景。要与地理坐标显示保持相同的对齐,请X-轴在底部,而Y-轴位于左侧。在未从地图导入的驾驶场景中X-轴在左侧,而Y-axis在底部。这种对齐与自动驾驶工具箱™世界坐标系统一致。

情节(场景)

输入参数

全部折叠

驾驶场景,指定为drivingScenario对象。脚本必须不包含以前创建的或进口的道路。

有效OpenDRIVE文件类型的路径. xmlxodr先生,指定为字符向量或字符串标量。

例子:“OpenDRIVE”,“C:\Desktop\myRoadNetwork.xodr”

从opdrive道路网络文件中导入车道类型信息,并将其显示在驾驶场景中,由逗号分隔的对组成“ShowLaneTypes”其中一个价值观是:

  • 真正的或1 -导入车道类型信息并呈现车道类型。

  • 或0-忽略车道类型信息,并将所有车道作为驾驶场景中的驾驶车道导入。

该表总结了支持的车道类型,以及将它们导入到驾驶场景金宝app后的默认外观。

金宝app支持通道类型 描述 默认的外观
驾驶车道 行车线

边境通道 道路两旁的车道相互衔接

受限制的车道 为高上座率车辆预留的车道

肩道 为紧急停车预留的车道

停车道 行驶车道旁的车道,用于停放车辆

任何其他不受支持的车道类金宝app型都渲染为边界车道。

例子:“ShowLaneTypes”,假的

纬度坐标,指定为[–90,90]范围内元素的矢量。纬度必须和.单位以度为单位。

经度坐标,指定为范围[- 180,180]内元素的向量。必须和纬度.单位以度为单位。

边界框的最小纬度坐标,指定为范围[- 90,90]中的标量。米拉特必须小于马克斯拉特.单位以度为单位。

这个道路网函数导入至少部分位于输入指定的边界框内的任何道路米拉特,明伦,马克斯拉特,maxLon.这个图表显示了这些坐标之间的关系。

边界框的最小经度坐标,指定为范围[- 180,180]中的标量。明伦必须小于maxLon.单位以度为单位。

这个道路网函数导入至少部分位于输入指定的边界框内的任何道路米拉特,明伦,马克斯拉特,maxLon.这个图表显示了这些坐标之间的关系。

边界框的最大纬度坐标,指定为范围[- 90,90]中的标量。马克斯拉特必须大于米拉特.单位以度为单位。

这个道路网函数导入至少部分位于输入指定的边界框内的任何道路米拉特,明伦,马克斯拉特,maxLon.这个图表显示了这些坐标之间的关系。

边界框的最大经度坐标,指定为范围[- 180,180]中的标量。maxLon必须大于明伦.单位以度为单位。

这个道路网函数导入至少部分位于输入指定的边界框内的任何道路米拉特,明伦,马克斯拉特,maxLon.这个图表显示了这些坐标之间的关系。

限制

OpenDRIVE导入限制

  • 只能导入车道、车道类型信息和道路。不支持导入道路对象和交通信号。金宝app

  • 包含大型道路网络的opdrive文件可能需要几分钟的加载时间。大型公路网的例子包括模拟城市道路的公路网,或有数千米长的公路的公路网。

  • 不支持可变宽度的车道。金宝app宽度设置为该车道内的最高宽度。例如,如果一条车道的宽度从2米到4米不等,那么该功能将整个车道的宽度设置为4米。

  • 指定为车道类型信息的道路开车,边境,限制,,停车都受支持金宝app。带有任何其他车道类型信息的车道将作为边界车道导入。

  • 不支持多车道标记样式的道路。金宝app该函数将第一种标记样式应用于道路上的所有车道。例如,如果一条路冲刺固体车道标记,功能适用冲刺车道标志。

  • 车道标志风格波特点,限制,不支持。具有这些金宝app标记样式的车道将作为未标记导入。

这里高清实时地图导入限制

当导入HERE HDLM数据时,不支持以下道路和车道特性:金宝app

  • 不同宽度的车道-在生成的道路网络中,每个车道设置为其整个长度的最大宽度。考虑一个HERE HDLM车道,其宽度沿其长度从2米到4米不等。在生成的路网中,车道宽度沿其整个长度为4米。

  • 在生成的道路网络中,每条道路设置为其整个长度上的最大车道数。考虑这里的HDLM道路,一半有3车道,另一半有2车道。在生成的道路网络中,道路整个长度有3个车道。

  • 在生成的路网中,每个车道都设置为沿道路宽度最大的车道段的标记样式。考虑一个有2车道段的HERE HDLM车道。第一段车道宽2米,有坚实的标志。第二车道宽4米,有虚线标志。在生成的道路网络中,车道的宽度固定为4米,并沿着其整个长度的虚线标记。

对道路网络的这些修改有时会导致道路在驾驶场景中重叠。考虑这里的HDLM道路,在街道上以蓝色突出显示。由于不受支持的特征,在进口的驾驶场景中,道路的车道宽度增加。r作为一条道路。检测车道的传感器无法检测覆盖车道。金宝app

这里是HDLM公路网 进口的驾驶场景

提示

  • 如果您进口的道路看起来不像预期的那样,考虑通过使用驾驶场景设计师这款应用程序可以让道路的故障排除和纠正过程比尝试使用故障排除和纠正道路更容易道路网函数。

参考文献

Dupuis, Marius等。OpenDRIVE格式规范. 修订版1.4,第H版,文件编号VI2014.106。德国巴德艾布林:VIRES SimulationTechnologie GmbH,2015年11月4日。

在R2018b中引入


[1.]你需要和他单独签订一份协议在这里以便获得对HDLM服务的访问权,并获得使用HERE服务所需的凭证(access_key_id和access_key_secret)。