Client guide
This guide is for robot owners. It walks through the client workflow in the order you will actually meet it: environments first, then robots and cameras, then sessions, and finally the datasets and invoices those sessions produce.
Last updated 2026-08-09
Start with an environment
Environments are the top-level containers in the client dashboard. Each one groups robots, their cameras, the sessions run on them, and the datasets those sessions produce. Everything you do as a client happens inside an environment, so create one before anything else.
Match environments to physical reality: one environment per rig or location. This keeps camera names meaningful, session history readable, and datasets comparable, because everything in one environment was recorded under the same physical conditions. If you run an office rig and a lab rig, give them separate environments even if both hold the same robot model.
Add and pair robots
Robots join an environment through the pairing wizard. The wizard generates a one-time pairing code; you redeem it on the machine physically connected to the arm, either in the desktop client or in the robotapp on a Raspberry Pi. Once redeemed, the robot begins sending heartbeats and shows up as online. The getting started page walks through this step by step.
Each arm carries a role. A follower executes commands, whether they come from a remote operator or from a leader arm. A leader is an input device: you move it by hand and a follower mirrors it. A typical local recording rig is one leader plus one follower; a robot that is only ever driven remotely is simply a follower. You can see and change the role in the robot settings.
One hardware note that saves real money: the STS3215 servos in the SO-100 run at 7.4 V. Never power the bus with 12 V, whatever a generic servo tutorial may suggest.
Cameras: assign and name them
Cameras detected at the arm are listed during pairing and can be reassigned later. Give each one a name that describes its viewpoint, not its hardware: wrist, scene, and overhead are useful names, while camera-2 tells nobody anything six weeks later.
These names matter more than they look. They travel into your datasets as stream names, they label the tiles in the operator cockpit, and they are how you tell views apart in the episode browser. Renaming a camera midway through a data collection effort makes datasets harder to combine, so settle the names early and leave them alone. The same goes for physically moving a camera: a policy trained on the old viewpoint does not transfer to the new one.
Book and monitor sessions
With a robot online you can book a session or leave the robot available for certified operators to pick up. A booked session starts as PENDING and becomes ACTIVE when the operator connects. From that moment the environment shows the session live: camera feeds, the stream of activity events, and the session chat.
You are not a passive spectator. Use the chat to give the operator instructions or flag scene problems, and watch the activity events if something looks off. The platform monitors operator activity on its own: after a period of no input it sends an inactivity warning, and if nothing changes it stops the session so you do not pay for idle time. After completion you rate the operator on a 1 to 5 star scale, which feeds their standing on the platform.
The sessions page documents the full lifecycle, every activity event, and how extensions work when a session runs against the end of its booked time.
Datasets and the episode browser
Every completed session lands in the dataset browser as a set of episodes. The episode view plays the camera video next to synchronized joint charts, so you can scrub through an episode and see exactly what the arm did and when. This is the fastest way to judge whether a session produced usable training data or whether you need to tighten the task description for the next one.
Datasets are stored in LeRobot format and can be trained on directly with ACT, Diffusion Policy, SmolVLA, or GR00T fine-tunes. One version note: GR00T requires LeRobot v2.1, so check the version before you hand a dataset to a GR00T pipeline. Episodes recorded with the desktop client appear in the same browser, so remote sessions and desk recordings build one collection.
Keep an eye on billing
Clients are billed for session time, tracked to the minute, and invoiced monthly through Stripe with your saved payment method.
| Plan | Price | Included |
|---|---|---|
| Pay-as-you-go | 15.00 EUR per hour | No base fee; you pay for the session time you actually use |
| Starter | 99.00 EUR per month | 10 hours of session time included |
The Starter plan pays off at roughly seven hours per month; below that, pay-as-you-go is cheaper. Running costs are visible while a session is active, and the inactivity auto-stop exists precisely so an absent operator cannot quietly burn your budget. Invoices, payment methods, and disputes are covered on the billing page.
Frequently asked questions
Can I watch while an operator drives my robot?▾
Yes. An active session shows the live camera feeds, the activity events, and the chat. You can intervene via chat at any time, and the session can be paused or ended from your side.
What happens if an operator goes inactive?▾
The platform sends an inactivity warning after a period without input. If the operator stays inactive, the session is stopped automatically, so idle time does not run up your bill.
Can several robots share one environment?▾
Yes, and they should when they share a physical location. A leader plus follower pair on the same desk belongs in one environment; rigs in different places belong in different ones.
What format are my datasets in?▾
LeRobot format, which the common policy trainers accept directly. If your target is a GR00T fine-tune, make sure the dataset is LeRobot v2.1, since GR00T accepts nothing else.
How AY-Robots sessions work: the PENDING to COMPLETED lifecycle, every activity event explained, session chat, ratings, extensions, and training data.
Pricing on AY-Robots: pay-as-you-go and Starter plans, monthly invoices, operator earnings, Stripe Connect payouts, and how refunds and disputes work.