API Reference
Reference for the simulo SDK (v0.32.0).
Platform
Section titled “Platform”Declare, submit, and observe work: the job container, runtime, a writable scratch folder, the shared error hierarchy, job outputs, and lifecycle callbacks.
Learning
Section titled “Learning”The contracts your task code fulfils, what composes it, and what executes them.
Authoring
Section titled “Authoring”The vocabulary a build(scene) uses to declare what exists: entities, placement, terrain, sensors, actuators, lights, markers, materials, and physics.
Wire & identifiers
Section titled “Wire & identifiers”Strongly-typed identifiers, friendly Job, Policy, and Output IDs, and the wire-stable enums/records shared by the client and the platform.
Every documented name, one click away:
simulo.ActuatorGainsConfig— Per-actuator-group PD gains (stiffness/damping) — passed viaRobot(actuator_gains={...}).simulo.App— Job container — declare jobs with@app.joband submit withsimulo run.simulo.ArrowMarker— Directional arrow marker — for visualizing forces, velocities, or normals. WhatVisual.arrow(...)returns.simulo.Asset— Read-only catalog handle (simulo/robot/cartpole:v1) with submit-time version pinning, plus lower-levelusd()/urdf()model sources.simulo.AssetEntity— An Entity loaded from a USD/URDF asset — whatEntity.from_asset(...)returns.simulo.AssetSource— A USD/URDF model source named by file path — no catalog identity, no version pin.simulo.AxesMarker— XYZ coordinate-axes marker (red/green/blue) — for visualizing frames, end-effector poses, or targets. WhatVisual.axes(...)returns.simulo.callbacks— Thesimulo.callbackssubmodule — job lifecycle callbacks passed to@app.job(callbacks=[...]).simulo.Camera— RGB-D camera sensor — configured at authoring time, read after the simulation steps.simulo.CameraSpawnConfig— Camera optics — focal length, focus distance, aperture, and clipping range.simulo.checkpoint_ref_is_job_hint— Format the correction for a Job ID used as a checkpoint reference.simulo.CheckpointId— Identifies one training checkpoint.simulo.CheckpointRefIsJobError— Raised when a checkpoint reference uses a Job ID instead of a Policy ID.simulo.Collision— Collision on/off, independent of a body’s other physics properties.simulo.Cone— A cone primitive.simulo.ContactSensor— Contact force sensor: net contact forces and air time per body, commonly used to detect foot contact.simulo.ContractViolationError— An object failed to satisfy a Simulo contract, such as a customTaskwith a missing or mismatched member.simulo.Cuboid— A box primitive, sized(width, depth, height).simulo.Cylinder— A cylinder primitive.simulo.DeformableMaterial— Material properties for a deformable body — Young’s modulus, Poisson’s ratio, damping.simulo.DeformablePhysics— Deformable-body physics — wraps an optionalDeformableMaterial.simulo.DifferentialIKController— Differential inverse kinematics — moves an end-effector to a target pose by computing joint position commands.simulo.Digest— Content-addressed digest of a package source.simulo.DistantLight— Distant (directional) light — parallel rays from infinity, like sunlight. WhatLight.distant(...)returns.simulo.DomeLight— Dome light for ambient illumination. WhatLight.dome(...)returns.simulo.Entity— Base scene object — a name, a pose, and optional material/physics.simulo.evaluate— Run a trained policy on numbered episodes, judge each with the eval file’s@app.successfunction, and return the evaluation report.simulo.ForceTorqueSensor— 6-DOF force/torque sensor for a joint or link — commonly an end-effector or wrist.simulo.FrameTransformer— Computes the relative pose from a source frame to one or more target frames — for tracking objects and links relative to each other.simulo.FrameTransformerTarget— One target frame for aFrameTransformer— a prim path, optional name, and offset.simulo.GripperCommand— Command a gripper ACCEPTS — OPEN, IDLE, or CLOSE.simulo.GripperState— State a gripper REPORTS — OPEN, CLOSING, or CLOSED.simulo.GroundPlane— An infinite flat ground plane — whatTerrain.plane(...)returns.simulo.ImportResolutionError— A deferredruntime.imports()symbol was used in local discovery mode without a resolved cloud import.simulo.IMU— Inertial measurement unit — linear acceleration, angular velocity, and orientation.simulo.JobFailedError— Raised when a submitted job terminates in a failed state.simulo.JobId— Identifies one submitted job.simulo.JobPublicId— A validated human-facing Job ID.simulo.JobType— The type of a job: preview, train, eval, play, asset_validation or export.simulo.LearningEnv— Gym-like vectorized environment —reset,step,close.simulo.Light— Light factory —Light.distant(...)andLight.dome(...)build the two light types.simulo.LightConfig— Base light configuration — a name, intensity, color, and pose.simulo.Material— Base material — thecolor/opacityevery concrete material carries.simulo.ObservationComponent— One observation term —initialize,dim,compute.simulo.ObservationSet— Concatenates observations from a list ofObservationComponents into one tensor.simulo.OperationalSpaceController— Task-space impedance control with optional simultaneous force control —for_compliant_motion()/for_force_control()build the common cases.simulo.OrganizationId— Identifies one organization.simulo.Output— A validated file registration created while a job is running; eligible registrations become Outputs only once persisted.simulo.OutputKind— Kind of a job-produced output. A checkpoint is not an ONNX bundle.simulo.OutputPublicId— A validated human-facing Output ID.simulo.PackageId— Identifies one uploaded job package.simulo.ParallelGripperActuator— A two-finger gripper driven by finger-joint position targets — same command and state contract asSurfaceGripperActuator.simulo.parse_checkpoint_ref— Parse a policy checkpoint reference such aspolicy_x:best.simulo.parse_job_public_id— Validate and canonicalize a human-facing Job ID.simulo.parse_output_public_id— Validate and canonicalize a human-facing Output ID.simulo.parse_recording_public_id— Validate and canonicalize a human-facing Recording ID.simulo.Physics— Physics factory —Physics.rigid(...)andPhysics.deformable(...)build the two kinds.simulo.Player— Trained-policy playback — episodes, steps, optional video.simulo.PointMarker— Lightweight point marker — for visualizing many points at once. WhatVisual.point(...)returns.simulo.policy_id_for_job— Derive the policy ID made by a public Job ID.simulo.PolicyCheckpoint— A named policy checkpoint injected into a play job.simulo.PolicyNetwork— Callable policy network loaded from a checkpoint.simulo.PolicyNetworkProtocol— The structural contract for a callable policy network.simulo.PolicyPublicId— A validated human-facing Policy ID.simulo.Pose— 6-DOF pose — position (xyz) and orientation (quat_wxyz, w-first quaternion).simulo.preview— Check a task’s robot the way training will run it before training starts; returns a preview report and makes no policy.simulo.PrimitiveShape— Base class for the primitive shapes below — a name, pose, material, and physics.simulo.ProjectId— Identifies one project.simulo.Prop— A movable scene object whose pose you can read and write — wrap a primitive shape in one when a task needs to know where the object is, or to put it somewhere.simulo.RayCaster— GPU ray-casting distance sensor — commonly a height scanner for locomotion.simulo.RayPattern— Ray distribution configuration forRayCaster— pattern type, resolution, and size.simulo.RecordConfig— Recording configuration passed toplayer.play(record=...)— an output path, plus a profile and per-streaminclude_*overrides.simulo.RecordingPublicId— A validated human-facing Recording ID.simulo.ResourceId— Identifies one registry-resolved resource mount.simulo.ResourceNotFoundError—from_registry()/from_name()-style resolution could not find the named resource or volume.simulo.ResourceUri— A registry ref string, e.g."robot/so-arm-100:v3".simulo.ResumeIncompatibleError— A discovered checkpoint is incompatible with the current job.simulo.RewardComponent— One reward term —initialize,compute.simulo.RewardSet— Sums weighted rewards from a list ofRewardComponents into one tensor.simulo.RigidPhysics— Rigid-body physics — mass, collision, kinematic, and contact-sensor activation.simulo.RLPlayer— Runs a trained policy (skrl checkpoint or exported TorchScript/ONNX) without training — playback, video, and MCAP recording.simulo.RLTrainer— Reinforcement learning trainer (skrl PPO/IPPO/MAPPO/AMP) — the concrete class a job constructs to fulfil theTrainercontract.simulo.Robot— The robot authoring contract — configuration, joint/body queries, commands, state, reset.simulo.RoughTerrain— Procedurally generated rough terrain for locomotion training — whatTerrain.rough(...)returns.simulo.Runtime— A Simulo-curated runtime — picked by name;imports()boundary;torch_jitkernels.simulo.save_output— Register a general file for upload after a successful job; it becomes downloadable only once persisted.simulo.Scene— The scene authoring contract — add robots, terrain, lights, and entities at logical paths.simulo.SensorOffset— Position + orientation offset for mounting a sensor relative to its attachment point.simulo.Simulation— The simulation clock and lifecycle — timestep, physics stepping, seeds, device placement, reset/close.simulo.SimuloError— Root of the shared Simulo exception hierarchy — catch this to handle any Simulo-raised error generically.simulo.Sphere— A sphere primitive.simulo.SphereMarker— Sphere marker — for visualizing targets, waypoints, or collision points. WhatVisual.sphere(...)returns.simulo.SubTerrainConfig— One sub-terrain type in aRoughTerrain’s grid — e.g."pyramid_stairs","random_rough".simulo.SurfaceGripperActuator— A physics-constraint gripper added to the scene at a prim path and driven withset_command.simulo.SurfaceMaterial— Surface material —Materialplusroughness. The one concrete material type today.simulo.SystemType— An abstract GPU system tier — one of a closed, published set.simulo.TagId— Identifies one tag.simulo.Task— The RL task contract you subclass — observations, rewards, dones, actions, resets.simulo.TerminationCondition— One optionally named termination condition —name,initialize,check.simulo.TerminationSet— Returns a named boolean-tensor dictionary for itsTerminationConditions; an episode ends when any value is true.simulo.Terrain— Terrain factory —Terrain.plane(...)andTerrain.rough(...)generate ground.simulo.TerrainConfig— Base terrain configuration — a name and a pose.GroundPlaneandRoughTerrainextend it.simulo.Trainer— Training orchestration withtrain,save, andload.simulo.Transform— A named coordinate frame — group entities under it, then place the group in the scene.simulo.URDFAsset— A URDF model source — whatsimulo.AssetSource.urdf(path)returns.simulo.USDAsset— A USD model source — whatsimulo.AssetSource.usd(path)returns.simulo.USDWorld— A prebuilt USD world — whatWorld.usd(...)returns.simulo.Visual— Marker factory —Visual.axes(...),.sphere(...),.arrow(...), and.point(...)build the four marker types.simulo.VisualMarkerBase— Base class every marker type extends — a name, and theset_pose/set_visibilitycontract.simulo.Volume— Named, writable folder on the GPU machine, mounted into a running job.simulo.World— World factory —World.usd(...)loads a prebuilt USD scene as-is.