主要内容

roadNetwork

增加道路网络驱动的场景

自从R2018b

描述

OpenDRIVE

例子

roadNetwork (场景“OpenDRIVE”,文件名)从一个ASAM OpenDRIVE进口道路®道路网络文件到一个驾驶场景。该功能支持从OpenDRI金宝appVE进口公路网络®文件版本1.4和1.5,以及ASAM OpenDRIVE文件版本1.6。

例子

roadNetwork (场景“OpenDRIVE”,文件名“ShowLaneTypes”,showLaneTypes)使用名称-值对“ShowLaneTypes”也进口车道类型信息文件和显示它的驾驶场景。

请注意

R2021b, ASAM OpenDRIVE导入功能提供了功能和视觉改进,以及一些额外的限制。

  • 现在您可以导入与多个车道公路规范。

  • 进口道路显示没有显示以前的边界线。

  • 路中心总是出现在进口的中间道路。以前,一些道路显示道路中心在路上边。

  • 连接使用表示RoadGroup对象,结合公路段在一个结。以前,每一段路都在结分别代表。因此,进口现在公路网络使用较少的道路。

  • IDs的道路,道路,连接IDs,驾驶场景可能不匹配的连接数量这些进口ASAM OpenDRIVE文件中指定。

高清生活地图

例子

roadNetwork (场景“HEREHDLiveMap”,纬度,)从高清生活地图进口道路1(这里是HDLM)道路网络为驾驶场景。函数进口最近的道路中指定的纬度和经度坐标纬度,分别。

例子

roadNetwork (场景“HEREHDLiveMap”,minLat,minLon,maxLat,maxLon)进口HDLM道路,至少部分指定的地理边界框内minLat,minLon,maxLat,maxLon

开放地图

例子

roadNetwork (场景“公开”,文件名)进口OpenStreetMap的道路®道路网络文件到一个驾驶场景。

Zenrin日本地图API 3.0 (Itsumo纳API 3.0)

例子

roadNetwork (场景“ZenrinJapanMap”,纬度,)从一个进口道路Zenrin日本地图API 3.0 (Itsumo纳API 3.0)2道路网络为驾驶场景。函数进口最近的道路中指定的纬度和经度坐标纬度,分别。

进口的道路Zenrin日本地图API 3.0 (Itsumo纳API 3.0)服务需要自动驾驶的工具箱进口国Zenrin日本地图API 3.0 (Itsumo纳API 3.0)服务

例子

roadNetwork (场景“ZenrinJapanMap”,minLat,minLon,maxLat,maxLon)进口Zenrin日本地图API 3.0 (Itsumo纳API 3.0)道路中至少部分指定的地理边界框minLat,minLon,maxLat,maxLon

例子

全部折叠

创建一个空的驾驶场景。

场景= drivingScenario;

导入一个ASAM OpenDRIVE道路网络场景。

filePath =“roundabout.xodr”;roadNetwork(场景中,“OpenDRIVE”,filePath);

情节上的场景和放大道路网络通过设置轴的极限。

情节(场景)xlim (150 [-250]) ylim (225 [-175])

图包含一个坐标轴对象。坐标轴对象包含X (m), ylabel Y (m)包含5补丁,类型的对象。

创建一个空的驾驶场景。

场景= drivingScenario;

导入一个ASAM OpenDRIVE®道路驾驶和停车车道组成的场景。默认情况下,函数解释车道类型信息和进口车道进入驾驶场景不改变车道类型。

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

画出场景。

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

图包含一个坐标轴对象。坐标轴对象包含X (m), ylabel Y (m)包含4补丁,类型的对象。这些对象代表驾驶车道,车道上停车。

ASAM OpenDRIVE路导入场景。设置“ShowLaneTypes”价值抑制多个车道类型。函数忽略了车道类型信息和进口所有的车道行驶车道。

场景= drivingScenario;roadNetwork(场景中,“OpenDRIVE”filePath,“ShowLaneTypes”、假);情节(场景)变焦(2)

图包含一个坐标轴对象。坐标轴对象包含X (m), ylabel Y (m)包含3补丁,类型的对象。

最近进口这里HDLM道路网络数据的坐标指定行驶路线到行驶场景。画一个车辆在驾驶这条路后的场景。

加载对应的地理坐标序列行驶路线。

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

显示路线通过流在地理坐标的球员。将缩放级别设置为14和配置玩家显示其历史上所有的点。加快流,只有每十协调路线的阴谋。

zoomLevel = 14;球员= geoplayer(纬度(1),经度(1)zoomLevel,“HistoryDepth”、正);步伐= 10;i = 1:步伐:长度(lat) plotPosition(球员,lat(我),朗(我));结束

创建一个驾驶场景。导入这里HDLM道路数据最近的行驶路线进入场景。

场景= drivingScenario;roadNetwork(场景中,“HEREHDLiveMap”纬度,经度);

使用latlon2local函数将行驶路线从地理坐标转换为本地east-north-up (ENU表示)笛卡尔坐标用于驾驶场景。对于ENU表示坐标系统的起源,使用地理道路网络存储在起源GeoReference财产的场景。原点是第一个坐标中指定的行驶路线。因为行驶路线仅包含纬度和纵向数据,设置高度0

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

添加一个车辆驾驶场景。指定转换后的行驶路线作为车辆的轨迹。设置一个车辆30 m / s的速度。

v =车辆(场景中,“ClassID”1);速度= 30;smoothTrajectory (v, [xEast yNorth, z上),速度);

情节场景和暂停减缓仿真每0.01秒。保持相同的定位与地理坐标显示,X设在和底部Y设在左边。在驾驶情况下不是从地图,进口X设在在左边Y设在在底部。这个定位和自动驾驶的工具箱™是一致的世界坐标系统。

几秒钟后,车辆出现开车在路上。这个问题是因为转换轨迹不包含高度数据但导入的道路网络。为了避免这个问题,如果你指定一个行驶路线从GPS记录,包括高度数据。

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

这里HDLM道路网络数据导入到驾驶场景。选择这个数据从一个地区,集中在一个指定的地理坐标。

定义一个纬度和经度坐标对应变换车道。

latCenter = 42.302324;lonCenter = -71.384970;

指定最小和最大纬度和纵向坐标在迂回的矩形区域。显示一个边界框对应于该地区地理图。

抵消= 5的军医;minLat = latCenter -抵消;minLon = lonCenter -抵消;maxLat = latCenter +偏移量;maxLon = lonCenter +偏移量;gx = geoaxes;LineSpec =“k”;geoplot (gx[minLat maxLat]、[minLon minLon], LineSpec,[maxLat maxLat]、[minLon maxLon], LineSpec,[maxLat minLat]、[maxLon maxLon], LineSpec,[minLat minLat]、[maxLon minLon], LineSpec)

创建一个驾驶场景和从该地区进口道路使用最小和最大坐标。的roadNetwork函数进口至少部分在这一地区的道路。

场景= drivingScenario;roadNetwork(场景中,“HEREHDLiveMap”,minLon minLat maxLat maxLon);

画出场景。保持相同的定位与地理坐标显示,X设在和底部Y设在左边。在驾驶情况下不是从地图,进口X设在在左边Y设在在底部。这个定位和自动驾驶的工具箱™是一致的世界坐标系统。

情节(场景)

道路从OpenStreetMap®web服务导入驾驶场景。然后,情节车辆路线后导入的道路网络。

进口的道路网络MathWorks®苹果山校区到一个空的场景。是下载的文件https://www.openstreetmap.org,它提供了访问世界各地的众包地图数据。数据开放数据共享开放数据库许可下的(ODbL),https://opendatacommons.org/licenses/odbl/

情节导入的道路网络。保持相同的定位与地理坐标显示,X设在和底部Y设在左边。在驾驶情况下不是从地图,进口X设在在左边Y设在在底部。这个定位和自动驾驶的工具箱™是一致的世界坐标系统。

场景= drivingScenario;roadNetwork(场景中,“公开”,“applehill.osm”);情节(场景)

负载的纬度和经度坐标行驶路线的道路网络。

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

使用latlon2local函数将行驶路线从地理坐标转换为本地east-north-up (ENU表示)笛卡尔坐标用于驾驶场景。对于ENU表示坐标系统的起源,使用地理道路网络存储在起源GeoReference财产的场景。原点是第一个坐标中指定的行驶路线。因为行驶路线仅包含纬度和纵向数据,设置高度为0。

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

添加一个车辆驾驶场景。指定转换后的行驶路线作为车辆的轨迹。设置一个车辆30 m / s的速度。车辆轨迹和暂停每0.01秒减缓模拟。

v =车辆(场景中,“ClassID”1);速度= 30;smoothTrajectory (v, [xEast yNorth, z上),速度);推进(场景)暂停(0.01)结束

进口Zenrin日本地图3.0 (Itsumo纳API 3.0)最近的道路网络数据的坐标指定行驶路线到行驶场景。画一个车辆在驾驶这条路后的场景。

加载对应的地理坐标序列行驶路线。

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

显示路线通过流在地理坐标的球员。将缩放级别设置为17和配置玩家显示其历史上所有的点。加快流,只有每十协调路线的阴谋。

zoomLevel = 17;球员= geoplayer(纬度(1),经度(1)zoomLevel,“HistoryDepth”、正);步伐= 10;i = 1:步伐:长度(lat) plotPosition(球员,lat(我),朗(我));结束

创建一个驾驶场景。导入Zenrin日本地图3.0 (Itsumo纳API 3.0)道路数据最近的行驶路线进入场景。

场景= drivingScenario;roadNetwork(场景中,“ZenrinJapanMap”纬度、经度)

使用latlon2local函数将行驶路线从地理坐标转换为本地east-north-up (ENU表示)笛卡尔坐标用于驾驶场景。对于ENU表示坐标系统的起源,使用地理道路网络存储在起源GeoReference财产的场景。原点是第一个坐标中指定的行驶路线。

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

添加一个车辆驾驶场景。指定转换后的行驶路线作为车辆的轨迹。设置一个车辆30 m / s的速度。

v =车辆(场景中,“ClassID”1);速度= 30;smoothTrajectory (v, [xEast yNorth, z上),速度);

情节场景和暂停减缓仿真每0.01秒。保持相同的定位与地理坐标显示,X设在和底部Y设在左边。在驾驶情况下不是从地图,进口X设在在左边Y设在在底部。这个定位和自动驾驶的工具箱™是一致的世界坐标系统。

图绘制(场景)推进(场景)暂停(0.01)结束

进口Zenrin日本地图3.0 (Itsumo纳API 3.0)道路网络数据到驾驶场景。选择这个数据从一个地区,集中在一个指定的地理坐标。

定义纬度和经度坐标对应一个公园。

latCenter = 35.6889;lonCenter = 139.8458;

指定的最小和最大纬度和经度坐标矩形周围地区公园。显示一个边界框对应于该地区地理图。

抵消= 0.0013;minLat = latCenter -抵消;minLon = lonCenter -抵消;maxLat = latCenter +偏移量;maxLon = lonCenter +偏移量;图gx = geoaxes;LineSpec =“k”;geoplot (gx[minLat maxLat]、[minLon minLon], LineSpec,[maxLat maxLat]、[minLon maxLon], LineSpec,[maxLat minLat]、[maxLon maxLon], LineSpec,[minLat minLat]、[maxLon minLon], LineSpec)

创建一个驾驶场景和从该地区进口道路使用最小和最大坐标。的roadNetwork函数进口至少部分在这一地区的道路。

场景= drivingScenario;roadNetwork(场景中,“ZenrinJapanMap”,minLon minLat maxLat maxLon)

画出场景。保持相同的定位与地理坐标显示,X设在和底部Y设在左边。在驾驶情况下不是从地图,进口X设在在左边Y设在在底部。这个定位和自动驾驶的工具箱™是一致的世界坐标系统。

图绘制(场景)

输入参数

全部折叠

驾驶的情况下,指定为一个drivingScenario对象。场景必须不包含以前创建的或进口的道路。

道路网络文件的名称,指定为一个特征向量或字符串标量。

文件名必须指定一个文件在当前文件夹,文件在MATLAB®搜索路径,或者一个完整或相对路径文件。

文件名必须结束的文件扩展名有效期为道路网的来源。

道路网源 有效的文件扩展名 示例语法
OpenDRIVE

.xodr

. xml

roadNetwork(场景中,“OpenDRIVE”,“C: \ \ roads.xodr桌面”
开放地图

.osm

. xml

roadNetwork(场景中,“公开”,“C: \ \ map.osm桌面”

进口车道类型信息从OpenDRIVE道路网络文件并将其显示在驾驶情况下,指定为逗号分隔两人组成的“ShowLaneTypes”这些值之一:

  • 真正的或1 -进口车道类型信息和渲染车道类型。

  • 或0 -忽略车道类型信息和导入所有车道行驶车道的行驶场景。

表总结了支持车道类型和默认将它们导入到开车后外观的金宝app场景。

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

样本的驾驶车道

边境通道 车道的道路边界

样品的边界巷

受限制的车道 车道预留给多人乘坐的车辆

样本的限制巷

肩道 车道预留给紧急停止

样本的肩膀道

停车道 车道行驶车道,供车辆停车

样本的停车车道

其他不支持的车道类型呈现金宝app为边境通道。

例子:“ShowLaneTypes”,假的

纬度坐标,指定为一个向量中的元素范围(-90、90)。纬度必须是一样的尺寸吗。单位是在度。

经度坐标,指定为一个向量中的元素范围(-180、180)。必须是一样的尺寸吗纬度。单位是在度。

最低纬度坐标的边界框,指定为一个标量范围(-90、90)。minLat必须小于maxLat。单位是在度。

roadNetwork函数进口至少部分的任何道路边界框内指定的输入minLat,minLon,maxLat,maxLon。这个图显示了这些坐标之间的关系。

地图的一个十字路口一个矩形边界框。顺时针从顶部,侧面贴上maxLat, maxLon minLat, minLon。

最小经度坐标的边界框,指定为一个标量范围(-180、180)。minLon必须小于maxLon。单位是在度。

roadNetwork函数进口至少部分的任何道路边界框内指定的输入minLat,minLon,maxLat,maxLon。这个图显示了这些坐标之间的关系。

地图的一个十字路口一个矩形边界框。顺时针从顶部,侧面贴上maxLat, maxLon minLat, minLon。

边界框的最大纬度坐标,指定为一个标量范围(-90、90)。maxLat必须大于minLat。单位是在度。

roadNetwork函数进口至少部分的任何道路边界框内指定的输入minLat,minLon,maxLat,maxLon。这个图显示了这些坐标之间的关系。

地图的一个十字路口一个矩形边界框。顺时针从顶部,侧面贴上maxLat, maxLon minLat, minLon。

边界框的最大经度坐标,指定为一个标量范围(-180、180)。maxLon必须大于minLon。单位是在度。

roadNetwork函数进口至少部分的任何道路边界框内指定的输入minLat,minLon,maxLat,maxLon。这个图显示了这些坐标之间的关系。

地图的一个十字路口一个矩形边界框。顺时针从顶部,侧面贴上maxLat, maxLon minLat, minLon。

限制

OpenDRIVE进口限制

  • 你只能进口车道,车道类型信息和道路。进口不支持对象和交通信号的道路。金宝app

  • ASAM OpenDRIVE文件包含大公路网络需要几分钟。大型公路网络的例子包括模型的一个城市的道路或公路的几千米长。

  • 道不支持可变宽度。金宝app宽度设置为最高的宽度内发现的车道。例如,如果一个车道的宽度变化从2米到4米,该函数将车道宽度设置为4米。

  • 当你导入与多个车道单向道路规范,功能只支持那些段锥位置匹配的旅行方向的车道。金宝app例如,函数支持只导入正确的锥形姿势正确的车道。金宝app离开或不支持两种类型的锥位置正确的车道。金宝app

  • 指定为道路车道类型信息开车,边境,限制,肩膀,停车都受支持金宝app。车道与任何其他作为边境进口道车道类型信息。

  • 车道标志风格马胃蝇蛆点,限制,不受支持。金宝app进口车道与这些标记样式为无名。

高清生活地图进口限制

  • 进口这里HDLM道路车道不支持不同的宽度。金宝app在生成的道路网络,每个车道设置为已发现的最大宽度沿其整个长度。考虑这里HDLM车道的宽度变化沿着它的长度从2到4米。在生成的道路网络,车道宽度沿其整个长度4米。这一修改道路网络有时会导致道路驾驶场景重叠。

  • 一些问题与导入的道路,也许是因为在这里HDLM遗漏或者错误的地图数据服务。例如,您可能会看到黑色线条,道路和路口见面。检查的问题源于地图数据,使用高清生活地图查看器查看HDLM道路网络的几何形状。这里的观众需要一个有效的许可证。更多细节,请参阅这里的技术的网站。

OpenStreetMap进口限制

在导入开放地图数据,道路和车道功能有这些限制:

  • Lane-level信息不是从OpenStreetMap进口道路。巷规范仅基于OpenStreetMap道路网络中指定的方向旅行,地点:

    • 单向道路进口与违约巷地方的规范。这些车道编程方式相当于lanespec(1)

    • 双向道路进口与双向两车道的公路旅行和默认巷规范。这些车道编程方式相当于lanespec([1])

    表显示了这些差异OpenStreetMap道路网络和道路网络进口驾驶场景。

    开放地图道路网 进口的驾驶场景

    两个单向道路逐渐减少到一个车道

    两个车道的道路,没有方向的旅行表示,突然转变成与双向两车道的公路旅行

  • 导入OpenStreetMap公路网络,指定高程数据时,如果没有指定高程数据对于所有的道路被导入,然后生成的道路网络可能包含不准确,有些道路可能会重叠。

  • 开放地图文件包含大公路网络可以花很长时间来加载。此外,这些公路网络可以让一些应用程序选项不可用。为了避免这种限制,进口文件只包含一个感兴趣的领域,通常小于20平方公里。

  • 应用程序中使用的技术可以从地图上略有差别用于开放地图服务。一些进口道路问题也可能是由于OpenStreetMap的缺失或不准确的地图数据服务。检查数据是否丢失或不准确的地图服务,考虑外部地图上查看地图数据查看器。

Zenrin日本地图API 3.0 (Itsumo纳API 3.0)进口限制

当你进口Zenrin日本地图API 3.0 (Itsumo纳API 3.0)数据,生成的道路网络这些限制。由于这些限制,生成的网络可能包含不准确和道路可能重叠。

  • 生成的道路网络时使用道路高程数据Zenrin日本地图API 3.0 (Itsumo纳API 3.0)提供了它。否则,生成的网络使用地形高程数据所提供的服务。

  • Zenrin日本地图API 3.0 (Itsumo纳API 3.0)服务提供信息使用范围,如通过指定一个路与两到三道或路3 - 5.5米宽,生成的道路网络使用标量值。考虑一个Zenrin日本地图API 3.0 (Itsumo纳API 3.0)两到三车道公路。生成的道路网有两个车道。

  • 车道道路在生成的网络中有一个统一的宽度。考虑道路与两车道宽4.25米。在生成的道路网络,每个车道宽2.125米。

  • 在可能的情况下,生成的道路网所提供的使用道路的名字吗Zenrin日本地图API 3.0 (Itsumo纳API 3.0)服务。否则,生成的道路网络使用缺省名称,如Road1Road2

提示

  • 如果你进口的道路看起来并不像预期的那样,考虑进口他们使用驾驶场景设计师应用程序。这个程序可以简化故障排除和纠正道路的过程比试图排除和正确的使用roadNetwork函数。

版本历史

介绍了R2018b


1您需要输入到一个单独的协议在这里为了获得HDLM服务和获得所需的凭证(access_key_id和access_key_secret)使用这里的服务。

2获得访问Zenrin日本地图API 3.0 (Itsumo纳API 3.0)服务和获得所需的凭证(客户ID和秘密密钥),你必须进入一个单独的协议ZENRIN数据通信有限公司。