Documentation Index
Fetch the complete documentation index at: https://docs.roboticks.io/llms.txt
Use this file to discover all available pages before exploring further.
Sim runners
A simulation test is any test that needs a 3D physics world to evaluate the system under test. Roboticks supports Gazebo Harmonic and Webots today, on hosted G4dn.xlarge Spot Fleet GPUs or self-hosted via theroboticks-runner binary on your own GPU box.
Sim minutes are the only meaningful cost dimension on the platform. They exist because GPU time is expensive. Reserve sim tests for the cases where headless ROS2 won’t do.
When is a sim test worth it
| Use sim when | Use headless ROS2 when |
|---|---|
| Test asserts on physics (collision, traction, suspension) | Test asserts on message contracts, topic publication, parameter wiring |
| Test exercises perception against a 3D world | Test exercises perception against a recorded MCAP |
| Test requires a full navigation stack with map + plan + execute | Test exercises planner alone with mocked map server |
| You’re verifying a safety scenario that needs the actuator loop | You’re verifying a unit’s response to a known input |
Mark the test
Two parameters on@requires_sim:
engine:"gazebo"or"webots". The scheduler refuses to dispatch agazebotest to awebotsrunner.gpu: WhenTrue, routes to G4dn.xlarge Spot Fleet (hosted) or any self-hosted runner labelledgpu=true. WhenFalse, the scheduler can use a CPU-only sim runner for lightweight scenarios.
The job router
Routing priority:- Self-hosted pools with matching labels take precedence (free of sim-minute charges).
- Hosted pools take the rest. Sim minutes are metered per the pricing page.
- If neither pool can serve the request, the job queues with a warning the dashboard surfaces immediately.
Hosted sim runners
| Pool | Instance | Image | GPU |
|---|---|---|---|
hosted-ros2-cpu | Fargate Spot, 2 vCPU / 4 GB | ros:humble + roboticks | — |
hosted-gazebo-gpu | G4dn.xlarge Spot Fleet | ros:humble + Gazebo Harmonic | NVIDIA T4 |
hosted-webots-gpu | G4dn.xlarge Spot Fleet | ros:humble + Webots | NVIDIA T4 |
Self-hosted sim runners
Run the Go binary, declare your GPU, and you’re in the pool. See Runners → Installation for the full setup. The relevant excerpt for sim:nvidia-smi output on enrolment; the scheduler uses it to match gpu=True jobs to physical GPUs.
Cost realism
A typical hosted Gazebo nav test is 60–120 s of wall-clock per run. A nightly suite of 50 such tests, running every weekday, on the Team tier (500 minutes included):- 50 tests × 90 s = 75 min / night.
- 20 weekdays × 75 min = 1,500 min / month.
- 1,500 − 500 (included) = 1,000 metered minutes.
- 1,000 × 100 / month overage** on a single team running this cadence.
Image customisation
Hosted images are pinned. If you need a customised Gazebo world or extraapt packages, two options:
- Bundle in your test tree. The runner makes
tests/sim_assets/available to launched worlds. Best for project-specific worlds. - Bring your own image on a self-hosted runner. The runner pulls the image you point it at, including your custom Gazebo or Webots build.
Next
Runners overview
Hosted vs self-hosted, pools, labels, autoscaling.
Self-host a runner
Get a GPU box into the pool.
Pricing
How sim minutes are counted.
Launch testing
Multi-node sim test patterns.