API Reference
Reference for the simulo SDK (v0.27.0).
Platform
Section titled “Platform”Declare, submit, and observe work: the job container, runtime, durable storage, the shared error hierarchy, job outputs, and lifecycle callbacks.
Learning
Section titled “Learning”The contracts your task / scenario code fulfils, what composes them, 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 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.CheckpointId— Identifies one training checkpoint.simulo.Collision— Collision on/off, independent of a body’s other physics properties.simulo.Cone— A cone primitive.simulo.ContactSensor— Contact force sensor using PhysX contact reporting — net forces and air time, commonly for foot contact detection.simulo.ContractViolationError— An object failed to satisfy a Simulo contract/Protocol — e.g. a customTask/Scenariosubclass with 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.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.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.ModelPublicId— A validated human-facing Model ID.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 a trained model.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_job_public_id— Validate and canonicalize a human-facing Job ID.simulo.parse_model_public_id— Validate and canonicalize a human-facing Model 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— Callable observation → action policy.simulo.Pose— 6-DOF pose — position (xyz) and orientation (quat_wxyz, w-first quaternion).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.run— Run aScenariosubclass end to end — build the scene, then step it untilmax_stepsor the window closes.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.Scenario— Interactive sim lifecycle — build the scene, then step it (no training loop).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 termination condition —initialize,check.simulo.TerminationSet— Combines a list ofTerminationConditions with OR logic — terminates if any condition is met.simulo.Terrain— Terrain factory —Terrain.plane(...)andTerrain.rough(...)generate ground.simulo.TerrainConfig— Base terrain configuration — a name and a pose.GroundPlaneandRoughTerrainextend it.simulo.TrainedModelId— Identifies one trained model.simulo.Trainer— Training orchestration —train,evaluate,save,load.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, durable, writable volume mounted into a running job.simulo.World— World factory —World.usd(...)loads a prebuilt USD scene as-is.