
Robotics has no LAION-5B and no Common Crawl. What the largest robot datasets actually contain, why they stay small, and how many episodes one arm and one task really need.
Where is the ImageNet for robots, the multi-terabyte dump you download once and fine-tune against forever? It does not exist, it is not close, and a bigger crawl will not fix it. Here is what the largest robot datasets contain, why they stay small, and what that means for one arm on a desk.
The short version
- •Web corpora are measured in billions of samples: LAION-5B holds 5.85 billion image-text pairs. The largest pooled open robot manipulation corpus, Open X-Embodiment, holds a little over 1 million trajectories across 22 embodiments.
- •Robot data cannot be scraped: the action labels are not in the video. Every trajectory needs a robot, a human driving it, and wall-clock time. RT-1's 130k episodes took 13 robots 17 months.
- •Pooling helps less than it looks: Open X-Embodiment merges 60 datasets from 34 labs, but RT-X trained on only 9 of the 22 embodiments.
- •The published scaling analysis says diversity beats volume. Past roughly 50 demonstrations per environment-object pair, more demonstrations in the same setting stop paying.
- •Big labs work around the gap with web co-training and generated data. In Pi0.5, 97.6% of first-phase training examples do not come from the target robot at all.
- •For one arm and one task, the useful number is 30 to 50 well-varied episodes, not 30,000.
What internet-scale means, and what robotics has instead
The cleanest comparison is vision, not language. LAION-5B was crawled from the web and CLIP-filtered, ending at 5.85 billion image-text pairs, 2.32 billion of them English. Nobody staged those photographs; they existed already, as a by-product of people publishing things. Robot episodes are a by-product of nothing. Somebody sits down and produces each one.
| Corpus | One sample is | Size | How it was obtained |
|---|---|---|---|
| LAION-5B | image plus caption | 5.85 B pairs (2.32 B English) | crawled from the open web, CLIP-filtered |
| Ego4D | egocentric video, no actions | 3,670 hours, 931 camera wearers | 74 locations in 9 countries, head-mounted cameras |
| Open X-Embodiment | robot trajectory + actions | 1M+ trajectories, 22 embodiments, 527 skills | 60 datasets pooled from 34 labs |
| AgiBot World | robot trajectory + actions | 1,001,552 trajectories, 2,976.4 hours | 100+ robots, purpose-built facility over 4,000 m2 |
| DROID | robot trajectory + actions | 76k trajectories, 350 hours, 564 scenes | 50 collectors, 13 institutions, 12 months |
| BridgeData V2 | robot trajectory + actions | 60,096 trajectories, 24 environments | one low-cost arm, lab collection |
| RT-1 (internal) | robot trajectory + actions | ~130k episodes, 700+ instructions | 13 robots, 17 months |
Read the right-hand column, not the middle one. Every robot row describes a physical operation with a payroll attached; the vision row describes a crawler. One million trajectories against 5.85 billion image-text pairs is nearly four orders of magnitude. Longer write-ups of the two biggest entries: Open X-Embodiment and the DROID dataset.
Why the corpus cannot simply be scraped
The instinct is to point at YouTube, where millions of hours of people manipulating objects are sitting right there. Six reasons that is not the corpus, all of which show up as engineering work.
- The action labels are not in the frame. Video shows what a hand ended up doing, not what joint command produced it. Imitation learning needs the command, not the outcome.
- Embodiments disagree. Open X-Embodiment pools 22 embodiments, but the RT-X models in that paper trained on data from 9 manipulators. Merging action spaces is not free.
- Control rates disagree. RT-1 commands actions at 3 Hz, other datasets record at 30 Hz or higher, and resampling changes what a single action means.
- Proprioception is missing. Joint angles, gripper width and load live in the state vector, nowhere in the pixels. A LeRobot dataset stores them as a separate parquet stream for that reason.
- There are almost no negatives. Teleoperated demonstrations are curated successes, so the corpus says little about what failure looks like.
- Data ages with the hardware. Recalibrate, move a camera 3 cm, swap a gripper finger, and your old episodes describe a robot that no longer exists.
The most expensive mistake in small-team collection is recording 60 good episodes, then adjusting the camera mount or redoing calibration before the next 60. The halves now disagree about where the world is, and training on the union yields a policy that averages two coordinate frames and hits neither. Changing the rig starts a new dataset. See policy only works in one setup.
What collection actually costs in wall-clock time
These papers are unusually honest about their logistics, which lets you do throughput arithmetic. The rightmost column is our division, not a figure they state.
| Dataset | Effort described in the paper | Output | Throughput (our arithmetic) |
|---|---|---|---|
| RT-1 | 13 robots, 17 months | ~130k episodes, 700+ instructions | ~590 episodes per robot-month |
| DROID | 50 collectors, 13 institutions, 12 months | 76k trajectories, 350 hours | ~7 hours per collector, per year |
| AgiBot World | 100+ robots, dedicated facility | 1,001,552 trajectories, 2,976.4 hours | ~30 hours per robot |
| RoboTurk | crowdsourced iPhone teleop, 22 hours of total system usage | 2,200+ demonstrations, 137.5 hours | ~100 demos per hour of system usage |
The DROID row is the one worth staring at. Fifty people, thirteen institutions, twelve months, 350 hours. That is seven hours per person per year, not because the people were slow but because teleoperation has an irreducible cost: reset the scene, drive the arm, notice the grasp slipped, discard, reset. The RoboTurk row is the counterexample: its throughput scales with people rather than robots. That is the bet behind remote operator work and behind browser-based driving on the live arm.

Five things people are doing about it
1. Pool what already exists
Open X-Embodiment is the flagship attempt: 60 datasets from 34 labs, converted to RLDS and published as one union. It works well enough that RT-X showed positive transfer across platforms, and it also shows the limits of pooling. The paper's own figure notes that Franka has the largest diversity of distinct scenes, while xArm and Google Robot contribute the most trajectories because of a few large datasets. The union is not a uniform sample of robotics. It is a stack of lab-shaped lumps.
# Open X-Embodiment lives in a public GCS bucket, stored as RLDS episodes.
# Pull one sub-dataset rather than the whole thing:
gsutil -m cp -r gs://gdm-robotics-open-x-embodiment/bridge ~/tensorflow_datasets/
# DROID ships four variants. Start with the 100-episode debug slice (2 GB),
# not the 1.7 TB RLDS build and definitely not the 8.7 TB raw stereo build.
gsutil -m cp -r gs://gresearch/robotics/droid_100 ./droid_100
# Full RLDS DROID, 1.7 TB, only when you know you need it:
# gsutil -m cp -r gs://gresearch/robotics/droid ./droid2. Make the robot cheap enough that data comes from everywhere
The second strategy: drop the price of a data-producing rig until hobbyists outnumber labs. Hence the SO-100 at roughly 110 to 150 EUR in parts, and LeRobot as a common format. Narrowly it works: on 24 August 2026 the Hugging Face Hub listed 78,214 datasets under the robotics task category. Broadly it does not, because most are a few episodes of one task on one desk, with no language annotation and no consistent camera convention. Repository count is not usable data. The data quality guide is the checklist for landing in the usable half.
3. Borrow supervision from the web
If you cannot get more robot data, lean on data that is not robot data. This is the co-training argument behind every current vision-language-action model. The clearest published number is Pi0.5: about 400 hours of mobile manipulator data from about 100 home environments, but 97.6% of the first-phase training examples come from elsewhere, including cross-embodiment lab data, non-mobile robot data and web data such as captioning and visual question answering. The robot data steers a model the internet mostly taught. Mechanism in the VLA overview, model-by-model numbers on the policies page.
4. Manufacture the data you cannot collect
NVIDIA's GR00T N1 paper calls this a data pyramid: web and human video at the base, synthetic data in the middle, real teleoperation at the peak. The ratios are the interesting part. The in-house teleoperated set was 88 hours; video generation models expanded it to 827 hours of neural trajectories. Separately, DexMimicGen produced 780,000 simulation trajectories, about 6,500 hours equivalent, in 11 hours. The base is action-less human video from Ego4D, EPIC-KITCHENS, HOI4D and similar, with pseudo-actions attached by latent action models and inverse dynamics.
Eleven hours of generation for 6,500 simulated hours is a real win, but only where the simulator is faithful, and contact, deformables and cloth are where it stops being faithful. Generated data broadens a policy that already works on real hardware. It does not replace the first 50 real episodes.
5. Curate instead of collect
The cheapest lever left is using the data you already have better. Re-Mix optimises the mixture weights over Open X-Embodiment sub-datasets rather than guessing them, and reports 38% over uniform weights and 32% over the human-selected weights used for the RT-X models, with no new robot hours collected. A small team can copy the idea: before recording another 200 episodes, check whether half of them are duplicates of one lighting condition.
- Free, downloadable now, already in a standard format (RLDS for Open X-Embodiment and DROID, LeRobot on the Hugging Face Hub).
- Breadth you will never record yourself: 527 skills across 22 embodiments, 564 scenes in DROID.
- Published baselines exist, so you can tell whether the run is broken or the data is.
- Good for pretraining a backbone, or sanity-checking a pipeline before you own hardware.
- Skewed by construction. A few large sub-datasets dominate the trajectory count, so 'more data' often means 'more of the same robot'.
- None of it is your arm, camera placement, lighting or table height, which is exactly what a fine-tuned policy latches onto.
- Storage is real: DROID is 1.7 TB as RLDS, 8.7 TB as raw stereo. The 2 GB droid_100 slice exists because most people should not download the rest.
- Format friction. RLDS is not LeRobot, and a mismatched schema shows up as a training crash, not a warning.
What the scaling analyses actually say
The most useful paper here is Data Scaling Laws in Imitation Learning for Robotic Manipulation (Lin et al., posted October 2024, revised through June 2026): over 40,000 demonstrations with handheld UMI grippers and over 15,000 real-world rollouts, to answer one question: what do you get for each additional unit of data?
| Question | What they varied | What they found |
|---|---|---|
| Does performance scale at all? | distinct environments and objects | Roughly power-law in environment and object count |
| Volume or diversity? | demonstrations per pair, with environment and object count held fixed | No clear power law: performance rises then plateaus, so diversity outweighs raw demonstration count |
| How many demos per setting? | 8, 16 and 32 environment-object pairs | Plateaus at 400, 800 and 1600 demonstrations, i.e. about 50 per pair |
| What does that cost? | 32 pairs, 50 demonstrations each | Four collectors, one afternoon, ~90% on two tasks in novel environments with unseen objects |
Lin et al. state it directly: once demonstrations per environment or object pass a threshold, "additional demonstrations have minimal effect". Their own recommendation is 50 demonstrations per environment-object pair. A fifth batch of 50 episodes at the same table, same light, same cube buys almost nothing. Move the cube, move the lamp, change the tablecloth, and those 50 are worth far more.
That does not remove the corpus problem, it reframes it. What is scarce is not trajectory count, it is covered conditions. A lab chasing a generalist policy across every kitchen on earth needs an enormous number of conditions. You, chasing one pick-and-place on one desk, need about a dozen.
The manual path: getting real data on disk today
- 1Install LeRobot and check it runs
The format most of this ecosystem standardised on. Dataset v3.0 ships in lerobot 0.4.0 and later.
bashpip install lerobot lerobot-info - 2Pull a small public slice before you pull a large one
The 100-episode DROID slice is 2 GB and tells you in minutes whether your loader and disk are up to it. The full RLDS build is 1.7 TB.
bashgsutil -m cp -r gs://gresearch/robotics/droid_100 ./droid_100 - 3Record your own episodes, because the public data is not your robot
The command that actually creates new data. Vary the scene between batches rather than repeating one setup.
bashlerobot-record \ --robot.type=so101_follower \ --robot.port=/dev/tty.usbmodem585A0076841 \ --robot.id=my_awesome_follower_arm \ --robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 1920, height: 1080, fps: 30}}" \ --teleop.type=so101_leader \ --teleop.port=/dev/tty.usbmodem58760431551 \ --teleop.id=my_awesome_leader_arm \ --display_data=true \ --dataset.repo_id=${HF_USER}/record-test \ --dataset.num_episodes=5 \ --dataset.single_task="Grab the black cube" - 4Know which format version you produced
v3.0 packs many episodes per parquet and mp4 file; v2.1 was one file per episode. Some trainers accept only one, so check before renting a GPU.
bashcat meta/info.json | python3 -m json.tool | head -20 - 5Convert between format versions when the trainer demands it
Mind the direction. The documented converter goes v2.1 to v3.0: it aggregates per-episode files into shards and rewrites the episode offsets. GR00T N1.7 and N1.5 want v2.0 or v2.1, so for those the job is to have the v2.1 dataset in the first place, not to run this script.
bashpython -m lerobot.scripts.convert_dataset_v21_to_v30 --repo-id=<HF_USER/DATASET_ID> - 6Train, then measure on the real arm rather than on the loss curve
Falling loss says the model reproduces your demonstrations. It says nothing about whether the arm finishes the task.
bashlerobot-train \ --policy.type=act \ --dataset.repo_id=${HF_USER}/record-test
First: a LeRobot v3.0 dataset crashes the GR00T loader. GR00T N1.7 and N1.5 want v2.0 or v2.1, so a v3.0 recording must be converted down first. See dataset rejected as v3. Second: call dataset.finalize() before push_to_hub(), or the parquet footers are never written and the dataset will not load. Third, and this one costs money rather than a day: Feetech STS3215 bus servos on the SO-100 and SO-101 run at 7.4 V. Feeding them 12 V destroys them. Check the supply label before the first power-on.
Two ways to get from no data to a trained policy
All of it is reproducible on your own hardware. The cost is not money, it is the number of systems you end up owning: a build, a serial and camera stack, a recording pipeline, a GPU rental, a trainer config, a serving path back to the arm.
- Build an SO-100 or SO-101 from the published BOM, 110 to 170 EUR in parts, and calibrate both arms.
- Install lerobot, wire up leader and follower ports, confirm the cameras enumerate the same way across reboots.
- Record 30 to 50 episodes in total, varying scene and lighting between batches rather than repeating one setup.
- Push to the Hub or keep it local, and check the format version against your chosen trainer.
- Rent a GPU, install the trainer (Isaac-GR00T, openpi or lerobot), fight the CUDA versions, launch.
- Copy the checkpoint back, stand up an inference server next to the robot, evaluate on the real arm.
Recording is the predictable part. The unpredictable parts are USB and serial enumeration, camera indices shuffling between reboots, and trainer dependency conflicts. The failure-mode index exists because those eat more hours than the training does.
The platform collapses that into one path: record from a teleop session, pick dataset and model in a form, and the backend rents the GPU by required VRAM and writes checkpoints to object storage. It does not give you data you did not record. There is no hidden corpus here either.
- Record LeRobot-format datasets from a teleop session with the desktop client, or browse the dataset directory.
- Or bring a dataset from a Hugging Face repo id or your own machine.
- Pick a policy and hyperparameters in the form; the five options are compared on the policies page.
- The backend rents a GPU on a spot market by required VRAM, runs the trainer, and stores the checkpoints.
- Serve the policy on an auto-provisioned pod. It carries an idle watchdog and destroys itself, so nothing bills silently.
- The same operations are exposed to a terminal via the CLI and to AI agents via the MCP server.
| Step | Do it yourself | On AY-Robots |
|---|---|---|
| Recording | lerobot-record, your own ports and cameras | Desktop client, straight from the teleop session |
| Dataset hosting | Hugging Face Hub or local disk | Directory, Hugging Face repo id, or local disk |
| GPU | Rent and configure it yourself | Rented by required VRAM, then released |
| Serving | Stand up your own server | Auto-provisioned pod, idle watchdog |
| What you still have to do | Everything | Record the episodes. Nobody does that for you. |
What this means for a small team
The practical number is smaller than the papers make it sound. Because these policies start from vendor base checkpoints, not random weights, fine-tuning needs demonstrations in the tens, not the tens of thousands. The exception is ACT, which has no base model and trains from scratch on your task.
| Policy | Minimum episodes | Dataset format | GPU tier | Typical cost per run |
|---|---|---|---|---|
| GR00T N1.7 | 50 | LeRobot v2.0 or v2.1 | A100 80 GB or H100 80 GB | about 4 to 12 USD |
| GR00T N1.5 | 50 | LeRobot v2.0 or v2.1 | A100 80 GB or H100 80 GB | about 4 to 12 USD |
| Pi0.5 | 50 | LeRobot v3.0 | A100 80 GB or H100 80 GB | about 4 to 12 USD |
| SmolVLA | 30 | LeRobot v3.0 | RTX 4090 or any 24 GB card | about 1 to 3 USD |
| ACT (from scratch) | 50 | LeRobot v3.0 | RTX 4090 or any 24 GB card | about 1 to 3 USD |
Thirty is the lowest bar there, which is why SmolVLA is usually the right first attempt: 30 episodes on a 24 GB card for one to three dollars tells you whether the data is any good before you commit to a GR00T N1.7 run on an A100. If the small model produces nothing, the problem is almost always the dataset. Full pricing is on its own page.

Where this platform does not help
Nothing here manufactures training data for you, and no proprietary corpus sits behind the login. The dataset directory holds what people chose to publish, which for your specific task is probably nothing. If the task is 'sort my particular bolts into my particular tray', the published record of robotics contains zero episodes of it, and you are going to record them.
Action step latency here runs from 20 ms for ACT to 485 ms for Pi0.5. Public-internet round trips on top of that turn a working policy into a hesitant one. Cloud inference is viable for slow pick-and-place, not for fast reactive motion, and no amount of data fixes that. Anything time-critical needs the inference next to the servos.
Record the episodes that do not exist yet
No public corpus contains your task on your arm. The desktop client records LeRobot-format datasets - episodes, camera streams, joint states - straight from a teleoperation session.
Get the desktop clientA collection plan you can run this weekend
The scaling analysis translated into an afternoon: one arm, one task, one person, the case the papers never describe.
- Pick one task and write its instruction string first. If it does not fit in one sentence, it is two tasks.
- Define six to twelve conditions before recording anything: object position, object identity, lighting, background, table height, distractors. These are your environment-object pairs.
- Record 5 to 10 episodes per condition. Six conditions at 8 episodes is 48, which clears the 30-episode SmolVLA bar.
- Do not adjust the rig between conditions. Adjust it before condition one or after the last, never in the middle.
- Discard failed episodes at record time. A half-successful grasp teaches half-successful grasps.
- Train SmolVLA first, for one to three dollars, and evaluate on the real arm.
- Only once the small model shows signs of life, spend 4 to 12 dollars on GR00T N1.7 or Pi0.5 with the same data.
Works in condition one, fails in condition six? That is a data answer: record more of six. Fails everywhere? Read loss falls but the policy does nothing before recording anything else. Never recorded a dataset at all? Record your first dataset walks the loop end to end, and SO-100 data collection covers the arm-specific parts.

Why can't robots just learn from YouTube?▾
Video contains outcomes, not commands. An imitation learning policy predicts the action that produced the next state, and that action is not recoverable from pixels. Research systems infer pseudo-actions instead: GR00T N1 uses latent action models and inverse dynamics to attach approximate actions to action-less human video from Ego4D, EPIC-KITCHENS and similar sources. That helps as a pretraining signal. It does not replace real trajectories with real joint commands.
How big is Open X-Embodiment really, and should I train on it?▾
It pools 60 datasets from 34 labs, covering 22 embodiments, 527 skills and over 1 million real robot trajectories. It is useful as a pretraining corpus, which is what RT-X used it for, though those experiments trained on data from 9 manipulators rather than all 22. For a single SO-100 and a single task it is the wrong move: fine-tuning a vendor base checkpoint on 30 to 50 of your own episodes beats it, because none of Open X-Embodiment was recorded on your arm.
How many episodes do I actually need?▾
The trainer minimums here are 30 episodes for SmolVLA and 50 for ACT, GR00T N1.5, GR00T N1.7 and Pi0.5. The scaling analysis suggests a more useful framing per condition: about 50 demonstrations per environment-object pair, across as many distinct pairs as you can set up. Fifty episodes across six varied conditions beats 300 of the same scene.
Does simulation solve the data problem?▾
Partly, and cheaply where it works. DexMimicGen generated 780,000 simulation trajectories for GR00T N1, about 6,500 hours equivalent, in 11 hours, a ratio teleoperation cannot match. The catch is fidelity: contact-rich manipulation, deformables and anything resting on friction estimates transfer poorly. Simulation broadens a policy that already works on real hardware. It does not skip the first real episodes.
Will the bottleneck ever go away?▾
The trend is that fewer real episodes are needed per task, not that more become available. Pi0.5 already draws 97.6% of its first-phase training examples from non-target sources. If that ratio keeps improving, the requirement drops from 50 episodes toward 20 or 5, which matters far more to a small team than a ten-million-trajectory corpus would. Nothing published suggests a scraped robot corpus is coming.
Sources
Sources
- Open X-Embodiment: Robotic Learning Datasets and RT-X Models (arXiv 2310.08864, v9, May 2025)
- google-deepmind/open_x_embodiment: RLDS format and gsutil download paths
- DROID: A Large-Scale In-The-Wild Robot Manipulation Dataset (arXiv 2403.12945)
- DROID dataset download page: variants, bucket paths and sizes
- RT-1: Robotics Transformer for Real-World Control at Scale (arXiv 2212.06817)
- Data Scaling Laws in Imitation Learning for Robotic Manipulation (arXiv 2410.18647)
- BridgeData V2: A Dataset for Robot Learning at Scale (arXiv 2308.12952)
- AgiBot World Colosseo: A Large-scale Manipulation Platform (arXiv 2503.06669)
- GR00T N1: An Open Foundation Model for Generalist Humanoid Robots (arXiv 2503.14734)
- Pi0.5: a Vision-Language-Action Model with Open-World Generalization (arXiv 2504.16054)
- Re-Mix: Optimizing Data Mixtures for Large Scale Imitation Learning (arXiv 2408.14037)
- LAION-5B: An open large-scale dataset for training next generation image-text models (arXiv 2210.08402)
- LeRobotDataset v3.0 documentation: layout, recording and v2.1 migration
- Ego4D: Around the World in 3,000 Hours of Egocentric Video (arXiv 2110.07058)
- RoboTurk: A Crowdsourcing Platform for Robotic Skill Learning through Imitation (arXiv 1811.02790)
Sources
- Open X-Embodiment: Robotic Learning Datasets and RT-X Models
- google-deepmind/open_x_embodiment
- DROID: A Large-Scale In-The-Wild Robot Manipulation Dataset
- DROID dataset: variants, bucket paths and sizes
- RT-1: Robotics Transformer for Real-World Control at Scale
- Data Scaling Laws in Imitation Learning for Robotic Manipulation
- BridgeData V2: A Dataset for Robot Learning at Scale
- AgiBot World Colosseo: A Large-scale Manipulation Platform
- GR00T N1: An Open Foundation Model for Generalist Humanoid Robots
- Pi0.5: a VLA Model with Open-World Generalization
- Re-Mix: Optimizing Data Mixtures for Large Scale Imitation Learning
- LAION-5B: An open large-scale dataset for training next generation image-text models
- LeRobotDataset v3.0 documentation
- Ego4D: Around the World in 3,000 Hours of Egocentric Video
- RoboTurk: A Crowdsourcing Platform for Robotic Skill Learning through Imitation
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started