NewVerified new accounts receive $100 in welcome credits, no card required.Start on RobotGym
Platform · Atom

Automate development with Atom

Atom builds the twin from your photographs and documents, designs the task in conversation and can take the controls itself through the same harness as any policy. Everything it decides is written down beside the frames.

Describe the scene. Describe the task. Atom builds both, and shows its working.

Atom · everyday kitchenbuild from 1 photographbuilt
  1. youRebuild this kitchen and add a mug for a robot to pick up.
  2. atomRead the photograph. Recovered the counters, cabinets, sink, blind and tiled wall as separate objects with their materials. Fitted the camera to the frame.
  3. atomAdded a pale blue ceramic mug on the counter as the task object and placed a Franka Panda within reach.
Objects591
Vertices31,423
Blender4.5.3
build

The twin, from your material

Atom reads photographs, video, PDF and Word documents, notes, tables and 3D assets together, then rebuilds the workspace as separate, editable geometry with recovered materials and a fitted camera. It places the robot, sets the task object and lists every estimate it made so you can correct it. The everyday kitchen came from one photograph.

  • One photograph is enough to start. Drawings and CAD sharpen the result.
  • Geometry, materials, lighting, cameras and robot placement are edited in conversation.
  • Scale, mass and friction estimates are listed beside the scene.
atom-program.pyeveryday kitchen · programs 7 and 10 of 10
# Program 7 at control step 170
move_to(2.678, 0.065, 1.015, open=1, steps=18)
move_to(2.678, 0.065, 0.945, open=1, steps=28)
checkpoint(note="Inspect whether one finger is inside the mug
  and the other is outside its wall before closing.")

# Program 10 at control step 282
grip(0, steps=24)
current = pose()
move_to(current[0], current[1], current[2] + 0.12, steps=32)
checkpoint(note="Inspect whether the mug lifted with the gripper
  and is held between the fingertip pads.")

The full transcript is public at showcase/kitchen/atom-program.py. Coordinates are world metres.

two doors

One call at a time, or one program

When Atom takes the controls there are two ways for it to move the arm, and both go through the same primitives. It can call them one at a time, looking between each call. Or it can write a short program that runs several moves between calls, then checkpoint to look again. The kitchen run used ten programs. Programs run in a restricted language in a separate process with no provider keys, no network and no access to other episodes.

  • Tool calls: one primitive per model turn, with fresh images between turns.
  • Programs: a bounded sequence over the same primitives, sandboxed.
  • Both paths share the 20 Hz waypoint generator, inverse kinematics and joint servos.
Step 282kitchen · model input vs presentationsuccess
The 224 by 224 pixel camera frame the model received in the kitchen run
Policy camera · 224 px · unchanged
Spectator render of the same moment, the arm lifting the mug
Spectator render · not a model input
what it sees

Frames for the model, frames for people

The model receives small camera frames and the measured gripper pose. The spectator render you watch is made afterwards from the recorded poses, in Cycles, for people. RobotGym keeps the two apart everywhere, so a pretty video is never mistaken for what the model saw.

  • Three RGB cameras, 224 pixels square in the kitchen run, plus the measured pose and calibration.
  • The two most recent observations keep their images. Older states remain as text.
  • No object positions, no success signal, no labels read as instructions.
Usage and replayrun d9e05837 · replay 08c19c3a
Input tokens34,352
Output tokens6,075
Cached tokens12,420
Cache writes1,380
Replay model calls0
Same actionsyes
replay and cost

Programs that replay, costs we measured

A program that worked is a file, not a memory. The saved kitchen program was replayed fresh on the same scene, configuration and seed. It succeeded with zero new model calls and the same actions and joint states as the original run. Model calls are the expensive part of a run, so the harness caches the stable prefix of every request explicitly.

  • Replay uses the recorded commands, not a new model session. A changed scene or seed needs a new evaluation.
  • Explicit prompt caching with a thirty-minute time to live. Earlier audits measured a 21 percent input-cost cut on the one-call path and 31 percent on the program path.
  • Median inference in the kitchen run was 14.2 seconds per call. Physics paused throughout.
Audits · September 2026history, not rates
AuditDeclared casesSucceededNote
One-call agent, final version63development cases
Program pilot44two by delegating to π0.5
Startup checks6 arms × 40 taskspassednot policy success
history

Where this came from

Before the current release we ran two engineering audits on the agent paths and published the numbers. They are history, not rates, and we keep them here so the record is complete. The one-call agent succeeded on 3 of 6 declared development cases in its final version. The program pilot succeeded on 4 of 4, two of them by delegating to a hosted π0.5 policy that is no longer on the menu.

  • Saved programs replayed with bit-identical actions and zero model calls.
  • Six arms across forty LIBERO tasks passed startup and observation checks. Infrastructure validation, not policy success.
  • The current workspace exposes the Panda reference robot only.

Describe the task.Watch the notes arrive with the frames.

Atom can build the twin, design the scenario and run it. Choose the model behind it, set the budget and read what it decided.

Illustration of a robot arm with a small stack of program cards
Input // policy camera · 224 px
Programs : 10 / Model calls : 10 / VLA calls : 0
Verdict : success // lift 0.082 m