mcpField
R
roadrunner-asset-mapping

roadrunner-asset-mapping

github.com/matlab数据与数据库1.2k72 次安装1 天前更新
代码仓库

关于 roadrunner-asset-mapping

roadrunner-asset-mapping 是用于将源地图元素映射到 RoadRunner 项目资产路径的参考技能,适用于 RRHD 地图编制与转换,并提供区域查找和资产校验规则。

主要功能

  1. 01车道标线与车道类型查询
  2. 02区域标志牌路径映射
  3. 03护栏、道具和静态物体路径
  4. 04资产扩展名与路径规范
  5. 05运行时校验标志牌资产

适用场景

  1. 01将车道分类映射到 RoadRunner 资产
  2. 02依据地理区域映射标志牌代码
  3. 03编制 RRHD 地图时查找资产

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill roadrunner-asset-mapping

安装后在 Claude Code 中输入/roadrunner-asset-mapping确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

manifest.yaml
references/
barriers.md
laneMarkings.md
laneTypes.md
signs.md
staticObjects.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_rrxSigns/US/Stop_US.svg_rrxSigns/Germany/Regulatory Signs/Stop_DE.svg_rrx
让行—Signs/US/Yield_US.svg_rrxSigns/Germany/Regulatory Signs/Yield_DE.svg_rrx
限速 NSigns/Japan/Regulatory Signs/MaxSpeedLimit_<N>_JP.svg_rrxSigns/US/Regulatory Signs/MaxSpeedLimit_<N>_US.svg_rrxSigns/Germany/Regulatory Signs/MaxSpeedLimit_<N>_DE.svg_rrx
后备Signs/Japan/Regulatory Signs/SlowDown_JP_01.svg_rrxSigns/US/White_Blank_US.svg_rrxSigns/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 年。

评论

支持 Markdown