Documentation menu

Environments

Versioned catalogue scenes, from a bare bench cell to an instrumented surgical replica — with the reset problem handled for you.

An environment is the other half of a result's address. kitchen-std@v1.2 names a specific catalogue scene at a specific revision: the same 214 objects, the same layout envelope, the same instrumentation. When the scene changes — an object swapped, a fixture moved — the revision changes, and results across revisions stop being silently comparable.

The catalogue

roborama.environments.list()
import roborama  # reads ROBORAMA_API_KEY from the environment

robots = roborama.robots.list()
print(robots)
# [{id:"g1-edu-pro", class:"humanoid", dof:37, hands:"dex3-1",
#   firmwares:["2.3","2.4"], cells:6, duty_cycle_pct:71, tier:"verify"}]

environments = roborama.environments.list(cls="kitchen")
print(environments)
# [{id:"kitchen-std", rev:"v1.2", instrumentation:["mocap","ft"],
#   objects:214, reset:"scripted", adder_tier:"replica"}]
FieldTypeNotes
idstrcatalogue id; pin a revision with @, e.g. kitchen-std@v1.2
revstrscene revision; bumped whenever objects, layout envelope, or instrumentation change
classstrbench, kitchen, warehouse, surgical — filter with list(cls=...)
instrumentationstr[]mocap (6-DoF ground-truth poses), ft (wrist force-torque), overhead-cam, high-speed-cam
objectsintcatalogued objects in the scene's manifest
reset"scripted" | "teleop-assisted"how the scene returns to initial conditions between episodes
adder_tierstrpricing tier: bare, standard, replica, instrumented-replica

The current catalogue spans the ladder: cell-a (a bare bench, 24 objects, one overhead camera), warehouse-std@v2.0 (388 objects under mocap), kitchen-std@v1.2 (a replica kitchen with mocap and force-torque sensing), and surgical-replica@v3 (61 objects, mocap, force-torque, and high-speed cameras, with teleop-assisted resets).

Instrumentation is what you're buying

The environment-hour meter prices what the scene can measure, which is why adder_tier exists. A bare cell tells you whether the episode succeeded. An instrumented replica also tells you why: mocap gives 6-DoF ground-truth object poses on /gt/object_poses, force-torque gives contact evidence on /ft_wrist. Those channels are what make failure clusters diagnosable and what verify() returns to recalibrate a simulator. Rates per tier are on /pricing/.

Resets are the throughput

Between every episode the scene has to return to initial conditions — objects back on their marks, within the perturbation schedule's declared jitter. In un-automated labs this is where the time goes: Physical Intelligence's published online-RL result puts it at 7 of every 8 wall-clock minutes (detailed on /research/). Catalogue scenes are built for scripted resets, so episodes stream instead of trickle; surgical-replica@v3 is the exception where a human assists, and its queue_eta and adder tier reflect that.

Where next

  • Robots & firmware — the embodiment half of the address.
  • quote — what a robot × environment × episodes job costs before you run it.
  • Data contract — what the instrumentation records, channel by channel.