关于 roadrunner-asset-mapping
roadrunner-asset-mapping 是用于将源地图元素映射到 RoadRunner 项目资产路径的参考技能,适用于 RRHD 地图编制与转换,并提供区域查找和资产校验规则。
主要功能
- 01车道标线与车道类型查询
- 02区域标志牌路径映射
- 03护栏、道具和静态物体路径
- 04资产扩展名与路径规范
- 05运行时校验标志牌资产
适用场景
- 01将车道分类映射到 RoadRunner 资产
- 02依据地理区域映射标志牌代码
- 03编制 RRHD 地图时查找资产
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ matlab/ matlab-agentic-toolkit --skill roadrunner-asset-mapping安装后在 Claude Code 中输入/roadrunner-asset-mapping确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
manifest.yamlreferences/barriers.mdlaneMarkings.mdlaneTypes.mdsigns.mdstaticObjects.md详细介绍
RoadRunner 资源映射
用于将源地图格式元素映射到 RoadRunner 项目资源路径的汇总查找表。所有路径均相对于项目的 Assets/ 文件夹。
适用场景
- 将车道标线子类型解析为 RoadRunner
.rrlms资源路径 - 将标志代码(美国 MUTCD、德国 StVO、日本)映射到标志资源 SVG
- 查找围栏、护栏、水泥隔离墩和墙体的障碍物/挤出体资源路径
- 查找用于在 RRHD 中放置的道具/静态物体资源路径
- 根据 geoReference 坐标确定特定地区的标志路径
- 根据源格式的车道分类指定车道类型枚举值
不适用场景
- 从头构建 RRHD 对象——请使用
roadrunner-rrhd-authoring - 执行完整的 Lanelet2 转换流程——请使用
roadrunner-convert-lanelet2-to-rrhd - 将地图导入 RoadRunner——请使用
roadrunner-import-scene
关键规则
- 所有资源路径均以
Assets/开头——构造RelativeAssetPath对象时务必加上此前缀。 - 扩展名很重要。
.rrlms= 车道标线样式,.rrcws= 人行横道样式,.rrpms= 多边形标记样式,.svg_rrx= 标志。使用错误的扩展名会导致导入时出现“Asset file is missing”。 - 标志使用
.svg_rrx扩展名(而不是.svg)。XML 配置中的.svg路径仅为内部引用。 - 标志命名:使用带地区后缀的描述性英文名称(例如,
Stop_JP_01.svg_rrx、MaxSpeedLimit_30_DE.svg_rrx)。旧版Sign_<code>.svg命名方式已弃用。 - 根据 geoReference 检测地区。 使用经纬度确定标志和标线路径对应的日本/德国/美国地区。
- 必须在运行时发现资源。 资源名称会因版本而异——指定前务必确认文件存在。
源数据
资源映射源自 RoadRunner 项目的官方配置 XML:
DefaultAssets.xml— 默认材质和标线ApolloAssetData.xml— Apollo/Baidu 高清地图格式OpenDriveAssetData.xml— OpenDRIVE 格式HEREAssetData_NA.xml/HEREAssetData_WE.xml— HERE 高清地图(北美/欧洲)TomTomAssetData.xml— TomTom 高清地图格式
这些 XML 文件位于 RoadRunner 项目的配置目录中(通常为 <RoadRunner Project>/Configuration/)。
车道标线
完整映射表请参阅 references/laneMarkings.md。
关键模式:
- 所有标线资源均位于
Assets/Markings/,扩展名为.rrlms - 标线根据 类型(实线/虚线/双线)+ 颜色(白色/黄色)进行分类
- 默认道路中心线标线:
SolidDoubleYellow.rrlms - 默认外侧边界标线:
SolidSingleWhite.rrlms
标志
完整映射表请参见 references/signs.md。
关键:资源文件扩展名
- RoadRunner 标志资源在磁盘上的扩展名为
.svg_rrx(不是.svg) - 项目 XML 配置中的
.svg路径仅为内部引用 RelativeAssetPath对象中务必使用.svg_rrx——使用.svg会导致“Could not find asset”错误
必须:运行时发现资源
- 标志资源名称因 RoadRunner 版本和已安装的资源库而异
- 赋值前务必在运行时确认目标资源存在
- 使用
dir(fullfile(projFolder, 'Assets', 'Signs', region, category, '*.svg_rrx'))发现可用标志
关键模式:
- US 标志:
Assets/Signs/US/Regulatory Signs/或Assets/Signs/US/Warning Signs/ - 德国标志:
Assets/Signs/Germany/Regulatory Signs/ - 日本标志:
Assets/Signs/Japan/Regulatory Signs/或Assets/Signs/Japan/Warning Signs/ - 标志几何使用
GeoOrientedBoundingBox(Center + Dimension + GeoOrientation)
命名约定:标志使用带地区后缀的描述性英文名称:
- 模式:
<Description>_<Region>.svg_rrx(例如,Stop_JP_01.svg_rrx、MaxSpeedLimit_30_JP.svg_rrx) - 旧的
Sign_<code>.svg命名方式已废弃——磁盘上不存在此类文件
从 geoReference 检测地区:
lat = geoRef(1); lon = geoRef(2);
if lat >= 24 && lat <= 46 && lon >= 122 && lon <= 154
region = "Japan";
elseif lat >= 35 && lat <= 72 && lon >= -10 && lon <= 25
region = "Germany";
else
region = "US";
end
特定地区的标志路径(已在 R2026a 和 RoadRunner_Asset_Library 中验证):
| 标志 | 日本 | US | 德国 |
|---|---|---|---|
| 停车 | Signs/Japan/Regulatory Signs/Stop_JP_01.svg_rrx | Signs/US/Stop_US.svg_rrx | Signs/Germany/Regulatory Signs/Stop_DE.svg_rrx |
| 让行 | — | Signs/US/Yield_US.svg_rrx | Signs/Germany/Regulatory Signs/Yield_DE.svg_rrx |
| 限速 N | Signs/Japan/Regulatory Signs/MaxSpeedLimit_<N>_JP.svg_rrx | Signs/US/Regulatory Signs/MaxSpeedLimit_<N>_US.svg_rrx | Signs/Germany/Regulatory Signs/MaxSpeedLimit_<N>_DE.svg_rrx |
| 后备 | Signs/Japan/Regulatory Signs/SlowDown_JP_01.svg_rrx | Signs/US/White_Blank_US.svg_rrx | Signs/Germany/Warning Signs/Danger_DE.svg_rrx |
信号灯(交通信号灯)
| 配置 | 资源路径 |
|---|---|
| 三灯垂直式(带杆) | Props/Signals/Signal_3Light_Post01.fbx |
| 三灯垂直式(裸式) | Props/Signals/Signal_3Light_Bare01.fbx_rrx |
**创作与导入限制:**你可以在 MATLAB 中创建 SignalType 对象(添加到 rrMap.SignalTypes)和 Signal 实例(添加到 rrMap.Signals),并将地图写入 .rrhd——信号数据会写入文件,并在读写周期中保留。但是,RoadRunner 会静默忽略导入 .rrhd 地图时的信号——导入后信号不会显示在 RoadRunner 场景中。展示资源路径和创作代码时,请告知用户此导入限制。
隔离设施与拉伸体
完整映射表请参见 references/barriers.md。
关键模式:
- 所有拉伸体均位于
Assets/Extrusions/,扩展名为.rrext或.rrext.rrmeta - 隔离设施使用
roadrunner.hdmap.BarrierType和ExtrusionPath
道具与静态对象
完整映射表请参见 references/staticObjects.md。
关键模式:
- 道具位于
Assets/Props/的子目录中(Trees、Signals、TrafficControl 等) - 静态对象使用
roadrunner.hdmap.StaticObjectType和AssetPath - 对象放置使用
GeoOrientedBoundingBox
车道类型
完整映射表请参见 references/laneTypes.md。
人行横道和曲线标线
扩展名规则(容易混淆):
.rrcws= 人行横道样式(仅用于实际的人行横道).rrlms= 车道标线样式(停车线、自行车标线、锯齿线).rrpms= 多边形标线样式(条纹区域、V 形标线).rrcws_rrx/.rrlms_rrx= 地区特定变体(日本、德国等)
基础资源(通用):
| 类型 | 资源路径 | 扩展名 |
|---|---|---|
| 简单人行横道 | Markings/SimpleCrosswalk.rrcws | .rrcws |
| 欧陆式人行横道 | Markings/ContinentalCrosswalk.rrcws | .rrcws |
| 梯形人行横道 | Markings/LadderCrosswalk.rrcws | .rrcws |
| 停车线 | Markings/StopLine.rrlms | .rrlms |
| 条纹区域 | Markings/StripedRegion.rrpms | .rrpms |
日本特定标线(.rrlms_rrx / .rrcws_rrx):
| 类型 | 资源路径 |
|---|---|
| 停车线 | Markings/Japan/StopLine_JP.rrlms_rrx |
| 人行横道 | Markings/Japan/SimpleCrosswalk_JP.rrcws_rrx |
| 单实白线 | Markings/Japan/SolidSingleWhite_JP.rrlms_rrx |
| 单虚白线 | Markings/Japan/DashedSingleWhite_JP.rrlms_rrx |
| 双实白线 | Markings/Japan/SolidDoubleWhite_JP.rrlms_rrx |
| 双实黄线 | Markings/Japan/SolidDoubleYellow_JP.rrlms_rrx |
德国特定标线:
| 类型 | 资源路径 |
|---|---|
| 停车线 | Markings/Germany/StopLine_DE.rrlms_rrx |
| 人行横道 | Markings/Germany/SimpleCrosswalk_DE.rrcws_rrx |
地区选择: 默认使用基础(非地区特定)资源。当地图的 geoReference 指示特定地区,且项目中存在对应的地区资源时,使用地区变体。
模板(路面标线)
| 类型 | 资源路径 |
|---|---|
| 左转箭头 | Assets/Stencils/Stencil_ArrowType4L.svg |
| 右转箭头 | Assets/Stencils/Stencil_ArrowType4R.svg |
| STOP 文本 | Assets/Stencils/Stencil_STOP.svg |
材质
| 用途 | 资源路径 |
|---|---|
| 路面 | Assets/Materials/Asphalt1.rrmtl |
| 人行道 / 混凝土 | Assets/Materials/Concrete1.rrmtl |
| 地面 / 草地 | Assets/Materials/Grass1.rrmtl |
默认资源
以下为项目级默认值(来自 DefaultAssets.xml):
| 名称 | 路径 |
|---|---|
| 安全岛路缘材质 | Assets/Materials/Concrete1.rrmtl |
| 空白标志牌 | Assets/Signs/US/White_Blank_US.svg_rrx |
| 空白警告标志牌 | Assets/Signs/US/Yellow_Blank_US.svg_rrx |
| 表面材质 | Assets/Materials/Grass1.rrmtl |
| 人行横道 | Assets/Markings/SimpleCrosswalk.rrcws |
| 停车线 | Assets/Markings/StopLine.rrlms |
| 停车位标线 | Assets/Markings/SolidSingleWhite.rrlms |
| 路面材质 | Assets/Materials/Asphalt1.rrmtl |
| 道路中心标线 | Assets/Markings/SolidDoubleYellow.rrlms |
| 道路虚线标线 | Assets/Markings/DashedSingleWhite.rrlms |
| 道路外侧边界 | Assets/Markings/SolidSingleWhite.rrlms |
| 道路内侧边界 | Assets/Markings/SolidSingleYellow.rrlms |
| 单向超车标线 | Assets/Markings/DashedSolidYellow.rrlms |
| 车辆 | Assets/Vehicles/Sedan.fbx |
使用模式(MATLAB)
% Example: resolve marking asset path
function assetPath = resolveMarkingAsset(type, color)
% type: "solid", "dashed", "solid_solid", etc.
% color: "white", "yellow" (default: white)
if nargin < 2, color = "white"; end
% Use lookup from references/laneMarkings.md
end
在 RRHD RelativeAssetPath 对象中使用时,所有资源路径前都要加上 Assets/。
约定
- 所有标线资源:
Assets/Markings/<Name>.<ext>— 扩展名决定类型(.rrlms、.rrcws、.rrpms) - 地区标线变体:
Assets/Markings/<Region>/<Name>_<CC>.<ext>_rrx(例如,_JP.rrlms_rrx) - 所有标志牌资源:
Assets/Signs/<Region>/<Category>/<Description>_<CC>.svg_rrx(不是.svg) - 所有挤出资源:
Assets/Extrusions/<Name>.rrext(或.rrext.rrmeta) - 所有道具资源:
Assets/Props/<Category>/<Name>.fbx(或.fbx_rrx) - 构建 RRHD 时使用
RelativeAssetPath(AssetPath="...")(Name=Value 语法) - 默认道路中心标线:
SolidDoubleYellow.rrlms;默认外侧边界:SolidSingleWhite.rrlms - 分配资源前,务必在运行时确认资源存在 — 路径因版本和已安装的库而异
版权归 The MathWorks, Inc. 所有,2026 年。