Skip to content

Choose & validate assets

Robotics apps use versioned assets for the robots, worlds, and props in their scenes. You can start immediately with the Simulo global catalog, or publish assets into your organization’s catalog when you bring your own content.

The global catalog is Simulo’s ready-to-use, read-only collection of validated assets. Global references begin with simulo/, so they are always visibly distinct from assets owned by your organization.

Browse the available robots:

Terminal window
simulo asset list --global --kind robot

Search across both the global catalog and your organization’s catalog:

Terminal window
simulo asset search cartpole --kind robot

Inspect a specific immutable version before using it:

Terminal window
simulo asset inspect simulo/robot/cartpole:v1

The inspection shows the package identity and digest, entry file, validation status, measured facts such as joints and degrees of freedom, and version history. Save the full validation report when you want the individual check rows:

Terminal window
simulo asset inspect simulo/robot/cartpole:v1 \
--report cartpole-validation.json

Use the same catalog reference in Python:

import simulo
cartpole = simulo.Asset.from_registry("simulo/robot/cartpole:v1")

The default simulo create starters already declare this exact handle at module level. You do not need to download or copy the asset into your app.

Bring an asset into your organization’s catalog

Section titled “Bring an asset into your organization’s catalog”

Your organization’s catalog is where you publish a custom robot, world, or prop. Organization-owned references omit the simulo/ publisher prefix: robot/my-arm:v1, for example.

You can run the cloud validator without publishing a version:

Terminal window
simulo asset validate ./my-arm \
--kind robot \
--entry robot.urdf \
--report my-arm-validation.json

When the package is ready, publish it:

Terminal window
simulo asset publish ./my-arm \
--kind robot \
--name my-arm \
--entry robot.urdf

Publishing performs local package inspection, uploads the self-contained dependency tree, and runs the same cloud validation. A version such as v1 is assigned only after validation passes. Inspect it and use the resulting ref exactly like a global asset:

Terminal window
simulo asset inspect robot/my-arm:v1
my_arm = simulo.Asset.from_registry("robot/my-arm:v1")

For robots, validation includes structural and schema checks plus settle and actuation probes. USD packages are checked directly; URDF robots are converted to USD before the runtime probes. Read Asset Validation for the report fields and common corrections.

An explicit :vN makes the app’s input stable. Run with both asset-integrity gates when you want submission to reject unpinned, deprecated, or runtime-unvalidated inputs:

Terminal window
simulo run app.py --frozen --strict-assets

The next page scaffolds an app that already uses the pinned global cartpole. You can run it unchanged, choose another global asset, or replace the handle with your organization-owned ref.

Create your first app.