Guide · Robot data
How robot-learning teams build training datasets from raw fleet logs
Robot fleets record 0.5–2 TB per robot per day. Almost none of it is ever read again — but the moments that matter for training are buried in it. This is how teams find those moments across a whole fleet and turn them into datasets.
The problem: the best training data is buried in logs you can't search
A single robot streams cameras, lidar, and telemetry all day. A fleet of them makes 0.5–2 TB per robot per day. About 99.9% of that is never useful again. The 0.1% that is — a failure, an edge case, a clean demonstration — is what your model needs to learn from. But it is scattered across petabytes of logs.
To use it you have to find it. And finding one moment across the whole corpus is the hard part. Hot storage plus a search database is far too expensive at petabyte scale. Cold archives like Glacier are cheap but cannot be searched. So most of the data — and the training signal inside it — just sits there.
What a training dataset actually is
A robot training dataset is a set of episodes: short, time-synced clips of the robot acting, each with the camera, sensor, and action data for that moment. Imitation-learning and robot-foundation-model teams train on these episodes, packaged in a format like LeRobot or RLDS. The quality of the episodes decides how well the model learns — a smaller, sharper set beats a huge, noisy one.
How teams do it today — and why it breaks
Today most teams curate by hand. An engineer scrubs through recordings, or writes a one-off filter for a signal they already know about, then copies the clips out. This only finds what you already know to look for, and no one can review petabytes by hand.
The teams that go further build their own search pipeline on Spark or Iceberg. It works, but running it is a full engineering project on its own — the kind only the largest labs can afford. Everyone else deletes data they will later wish they had kept.
The method: search a fleet three ways at once
Finding the right moments needs three kinds of search over the logs, combined in one query:
- Metadata — which robot, what time range, which topics or message types.
- Signal — a time-series pattern, like "torque above 5 for 2 seconds and velocity near zero."
- Semantic — frames that match a description in plain words, like "gripper slipping on a transparent object," using image embeddings.
Used together they find moments no single filter would — a torque spike that also looks like a slip ranks highest. That turns "search my whole fleet" from a manual chore into one call.
Keep the raw data in your own bucket
The raw logs never have to move. The approach is to keep them in your own object storage and build only a compact index — around 1–3% of the raw size — that points back into your bucket. Search runs over the index; matched clips are read from your bucket with short-lived signed URLs. Nothing raw is copied out of your account, which removes the biggest objection to putting fleet data anywhere.
How Coldstack does this
Coldstack, built by Vantar, is a retrieval layer for robot logs that implements exactly this. You point it at your bucket of MCAP logs. It builds and hosts a compact index on object storage. Then you search the whole fleet by metadata, signal, and meaning in a single call, and export the matches straight to a LeRobot-compatible dataset. Raw data stays in your bucket the whole time.
It is early, and we are picking a few design partners for the first version. If your team is curating training data from fleet logs by hand, we would like to talk.
Questions
What is a robot training dataset?
A robot training dataset is a curated set of episodes — short, time-synced clips of a robot acting, each with the camera, sensor, and action data for that moment. Imitation-learning and robot-foundation-model teams train on these episodes, usually packaged in a format like LeRobot or RLDS. The quality of the dataset, not its raw size, decides how well the model learns.
Why is building a training dataset from fleet logs hard?
A fleet records everything, all day — 0.5 to 2 TB per robot per day of camera, lidar, and telemetry. Roughly 99.9% of it is never useful again. The moments that matter — a gripper slipping, an edge case, a clean demonstration — are a tiny fraction buried in petabytes. Finding them means searching the entire corpus, which hot databases can't afford at that scale and cold archives can't search at all.
How do teams build these datasets today?
Most teams do it by hand or with one-off scripts: an engineer scrubs through recordings, or writes a filter for a known signal, then copies clips out. It doesn't scale — you can only find what you already know to look for, and reviewing petabytes by hand is impossible. Larger teams build in-house search pipelines on Spark or Iceberg, which only the biggest labs can afford to run.
How do you find the right moments across a whole fleet?
You need three kinds of search over the logs at once: metadata (which robot, when, which topics), signal (a time-series pattern like 'torque above 5 for 2 seconds'), and semantic (find frames that look like a description, e.g. 'gripper slipping on a transparent object'). Combining all three finds moments no single filter would — a torque spike that also looks like a slip — and turns 'search my fleet' from a manual chore into one query.
Does the raw data have to leave my storage to be searchable?
No. The modern approach keeps raw logs in your own object storage (S3, MCAP files) and builds only a compact index — around 1–3% of the raw size — that points back into your bucket. Search runs over the index; matched clips are read from your bucket with short-lived signed URLs. Raw data never has to be copied out of your account.
What is Coldstack?
Coldstack is a retrieval layer for robot logs, built by Vantar. You point it at your bucket of MCAP logs; it builds and hosts a compact index on object storage; then you search the whole fleet by metadata, signal, and meaning in one call, and export the matches straight to a LeRobot-compatible training dataset. Raw data stays in your bucket. It is early and recruiting design partners.