roadrunnerHDMap
说明
roadrunnerHDMap
对象使您能够使用 MATLAB® 创建 RoadRunner 高清地图。您还可以使用车道、车道边界、车道标记和交叉口填充地图。
RoadRunner 高清地图是一种道路数据模型,用于在 RoadRunner 场景中表示高清 (HD) 地图数据。该模型定义了一个简单的数据结构来表示使用车道、车道边界、车道标记和交叉口的道路布局。您可以使用 RoadRunner 高清地图为您的自定义高清地图数据创建二进制文件,并将该二进制文件导入 RoadRunner,并构建场景。
创建对象
描述
创建一个空的 RoadRunner 高清地图。您可以使用 rrMap
= roadrunnerHDMap()roadrunnerHDMap
对象属性在地图中填充车道、车道边界、车道标记和交叉口。映射中的数据使用协议缓冲区进行序列化,并使用 write 方法以二进制格式保存,扩展名为 .rrhd
。您可以使用 read 方法读取扩展名为 .rrhd
的文件并填充空的 roadrunnerHDMap
对象。
使用名称-值对设置属性。rrMap
= roadrunnerHDMap(Name=Value
)
属性
Author
— 地图作者姓名
字符向量 | 字符串标量
地图作者的名称,指定为字符串标量。
示例: rrMap
= roadrunnerHDMap
(Author
="Map Author"
) 创建了 "Map Author"
拥有的 RoadRunner 高清地图。
数据类型: char
| string
GeoReference
— 路网原点地理坐标
行向量
道路网络原点的地理坐标,指定为具有两个元素的 [lat
, lon
] 形式的行向量。lat
表示坐标的纬度(以度为单位),lon
表示坐标的经度(以度为单位)。这些值是相对于 WGS84 参考椭球而言的,这是 GPS 数据使用的标准椭球。有关更多详细信息,请参阅坐标空间和地理参考。
数据类型: double
GeographicBoundary
— 几何数据的空间界限
矩阵
RoadRunner 高清地图投影的 3D 坐标空间中表示的几何数据的空间边界,指定为 2×3 的双精度矩阵。矩阵中的元素表示 3D 轴对齐框的最小和最大位置。
示例: rrMap
= roadrunnerHDMap
(Author
="Map Author"
, GeographicBoundary
=[-0.782 -3.13 0;101.565 50 0
]) 创建 "Map Author"
拥有的 RoadRunner 高清地图。地图投影的 3D 坐标空间中几何数据的空间范围由参数 GeographicBoundary
的双精度值指定。
数据类型: double
Lanes
— 道路车道属性
roadrunner.hdmap.Lane
对象数组
道路的车道属性,指定为 roadrunner.hdmap.Lane
对象的数组。
示例: rrMap.Lanes(1)
= roadrunner.hdmap.Lane
(ID
= "Lane1"
, Geometry
= [-0.782 -1.56;50.78 23.43
], LaneType
= "Driving"
, TravelDirection
= "Forward"
) 添加有关地图车道的信息:车道 ID、定义车道几何形状的坐标、车道类型和行驶方向。
LaneBoundaries
— 车道边界
roadrunner.hdmap.LaneBoundary
对象数组
车道的边界,指定为 roadrunner.hdmap.LaneBoundary
对象的数组。
示例: rrMap.LaneBoundaries(1)
= roadrunner.hdmap.LaneBoundary
(ID
= "LaneBoundary1"
, Geometry
= [0 0;50 25
]) 将车道边界添加到车道并定义每个车道边界的几何形状。
LaneGroups
— 具有相似几何形状的车道组
roadrunner.hdmap.LaneGroup
对象数组
具有相似几何形状的车道组,指定为 roadrunner.hdmap.LaneGroup
对象的数组。
示例: rrMap.LaneGroups
= roadrunner.hdmap.LaneGroup
(ID
="LaneGroup1"
) 添加 ID 为 "LaneGroup1"
的通道组到地图。
LaneMarkings
— 车道标记定义
roadrunner.hdmap.LaneMarking
对象数组
车道标记定义,指定为 roadrunner.hdmap.LaneMarking
对象的数组。
示例: rrMap.LaneMarkings
= roadrunner.hdmap.LaneMarking
(ID
= "Dashed1"
,AssetPath
= "Assets/Markings/DashedSingleWhite.rrlms"
) 将 "Dashed1"
车道标记素材从其相对位置添加到车道。
Junctions
— 交叉口
roadrunner.hdmap.Junction
对象数组
地图中的交叉口,指定为 roadrunner.hdmap.Junction
对象的数组。
示例: rrMap.Junctions
= roadrunner.hdmap.Junction
(ID
="Junction1"
) 添加 id 为 "Junction1"
的结点到地图。
BarrierTypes
— 隔离物型材的隔离物类型和类型信息
roadrunner.hdmap.BarrierType
对象数组
用于隔离物型材和类型信息的隔离物类型,指定为 roadrunner.hdmap.BarrierType
对象的数组。
示例: rrMap.BarrierTypes
= roadrunner.hdmap.BarrierType
(ID
= "BarrierType1"
, ExtrusionPath
= path
) 为隔离物型材添加一个 ID 为 "BarrierType1"
的隔离物类型,素材路径 path
,指向这种隔离物类型的型材信息。
Barrier
— 地图上的隔离物
roadrunner.hdmap.Barrier
对象数组
地图中的隔离物,指定为 roadrunner.hdmap.Barrier
对象的数组。
示例: rrMap.Barrier
= roadrunner.hdmap.Barrier
(ID
="Barrier1"
) 添加 ID 为 "Barrier1"
的隔离物到地图。
SignTypes
— 标志类型 标志特征和类型信息
roadrunner.hdmap.SignType
对象数组
标志特征和类型信息的标志类型,指定为 roadrunner.hdmap.SignType
对象的数组。
示例: rrMap.SignTypes
= roadrunner.hdmap.SignType
(ID
="SignType1"
, ExtrusionPath
=AssetPath="Assets/Signs/UK/Sign_Parking.svg"
) 为位于相对路径 "Assets/Signs/UK/Sign_Parking.svg"
上的停车标志添加一个 id 为 "SignType1"
的标志类型。
Signs
— 地图上的标志
roadrunner.hdmap.Sign
对象数组
地图中的标志,指定为 roadrunner.hdmap.Sign
对象的数组。
示例: rrMap.Sign
= roadrunner.hdmap.Sign
(ID
="Sign1"
) 添加 id 为 "Sign1"
的标志到地图。
StaticObjectType
— 物理对象的属性
roadrunner.hdmap.StaticObjectType
对象数组
物理对象的属性(包括道路设施和道具),指定为 roadrunner.hdmap.StaticObjectType
对象的数组。
示例: rrMap.StaticObjectType
= roadrunner.hdmap.StaticObjectType
(ID
="StaticObjectType1"
) 添加 id 为 "StaticObjectType1"
的静态对象类型到地图。
StaticObject
— 地图中的静态目标
roadrunner.hdmap.StaticObject
对象数组
物理对象的属性(包括道路设施和道具),指定为 roadrunner.hdmap.StaticObject
对象的数组。
示例: rrMap.StaticObject
= roadrunner.hdmap.StaticObject
(ID
="StaticObject1"
) 添加 id 为 "StaticObject1"
的静态对象到地图。
对象函数
示例
使用合成数据构建 RoadRunner 高清地图
通过调用 roadrunnerHDMap
对象创建 RoadRunner 高清地图。该对象返回带有作者和几何数据属性的空间边界的地图。
rrMap = roadrunnerHDMap(Author="Map Author",GeographicBoundary=[-0.782 -3.13 0;101.565 50 0]);
使用 roadrunner.hdmap.Lane
对象创建道路车道。指定车道信息车道 ID、定义车道几何形状、行驶方向和车道类型。
rrMap.Lanes(2) = roadrunner.hdmap.Lane(ID="Lane2",Geometry=[50.78 23.43;100.78 48.43],LaneType="Driving", TravelDirection="Forward"); rrMap.Lanes(1) = roadrunner.hdmap.Lane(ID="Lane1",Geometry=[0.782 -1.56;50.78 23.43],LaneType="Driving", TravelDirection="Forward");
添加 Lane1
和 Lane2
的连接信息。通过定义有关其前驱和后继关系的信息来指定车道之间的对齐方式。
addPredecessor(rrMap.Lanes(2),"Lane1",Alignment="Forward"); addSuccessor(rrMap.Lanes(1),"Lane2",Alignment="Forward");
使用 roadrunner.hdmap.LaneBoundary
对象创建道路的车道边界。指定车道 ID 的车道边界信息和定义车道几何形状的坐标。
rrMap.LaneBoundaries(4) = roadrunner.hdmap.LaneBoundary(ID="LaneBoundary4",Geometry=[50 25; 100 50]); rrMap.LaneBoundaries(3) = roadrunner.hdmap.LaneBoundary(ID="LaneBoundary3",Geometry=[51.565 21.864; 101.565 46.869]); rrMap.LaneBoundaries(2) = roadrunner.hdmap.LaneBoundary(ID="LaneBoundary2",Geometry=[1.565 -3.13; 51.565 21.864]); rrMap.LaneBoundaries(1) = roadrunner.hdmap.LaneBoundary(ID="LaneBoundary1",Geometry=[0 0; 50 25]);
将车道边界与车道连接起来。定义每个车道的左、右车道边界,并指定车道和车道边界之间的对齐方式。
leftBoundary(rrMap.Lanes(1),"LaneBoundary1",Alignment="Forward"); rightBoundary(rrMap.Lanes(1),"LaneBoundary2",Alignment="Forward"); leftBoundary(rrMap.Lanes(2),"LaneBoundary4",Alignment="Forward"); rightBoundary(rrMap.Lanes(2),"LaneBoundary3",Alignment="Forward");
版本历史记录
在 R2022b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)