Core Concepts
You describe a robot learning problem in Python, preview the robot inside its
task, then submit training with simulo run. A GPU machine in the Simulo cloud
trains it. What comes back is a policy: the network that picks your robot’s
actions, saved as best and latest checkpoints. Evaluation runs one of those
checkpoints through fixed episodes and measures it against the success rule
you wrote before you decide to play, continue training, or export it.
task.py ─┐ ├─ simulo run train.py ──▶ TRAIN job_brisk-heron-4f8k2mtrain.py ─┘ │ ▼ policy_brisk-heron-4f8k2m ├─ :best └─ :latestA typical project has five Python files. task.py holds your app and your task:
the scene, what the robot observes, the reward, and when an episode ends.
preview.py checks the robot in the task, train.py trains a policy,
eval.py measures a checkpoint against your success rule, and play.py runs
a checkpoint back to watch or record it. simulo create NAME writes all five
for you.
You write against top-level simulo.* names such as simulo.App,
simulo.Task, and simulo.Robot. On your machine these names are lightweight
and need no GPU and no PyTorch, so authoring and submitting an app is fast
and works on a laptop. On the GPU machine that runs your job, the same names
are the full implementations. Your code does not change between the two.
Reading order
Section titled “Reading order”Start with Apps and jobs, then Job lifecycle, Preview,
Evaluation, and Policies and checkpoints. Together they cover the path
from simulo run to a measured checkpoint you can download or use. The rest
can be read in any order.