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.
Start with the Simulo global catalog
Section titled “Start with the Simulo global catalog”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:
simulo asset list --global --kind robotSearch across both the global catalog and your organization’s catalog:
simulo asset search cartpole --kind robotInspect a specific immutable version before using it:
simulo asset inspect simulo/robot/cartpole:v1The 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:
simulo asset inspect simulo/robot/cartpole:v1 \ --report cartpole-validation.jsonUse 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:
simulo asset validate ./my-arm \ --kind robot \ --entry robot.urdf \ --report my-arm-validation.jsonWhen the package is ready, publish it:
simulo asset publish ./my-arm \ --kind robot \ --name my-arm \ --entry robot.urdfPublishing 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:
simulo asset inspect robot/my-arm:v1my_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.
Keep the selected version reproducible
Section titled “Keep the selected version reproducible”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:
simulo run app.py --frozen --strict-assetsThe 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.