matlab/roadrunner-asset-mapping
> RoadRunner asset path lookup tables for map format conversions in MATLAB. Maps lane markings, signs, signals, barriers, objects, and lane types to RoadRunner asset paths. Use when converting map formats to RRHD, resolving asset paths, or assigning visual assets to HD Map objects.
npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill roadrunner-asset-mapping
Consolidated lookup tables for mapping source map format elements to RoadRunner project asset paths. All paths are relative to the project Assets/ folder.
.rrlms asset pathsroadrunner-rrhd-authoringroadrunner-convert-lanelet2-to-rrhdroadrunner-import-sceneAssets/ — always prefix when constructing RelativeAssetPath objects..rrlms = lane marking style, .rrcws = crosswalk style, .rrpms = polygon marking style, .svg_rrx = sign. Using wrong extension causes "Asset file is missing" on import..svg_rrx extension (NOT .svg). The .svg paths in XML configs are internal references only.Stop_JP_01.svg_rrx, MaxSpeedLimit_30_DE.svg_rrx). The old Sign_<code>.svg naming is obsolete.Asset mappings are derived from the official RoadRunner project configuration XMLs:
DefaultAssets.xml — default materials and markingsApolloAssetData.xml — Apollo/Baidu HD Map formatOpenDriveAssetData.xml — OpenDRIVE formatHEREAssetData_NA.xml / HEREAssetData_WE.xml — HERE HD Map (NA/EU)TomTomAssetData.xml — TomTom HD Map formatThese XML files are located in the RoadRunner project's configuration directory (typically <RoadRunner Project>/Configuration/).
See references/laneMarkings.md for full mapping table.
Key patterns:
Assets/Markings/ with .rrlms extensionSolidDoubleYellow.rrlmsSolidSingleWhite.rrlmsSee references/signs.md for full mapping table.
CRITICAL: Asset File Extension
.svg_rrx extension on disk (NOT .svg).svg paths in project XML configs are internal references only.svg_rrx in RelativeAssetPath objects — using .svg causes "Could not find asset" errorsMANDATORY: Runtime Asset Discovery
dir(fullfile(projFolder, 'Assets', 'Signs', region, category, '*.svg_rrx')) to discover available signsKey patterns:
Assets/Signs/US/Regulatory Signs/ or Assets/Signs/US/Warning Signs/Assets/Signs/Germany/Regulatory Signs/Assets/Signs/Japan/Regulatory Signs/ or Assets/Signs/Japan/Warning Signs/GeoOrientedBoundingBox (Center + Dimension + GeoOrientation)Naming convention: Signs use descriptive English names with region suffix:
<Description>_<Region>.svg_rrx (e.g., Stop_JP_01.svg_rrx, MaxSpeedLimit_30_JP.svg_rrx)Sign_<code>.svg naming is obsolete — files do NOT exist on diskRegion detection from 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
Region-specific sign paths (verified R2026a with RoadRunner_Asset_Library):
| Sign | Japan | US | Germany |
|---|---|---|---|
| Stop | Signs/Japan/Regulatory Signs/Stop_JP_01.svg_rrx | Signs/US/Stop_US.svg_rrx | Signs/Germany/Regulatory Signs/Stop_DE.svg_rrx |
| Yield | — | Signs/US/Yield_US.svg_rrx | Signs/Germany/Regulatory Signs/Yield_DE.svg_rrx |
| Speed 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 |
| Fallback | Signs/Japan/Regulatory Signs/SlowDown_JP_01.svg_rrx | Signs/US/White_Blank_US.svg_rrx | Signs/Germany/Warning Signs/Danger_DE.svg_rrx |
| Configuration | Asset Path |
|---|---|
| 3-light vertical (post) | Props/Signals/Signal_3Light_Post01.fbx |
| 3-light vertical (bare) | Props/Signals/Signal_3Light_Bare01.fbx_rrx |
Authoring vs Import limitation: You CAN author SignalType objects (add to rrMap.SignalTypes) and Signal instances (add to rrMap.Signals) in MATLAB and write the map to .rrhd — signal data IS written to the file and survives read/write cycles. However, RoadRunner silently ignores signals when importing .rrhd maps — signals will not appear in the RoadRunner scene after import. Show the asset paths and authoring code, but warn the user about this import limitation.
See references/barriers.md for full mapping table.
Key patterns:
Assets/Extrusions/ with .rrext or .rrext.rrmeta extensionroadrunner.hdmap.BarrierType with ExtrusionPathSee references/staticObjects.md for full mapping table.
Key patterns:
Assets/Props/ subdirectories (Trees, Signals, TrafficControl, etc.)roadrunner.hdmap.StaticObjectType with AssetPathGeoOrientedBoundingBox for placementSee references/laneTypes.md for full mapping table.
Extension rules (commonly confused):
.rrcws = crosswalk style (only for actual crosswalks).rrlms = lane marking style (stop lines, bike markings, zig-zag).rrpms = polygon marking style (striped regions, chevrons).rrcws_rrx / .rrlms_rrx = region-specific variants (Japan, Germany, etc.)Base assets (universal):
| Type | Asset Path | Extension |
|---|---|---|
| Simple crosswalk | Markings/SimpleCrosswalk.rrcws | .rrcws |
| Continental crosswalk | Markings/ContinentalCrosswalk.rrcws | .rrcws |
| Ladder crosswalk | Markings/LadderCrosswalk.rrcws | .rrcws |
| Stop line | Markings/StopLine.rrlms | .rrlms |
| Striped region | Markings/StripedRegion.rrpms | .rrpms |
Japan-specific markings (.rrlms_rrx / .rrcws_rrx):
| Type | Asset Path |
|---|---|
| Stop line | Markings/Japan/StopLine_JP.rrlms_rrx |
| Crosswalk | Markings/Japan/SimpleCrosswalk_JP.rrcws_rrx |
| Solid single white | Markings/Japan/SolidSingleWhite_JP.rrlms_rrx |
| Dashed single white | Markings/Japan/DashedSingleWhite_JP.rrlms_rrx |
| Solid double white | Markings/Japan/SolidDoubleWhite_JP.rrlms_rrx |
| Solid double yellow | Markings/Japan/SolidDoubleYellow_JP.rrlms_rrx |
Germany-specific markings:
| Type | Asset Path |
|---|---|
| Stop line | Markings/Germany/StopLine_DE.rrlms_rrx |
| Crosswalk | Markings/Germany/SimpleCrosswalk_DE.rrcws_rrx |
Region selection: Use base (non-regional) assets as default. Use regional variants when the map's geoReference indicates a specific region AND the regional asset exists in the project.
| Type | Asset Path |
|---|---|
| Arrow left | Assets/Stencils/Stencil_ArrowType4L.svg |
| Arrow right | Assets/Stencils/Stencil_ArrowType4R.svg |
| STOP text | Assets/Stencils/Stencil_STOP.svg |
| Purpose | Asset Path |
|---|---|
| Road surface | Assets/Materials/Asphalt1.rrmtl |
| Sidewalk / concrete | Assets/Materials/Concrete1.rrmtl |
| Ground / grass | Assets/Materials/Grass1.rrmtl |
These are the project-wide defaults (from DefaultAssets.xml):
| Name | Path |
|---|---|
| Island Curb Material | Assets/Materials/Concrete1.rrmtl |
| Blank Sign | Assets/Signs/US/White_Blank_US.svg_rrx |
| Blank Warning Sign | Assets/Signs/US/Yellow_Blank_US.svg_rrx |
| Surface Material | Assets/Materials/Grass1.rrmtl |
| Crosswalk | Assets/Markings/SimpleCrosswalk.rrcws |
| Stop Line | Assets/Markings/StopLine.rrlms |
| Parking Space Marking | Assets/Markings/SolidSingleWhite.rrlms |
| Road Surface Material | Assets/Materials/Asphalt1.rrmtl |
| Road Center Marking | Assets/Markings/SolidDoubleYellow.rrlms |
| Dashed Road Marking | Assets/Markings/DashedSingleWhite.rrlms |
| Road Outer Boundary | Assets/Markings/SolidSingleWhite.rrlms |
| Road Inner Boundary | Assets/Markings/SolidSingleYellow.rrlms |
| One Way Passing | Assets/Markings/DashedSolidYellow.rrlms |
| Vehicle | Assets/Vehicles/Sedan.fbx |
% 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
All asset paths are prefixed with Assets/ when used in RRHD RelativeAssetPath objects.
Assets/Markings/<Name>.<ext> — extension determines type (.rrlms, .rrcws, .rrpms)Assets/Markings/<Region>/<Name>_<CC>.<ext>_rrx (e.g., _JP.rrlms_rrx)Assets/Signs/<Region>/<Category>/<Description>_<CC>.svg_rrx (NOT .svg)Assets/Extrusions/<Name>.rrext (or .rrext.rrmeta)Assets/Props/<Category>/<Name>.fbx (or .fbx_rrx)RelativeAssetPath(AssetPath="...") for RRHD construction (Name=Value syntax)SolidDoubleYellow.rrlms; default outer boundary: SolidSingleWhite.rrlms----
Copyright 2026 The MathWorks, Inc.
Take matlab/roadrunner-asset-mapping from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.