Uw eerste LeRobot-dataset opnemen met een SO-ARM101: 30 episodes

Een LeRobot-dataset opnemen betekent dat u de leader-arm fysiek beweegt terwijl de follower-arm de beweging nabootst en camera's de handeling vastleggen; zo ontstaan demonstraties die een AI-model leert na te doen. Met een SO-ARM101-robotarmset of een vergelijkbare opstelling kunt u in ongeveer een uur 30 episodes van een pick-and-place-taak verzamelen, genoeg om uw eerste policy te trainen. Deze gids gaat ervan uit dat u lerobot-calibrate en lerobot-teleoperate al hebt uitgevoerd.

Set die in deze gids wordt gebruikt, met tracking verzonden vanuit Singapore:

SO-ARM101 First Training Kit → SO-ARM101-armsets LeRobot-camerakit 100 houten trainingskubussen

Wat een datasetepisode bevat

Een LeRobot-dataset is een map met observaties en acties met tijdstempels. Elke episode is één volledige demonstratie: naar een kubus bewegen, de gripper sluiten, optillen, naar het doel bewegen, de gripper openen, terugkeren naar neutraal. De opname bevat gewrichtsposities, koppels en camerabeelden.

LeRobot slaat episodes op als Parquet-bestanden. Een dataset van 30 episodes neemt 2–5 GB in beslag, afhankelijk van de cameraresolutie en de lengte van de episodes. Consistente demonstraties maken policies gemakkelijker te trainen.

Datasetparameter Aanbevolen voor een eerste dataset Waarom
Taak Kubus pakken, op vast doel plaatsen Eenvoudig, herhaalbaar, geen dubbelzinnigheid
Episodes 30 Genoeg om ACT of Diffusion Policy tekenen van leren te laten tonen
Lengte van een episode 15–30 seconden Dekt de beweging zonder overmatige stilstand
Cameraresolutie 480p pols, 1080p boven Balans tussen bestandsgrootte en beelddetail
Framerate 30 fps Standaard voor LeRobot, komt overeen met de updatesnelheid van de servo's

Een taak kiezen en de werkruimte inrichten

Uw eerste dataset gebruikt het best één object, één vast doel en geen afleiders. Een gekleurde houten kubus werkt goed: duidelijke randen, rolt niet en u kunt het doel met tape markeren. De set trainingsobjecten bevat 100 kubussen en een tray voor een consistente plaatsing.

Als u helemaal opnieuw begint, bundelt de SO-ARM101 First Training Kit de Starter-arm met de trainingsobjecten, zodat u alles hebt wat nodig is om uw eerste dataset op te nemen: de robot, 100 gekleurde kubussen en een plaatsingstray. Dit is de snelste weg van uitpakken naar het opnemen van 30 episodes.

Plaats de kubus bij elke episode op dezelfde beginpositie. Markeer die met tape. Plaats het doel binnen bereik, ver genoeg om zichtbare beweging te tonen maar dicht genoeg om de gewrichtslimieten te vermijden. Test eerst met lerobot-teleoperate.

Monteer uw camera's voordat u opneemt. Gebruik een bureauarm voor de bovencamera om de bovencamera consistent te positioneren. Houd de camera's tussen episodes op dezelfde plek om ruis te beperken.

De dataset opnemen met lerobot-record

Maak een nieuwe dataset met de LeRobot-CLI:

bash lerobot-record \ --robot-path lerobot/configs/robot/so101.yaml \ --repo-id your-username/pick-cube-v1 \ --single-task pick_cube \ --num-episodes 30 \ --warmup-time-s 3 \ --episode-time-s 30 \ --reset-time-s 5

Vervang your-username/pick-cube-v1 door uw Hugging Face-gebruikersnaam en de naam van uw dataset. Per episode hebt u drie seconden om de kubus te plaatsen, 30 seconden om de taak te voltooien en vijf seconden om te resetten.

Plaats tijdens de warming-up de kubus en zet de leader-arm in neutraal. Voer zodra de opname begint de taak vloeiend uit: naar de kubus bewegen, gripper sluiten, optillen, naar het doel bewegen, gripper openen, terugkeren naar neutraal. Vermijd plotselinge rukken; de policy leert van uw bewegingsstijl.

Als u de kubus laat vallen of een gewrichtslimiet raakt, druk dan op Ctrl+C om die episode over te slaan en opnieuw op te nemen. Opnieuw opnemen gaat sneller dan trainen op slechte data.

Hoeveel episodes u nodig hebt

Dertig episodes is een praktisch beginpunt voor eenvoudige taken. ACT en Diffusion Policy kunnen leren van 30–50 demonstraties als de taak consistent is. Complexe taken met meerdere objecten of wisselende posities vereisen 50–200 episodes.

Als de policy na training op 30 episodes de taak twee keer achter elkaar voltooit, hebt u het patroon vastgelegd. Als hij elke keer mislukt, neem dan 20 extra episodes op. Datasets met minder dan 20 episodes werken zelden, tenzij de taak triviaal is.

De opnamesnelheid verbetert met oefening. Uw eerste tien episodes duren langer terwijl u beweging en camerahoeken verfijnt. Vanaf episode 20 hoort elke demonstratie minder dan twee minuten te duren.

Veelgemaakte fouten

Inconsistente beginposities laten policies mislukken. Als u de kubus telkens iets anders plaatst, leert de policy dat de locatie varieert en convergeert hij niet. Gebruik een referentiemarkering en plaats de kubus precies op dezelfde plek.

Opnemen met een gripper die al gesloten is, slaat de benadering en de grijpbeweging over. Begin elke episode met een open gripper en een neutrale leader-arm.

Te snel opnemen veroorzaakt bewegingsonscherpte. Beweeg vloeiend, met de snelheid waarmee u een mok oppakt. Als frames onscherp zijn, ga dan langzamer.

Na het opnemen

Push de dataset naar Hugging Face met huggingface-cli upload. Controleer de datasetpagina om te bevestigen dat alle episodes correct zijn geüpload. Trainen duurt 2–12 uur op een GPU. Begin met ACT als u twijfelt; het traint sneller dan Diffusion Policy en werkt goed voor pick-and-place.

Als uw policy na 30 episodes niets leert, neem dan 20 extra episodes op en controleer de consistentie: bekijk willekeurige episodes in een videospeler en controleer of het bewegingspad op elkaar lijkt. Inconsistente demonstraties veroorzaken mislukte training.

Voor onderdelen en accessoires gaat u naar de collectie robotarmonderdelen en accessoires. Voor het monteren van camera's leest u de gids voor de LeRobot-camera-opstelling.

Alles voor een eerste dataset in één bestelling.

De First Training Kit combineert een SO-ARM101-set met 100 gekleurde houten kubussen en een tray van 10 × 10.

Koop de First Training Kit → Trainingskubussen Bureauarm voor bovencamera

FAQ

Kan ik een dataset opnemen op een Raspberry Pi 5 of heb ik een Linux-desktop nodig?

U kunt opnemen op een Raspberry Pi 5, maar de CPU heeft moeite om 1080p-cameraframes in realtime te coderen. Gebruik 480p voor beide camera's als u op een Pi opneemt, of laat het opnemen over aan een Linux-desktop met een snellere CPU. De aansturing van de arm zelf werkt prima op een Pi; alleen het coderen van de camerabeelden is traag.

Wat gebeurt er als mijn schijfruimte opraakt tijdens het opnemen?

LeRobot stopt met opnemen en slaat alleen de voltooide episodes op. Controleer de beschikbare schijfruimte met df -h voordat u begint. Een dataset van 30 episodes met twee camera's op 1080p en 480p gebruikt ongeveer 3–5 GB. Als u op een microSD-kaart opneemt, zorg dan dat er minstens 10 GB vrij is.

Moet ik de dataset opnieuw opnemen als ik later de camerapositie verander?

Ja, als u de camera's aanzienlijk verplaatst. Policies leren de ruimtelijke relatie tussen wat de camera's zien en waar de arm beweegt. Als u de hoek van de bovencamera met meer dan een paar graden wijzigt, generaliseert de aangeleerde policy niet meer en moet u een nieuwe dataset opnemen met de bijgewerkte camera-opstelling.

Terug naar blog