Simulation & digital-asset dossier · 03

robot_descriptions.py: making automatic model access reproducible and rights-aware

Use one Python interface to discover and load heterogeneous URDF, Xacro and MJCF descriptions while preserving each upstream repository, generated variant, commit and licence as independent evidence.

Evidence statusConvenient multi-framework access layer · upstream assets remain heterogeneous · automatic download is not validation or rights clearanceSources checked 4 August 2026

Identify the exact asset first

A catalogue name cannot replace the exact format, upstream commit, generation arguments, runtime and licence.

robot_descriptions.py is an open catalogue and loader that exposes 185-plus robot descriptions as Python modules and framework-specific loaders for MuJoCo, Pinocchio, iDynTree, PyBullet, RoboMeshCat and yourdfpy. It downloads and caches upstream descriptions; it does not own, standardise or validate all underlying models.

Digital asset map

Put formats, geometry, dynamics, scenes, loaders, versions and provenance onto one dependency map.

01

Catalogue metadata

Publicly available

Named description modules organised across arms, bipeds, drones, humanoids, quadrupeds, wheeled systems and other categories.

Verify before adoption

Record loader release, description name, upstream URL, format, advertised licence, tags and last verified status.

02

Download & cache layer

Publicly available

Automatic first-use download and local caching of upstream robot-description repositories.

Verify before adoption

Capture the resolved upstream commit, cache path, checksum, update behaviour and offline reconstruction procedure.

03

Generated descriptions

Publicly available

URDF_PATH, MJCF_PATH and package paths, with Xacro rendering and arguments where required.

Verify before adoption

Archive the generated URDF, Xacro arguments, environment, mesh resolution, resource mapping and any loader transformation.

04

Framework loaders

Publicly available

Direct loaders for several dynamics, visualisation and simulation frameworks.

Verify before adoption

Compare parser semantics, fixed-joint handling, transmissions, mimic joints, materials, collision geometry and unsupported tags.

Layered licence reading

Loaders, model XML, meshes, textures, brands and generated outputs may belong to entirely different rights layers.

Asset layerKnown statusAdoption decision
Loader code

The robot_descriptions.py project identifies Apache-2.0 for its own code.

Preserve notices and pin the installed release or commit used by the experiment.

Downloaded descriptions

Every upstream description retains its own repository and licence.

Build a per-description licence manifest; the loader's Apache licence does not flow downstream to cached assets.

Meshes, textures & brands

Third-party geometry and trademarks may have terms that differ from the description code.

Inspect file-level notices and upstream history before redistribution, publication or commercial use.

This table is a source-navigation and engineering-decision aid, not legal advice. Use original licence texts and qualified advice for an actual decision.

Model & asset validation gates

From identity freeze and structural checks to behavioural calibration and experiment replay, prove what the model can support one gate at a time.

  1. 01

    Resolution manifest

    Evidence to preserve

    Loader version, module name, upstream URL/commit, format, variant, Xacro arguments, cache checksums and licences.

    Stop condition

    Stop if an automatic update or floating branch prevents reconstruction of the same files.

  2. 02

    Parse & structure checks

    Evidence to preserve

    Warnings, link/joint tree, units, limits, mimic/transmission behaviour, inertials, collisions and resource resolution.

    Stop condition

    Do not use a description merely because one framework can display it.

  3. 03

    Cross-loader comparison

    Evidence to preserve

    Matched link poses, degrees of freedom, mass, centres of mass, joint limits and collision geometry across target frameworks.

    Stop condition

    Do not compare algorithms when loaders produce materially different robot models.

  4. 04

    Use-case validation

    Evidence to preserve

    Declared task, required properties, calibration source, acceptable error, regression fixtures and retained failure cases.

    Stop condition

    Catalogue inclusion cannot support physical, safety or performance claims outside the tested model properties.

FUURAA analysis

A digital asset becomes valuable when a team can explain where it came from, how it changed and which behaviours have been proven.

01

Best use

Fast model discovery and repeatable loader experiments across several established robotics frameworks.

02

Main risk

One import statement hides a remote repository, mutable revision, generated file, framework parser and separate licence chain.

03

FUURAA judgement

Use the loader for discovery, then materialise an immutable evidence bundle containing the resolved source, generated model, licences and validation results.

Applicability boundary

Simulation assets can accelerate research, training and integration; they do not automatically become manufacturing drawings, a physical digital twin or a safety case.

Can support

  • Cross-framework robot-description discovery
  • Loader and parser regression testing
  • Versioned model catalogues for research

This page cannot replace

  • Upstream asset provenance and rights review
  • Physical geometry, dynamics and calibration evidence
  • A certified, product-specific digital twin
Continue into the robot product development pathFrom digital model and verification to controlled prototype →