Guides · Updated 2026-08-23

How to clean robot teleop data before training

Teleop data comes out messy because humans recorded it under time pressure. Most of the mess is fixable in one sitting. Work through these five passes before training or uploading.

Pass 1: labels

Rewrite every task string into a real instruction: verb, object, destination. This is the highest value fix in the whole list and usually the fastest.

Pass 2: camera names

One style, everywhere: lowercase, underscores, descriptive. wrist and top beat Wrist_Cam and camera_2. Mixed styles break loaders and mappings downstream.

Pass 3: broken episodes

Delete episodes with frozen frames longer than a couple of seconds, missing camera streams, or truncated files. A dataset of 40 clean episodes beats 50 with 10 broken ones.

Pass 4: metadata

Re-export so meta/info.json is complete: correct episode counts, feature schema, fps, robot type. Missing metadata is the number one reason datasets fail basic checks in our scans.

Pass 5: license

Declare one. Apache-2.0 or CC-BY-4.0 if you want the data used. No license means nobody can safely touch it.

What not to fix

Natural human jerkiness in the motion. Policies train fine on it. Spend zero time smoothing trajectories and all your time on labels and completeness.

Automate the finding

pip install datum-lint then datum-lint your-dataset/ lists every problem above with the exact episodes affected, locally, before you push 40GB.