Werken met datasets
Elke teleoperatiesessie op AY-Robots levert gestructureerde demonstratiedata op in het LeRobot-formaat, het de-factostandaard uitwisselingsformaat voor manipulatiedata. Deze pagina legt uit wat er in een dataset zit, hoe u episodes in het dashboard inspecteert en cureert, hoe samenvoegen werkt en hoe de marktplaats erin past.
Laatst bijgewerkt 2026-08-09
Het LeRobot-datasetformaat
AY-Robots slaat alle demonstratiedata op in het LeRobot-datasetformaat, onderhouden door Hugging Face. Het praktische voordeel is overdraagbaarheid: een hier opgenomen dataset laadt direct in LeRobot-gebaseerde trainingscode, en datasets die elders in hetzelfde formaat zijn opgenomen, kunnen zonder conversie worden geüpload en gebruikt op het platform.
Een dataset is een verzameling episodes. Eén episode is één complete poging tot een taak, van een gedefinieerde starttoestand tot het punt waarop u stopte met opnemen. Op schijf is een episode verdeeld over drie soorten bestanden: een Parquet-bestand met de numerieke streams, één videobestand per camera, en metadata die alles met elkaar verbindt.
| Pad | Inhoud |
|---|---|
| data/.../episode_XXXXXX.parquet | Eén Parquet-bestand per episode: tijdstempels per frame, observatiestatus en acties |
| videos/... | Eén MP4 per camera per episode, framematig uitgelijnd met de Parquet-data |
| meta/info.json | Metadata op datasetniveau: robottype, fps, het featureschema en episode- en framestallen |
| meta/episodes.jsonl | Eén regel per episode met de index, lengte en de taak waartoe hij behoort |
| meta/tasks.jsonl | De taakomschrijvingen in natuurlijke taal waarnaar episodes verwijzen via index |
Het featureschema in info.json is wat trainingscode leest om uw data te begrijpen: welke observatiesleutels bestaan, hun vormen en de opnamesnelheid. Twee datasets zijn alleen compatibel als hun schema's overeenkomen, en dat is precies wat de samenvoegvalidatie controleert.
Gewrichtswaarden zijn percentages, geen graden
Alle gewrichtswaarden in AY-Robots-datasets zijn LeRobot-genormaliseerd: elke waarde loopt van -100 tot 100 en vertegenwoordigt een percentage van het gekalibreerde bereik van dat gewricht, geen hoek in graden. Een waarde van 0 is het midden van het gekalibreerde bereik, -100 en 100 zijn de grenzen.
Nulpunten van servo's verschillen tussen fysieke armen, waardoor ruwe hoeken van twee SO-100-eenheden verschillende poses beschrijven. Normaliseren naar het gekalibreerde bereik maakt opnames vergelijkbaar tussen armen en is wat LeRobot-trainingspipelines verwachten. Hebt u hoeken nodig voor uw eigen tooling, converteer dan met uw kalibratiedata; het platform slaat geen graden op.
Clouddatasets in het dashboard
Dashboard > Datasets toont uw clouddatasets met episodetallen, bestandsgroottes en verzamelstatus. Datasets worden automatisch aangemaakt wanneer een teleoperatiesessie data opneemt, en u kunt er ook expliciet een aanmaken en vullen door opnames vanuit de desktop client te uploaden.
- Aanmaken: nieuwe datasets verschijnen automatisch vanuit sessies, of maak er een leeg aan en upload erin.
- Hernoemen: verander de weergavenaam op elk moment; de wijziging raakt de data zelf niet.
- Verwijderen: verwijdert de dataset en al zijn episodes en bestanden. Verwijderen is permanent, dus download eerst een archief als u de data mogelijk nog nodig hebt.
De episodeverkenner
Een dataset openen brengt u naar de episodeverkenner. Elke episode heeft een videospeler voor de camerastreams en gesynchroniseerde gewrichtsgrafieken die de genormaliseerde gewrichtswaarden over de episode uitzetten. Door de video te scrubben, beweegt de grafiekcursor mee, wat het snel maakt om problemen te ontdekken: een schokkerige nadering verschijnt als pieken in de grafieken, een mislukte greep is zichtbaar in het grijperkanaal nog voordat u de video bekijkt.
Episodelabels: Success, Recovery, Failure
Elke episode kan een van drie labels dragen. Success markeert een schone demonstratie van de taak. Recovery markeert een episode waarin iets misging tijdens de poging en u het corrigeerde; deze zijn waardevol omdat ze een policy leren hoe weer op koers te komen. Failure markeert episodes die het doel niet bereikten en horen doorgaans niet in de training thuis. Labelen tijdens het beoordelen is veel goedkoper dan een policy debuggen die stilletjes van slechte demonstraties heeft geleerd.
Datasets samenvoegen
Samenvoegen combineert meerdere opnames tot één grotere dataset, bijvoorbeeld een week aan sessies op dezelfde taak of opnames van twee gekalibreerde armen. Het samenvoegen neemt meerdere tar.gz-archieven, elk met een LeRobot-dataset, en produceert één dataset met opnieuw geïndexeerde episodes.
- 1Bereid de archieven voor
Elke invoer moet een complete LeRobot-dataset zijn, verpakt als een tar.gz-archief, inclusief de meta-map. Gedeeltelijke archieven zonder info.json kunnen niet worden gevalideerd en worden geweigerd.
- 2Upload meerdere archieven
Start in Dashboard > Datasets een samenvoeging en selecteer alle tar.gz-archieven die u in één stap wilt combineren.
- 3Validatie
Het platform controleert of fps, het featureschema en robot_type overeenkomen bij alle invoer. Verschilt een van de drie, dan wordt de samenvoeging geweigerd met de vermelde afwijking, omdat een gecombineerde dataset met inconsistente streams de training stilletjes zou corrumperen.
- 4Beoordeel het resultaat
De samengevoegde dataset verschijnt in uw lijst met het gecombineerde episodetal. Open de episodeverkenner en controleer een paar episodes van elke bron voordat u ermee traint.
De drie compatibiliteitsregels zijn met opzet strikt. Framerateverschillen veranderen de betekenis van elke tijdstap, schemaverschillen breken loaders volledig, en het mengen van robottypes levert een dataset op waarop geen enkele policy kan handelen. Moet u data van verschillende armen van hetzelfde model combineren, dan kan dat gewoon: robot_type verwijst naar het model, niet naar de fysieke eenheid.
De datasetmarktplaats
Op de marktplaats koopt u datasets die door anderen zijn opgenomen en verkoopt u uw eigen datasets. Gekochte datasets komen in uw dashboard aan in dezelfde LeRobot-indeling als uw eigen opnames, dus ze werken zonder extra stappen met de episodeverkenner, samenvoegen en training.
Verkoopt u, cureer dan voordat u aanbiedt. Beoordeel de episodes, label ze eerlijk, en zorg dat de taakomschrijvingen beschrijven wat er in de opnames daadwerkelijk gebeurt. Een koper die uw dataset beoordeelt, ziet dezelfde episodeverkenner als u, en datasets met schone labels en consistente demonstraties zijn meer waard dan ruwe dumps van alles wat u ooit hebt opgenomen.
Veelgestelde vragen
Hoe groot is een typische episode?▾
Ongeveer 5 tot 15 MB voor een episode van 10 tot 20 seconden met twee camera's op 30 fps, afhankelijk van de scènecomplexiteit. Een serieuze dataset met een paar honderd episodes komt uit in de lage gigabytes.
Kan ik mijn datasets downloaden?▾
Ja. Datasets kunnen als archieven vanuit het dashboard worden gedownload. Omdat de indeling standaard LeRobot is, werkt de download direct met LeRobot-tooling en uw eigen trainingscode.
Kan ik datasets van verschillende robottypes samenvoegen?▾
Nee. Samenvoegen vereist dat fps, het featureschema en robot_type overeenkomen bij alle invoer. Data van twee verschillende fysieke armen van hetzelfde model kunnen worden samengevoegd, mits beide armen gekalibreerd zijn.
Tonen de gewrichtsgrafieken graden?▾
Nee. Alle gewrichtswaarden zijn LeRobot-genormaliseerd naar het bereik -100 tot 100, uitgedrukt als percentage van het gekalibreerde bereik van elk gewricht. Dit is ook precies wat in de Parquet-bestanden wordt opgeslagen.
Wat gebeurt er als ik een dataset verwijder?▾
De dataset en al zijn episodes, video's en metadata worden permanent verwijderd. Er is geen ongedaan maken, dus download eerst een archief als u niet zeker bent.
Train ACT, Diffusion Policy, SmolVLA en GR00T-fine-tunes op uw teleoperatiedatasets in de cloud, en draai de getrainde policy vervolgens op uw eigen arm.
Installeer de AY-Robots desktopapp op macOS, Windows of Linux, neem SO-100-episodes op met de begeleide flow, exporteer LeRobot-data en gebruik de CLI en MCP.