xBerry Blog xBerry LeRobot Blog LeRobot + ACT + SO-101: jak zbudowaliśmy stanowisko do uczenia przez imitację

LeRobot + ACT + SO-101: jak zbudowaliśmy stanowisko do uczenia przez imitację

xBerry LeRobot: Ramię robotyczne, uczenie przez imitację i trochę taśmy klejącej. Tak wygląda nasz wewnętrzny projekt R&D z LeRobot i modelem ACT.

TL;DR – o co chodzi w tym projekcie?

Zbudowaliśmy stanowisko, na którym ramię robotyczne uczy się chwytać obiekty, obserwując ruchy człowieka. Bez programowania trajektorii. Bez pisania setek linii kodu sterującego. Zamiast tego – AI, kamery głębi i coś, co nazywamy „uczeniem przez naśladownictwo”.

 

To pierwszy artykuł z serii o tym projekcie. Opowiemy Wam, z czego korzystamy, dlaczego to wybraliśmy i co z tego wynikło.

 

Sprzęt: dwa ramiona, jedno zadanie

Serce naszego stanowiska to dwuramienni manipulatorzy SO-101 – każdy z nich ma 6 stopni swobody (6 DoF), co w praktyce oznacza tyle co ludzkie ramię: obrót w nadgarstku, łokciu, barku i tak dalej.

 

Pracują w układzie Leader–Follower:

 

  • Leader (czarne ramię) – operator-człowiek trzyma je w dłoni i pokazuje ruch
  • Follower (białe ramię) – kopiuje każdy ruch w czasie rzeczywistym

Taka konfiguracja pozwala nagrywać eksperckie demonstracje bez pisania ani jednej linijki kodu kinematyki odwrotnej. Operator po prostu… pokazuje, co robot ma robić. Brzmi prosto — i o to właśnie chodzi.

 

Software: LeRobot by Hugging Face

Ramię Robotyczne LeRobot

Do zarządzania całym pipeline’em badawczym używamy LeRobot – open-source’owego frameworka od Hugging Face, który robi dokładnie to, czego chcieliśmy: usuwa cały nudny, podatny na błędy kod integracyjny i pozwala skupić się na tym, co naprawdę ważne – architekturze modelu.

Co LeRobot ogarnia za nas?

  • Wielowątkowe nagrywanie danych z wielu kamer jednocześnie
  • Kompresję i kategoryzację datasetów
  • Trening polityk sieci neuronowych
  • Ewaluację gotowych modeli

Całość konfiguruje się przez pliki YAML i Makefile. Serio – tyle wystarczy, żeby uruchomić zaawansowany eksperyment robotyczny na zwykłym desktopie.

 

Dlaczego to ważne dla biznesu? LeRobot to framework demokratyzujący robotykę AI. Projekty, które jeszcze 3 lata temu wymagały dedykowanych laboratoriów i kilkunastu inżynierów, dziś można uruchomić z zespołem stażystów i jednym GPU.

 

Metoda: uczenie przez naśladownictwo (Imitation Learning)

Zapomnijcie na chwilę o klasycznym programowaniu robotów. Zapomnijcie też o uczeniu ze wzmocnieniem, gdzie robot raz po raz uderza głową w ścianę, aż w końcu nauczy się jej unikać.

 

Imitation Learning (IL) to podejście, w którym robot po prostu patrzy na człowieka i się uczy.

 

Historycznie zaczęło się od prostego Behavioral Cloning – „widzę klatkę z kamery, wybieram ruch silnika”. Dziś to znacznie bardziej rozbudowana dziedzina: agent potrafi wnioskować o trójwymiarowej przestrzeni, rozpoznawać nieregularne obiekty i generalizować zachowania na nowe sytuacje.

 

W praktyce oznacza to, że możemy nauczyć robota zadania bez matematycznego opisu tego zadania. A to jest naprawdę dużo.

 

Algorytm: ACT, bo zwykłe modele się zacinają

Wybraliśmy ACT (Action Chunking with Transformers) i nie żałujemy.

 

Klasyczne modele mają problem zwany błędem kumulatywnym: im dalej w czasie, tym bardziej trajektoria się rozjeżdża. ACT rozwiązuje to elegancko:

 

  1. Zamiast planować jeden krok do przodu, przewiduje całe „paczki” przyszłych ruchów (tzw. chunks) naraz
  2. Używa mechanizmu uwagi z architektury Transformer oraz VAE (Variational Autoencoder)
  3. Nakłada wygenerowane kroki na siebie w czasie (temporal ensembling), co daje płynne, pozbawione drgań ruchy
  4. Efekt? Ramię porusza się jak człowiek – nie jak robot z lat 90.

    Jak wygląda trening w praktyce?

    Backbone wizyjny to ResNet-18 – sprawdzony, stabilny, wystarczająco lekki, żeby trenować na desktopie. Całą pętlę uczenia wywołuje się jednym modułem:

     
    lerobot.scripts.lerobot_train
     

    Kluczowe parametry, które ustawialiśmy:

     

    • chunk_size=16 – długość „paczki” akcji przewidywanej przez model
    • batch_size=8 – rozmiar wsadu wejściowego
    • expandable_segments – optymalna alokacja pamięci w PyTorch, dzięki której cały proces działa nawet na standardowej stacji roboczej

    Tak. Zaawansowany trening polityki manipulacyjnej – bez klastra obliczeniowego, bez chmury, na biurkowym PC z RTX 4000.

    RGB czy RGB-D? Trenowaliśmy oba warianty

    To jedno z centralnych pytań naszego eksperymentu. Wytrenowaliśmy dwa warianty modelu:

     

    • RGB – klasyczne dane wizyjne z kamer kolorowych
    • RGB-D – dane wzbogacone o mapy głębi z kamer Intel RealSense

     
    Mapa stanowiska do pracy ramienia
     

    Hipoteza: informacja o głębi powinna pomóc modelowi lepiej rozumieć przestrzeń 3D i precyzyjniej chwytać obiekt. Czy tak było? O wynikach piszemy w następnym artykule, ale już teraz możemy powiedzieć, że odpowiedź nie jest oczywista.

     

    Stanowisko i konfiguracja kamer

    Eksperymenty prowadzimy na stacji roboczej Intel Core i7-14700F + GPU NVIDIA RTX 4000. Dane zbieramy z 4 fizycznych kamer, dając łącznie 6 logicznych strumieni:

     

    KameraTypPozycjaRola
    Kamera 1RGB (OpenCV)Nad obszarem roboczymWidok globalny
    Kamera 2RGB-D (RealSense D435)BocznaGłębia + kolor
    Kamera 3RGB-D (RealSense D455)Strefa startowaProfilowanie głębi
    Kamera 4RGB (OpenCV)Nadgarstek manipulatoraWidok z ręki robota

     

    Kamery RGB-D rejestrują nie tylko obraz, ale też mapy głębi – co pozwala modelowi rozumieć trójwymiarową przestrzeń, a nie tylko płaski obraz.

     

    Zadanie testowe: Pick, Lift and Place

    Benchmark, który wybraliśmy do testów, to klasyk w manipulacji robotycznej: „Pick, Lift and Place” – chwyć piłeczkę, unieś ją i odłóż do pojemnika.

     

    Żeby utrudnić życie modelowi (i sprawdzić, czy naprawdę generalizuje, a nie zapamiętuje ścieżkę), obszar roboczy podzieliliśmy na 6 stref startowych (indeksy 0–5). Przed każdym testem piłeczka trafia w losowe miejsce.

     

    To proste zadanie kryje w sobie zaskakującą złożoność: zmienna pozycja obiektu, różne kąty chwytu, konieczność precyzyjnego odłożenia – wszystko to sprawia, że model musi naprawdę rozumieć zadanie.

     

    Co dalej?

    Ustawienie biurka

    To dopiero początek. W kolejnych artykułach tej serii pokażemy:

     

    • Jak wyglądał proces zbierania danych i co poszło nie tak (spoiler: dużo rzeczy)
    • Wyniki porównania modeli RGB vs RGB-D – czy głębia naprawdę pomaga?
    • Co nasi stażyści wnieśli do projektu i czego sami się nauczyli.

     

    Jeśli jesteś zainteresowany AI, robotyką, imitation learningiem albo po prostu chcesz zobaczyć jak takie narzędzia pracują w rzeczywistości – Napisz do nas. Z chęcią porozmawiamy!

     

    FAQ

    Czym jest LeRobot? LeRobot to open-source’owy framework od Hugging Face do uczenia robotów przez imitację. Automatyzuje zbieranie danych, trening i ewaluację polityk sieci neuronowych.

     

    Czym jest model ACT w robotyce? ACT (Action Chunking with Transformers) to algorytm uczenia przez imitację, który przewiduje całe sekwencje ruchów naraz, eliminując błędy kumulatywne typowe dla klasycznych modeli.

     

    Co to jest uczenie przez imitację (Imitation Learning)? Metoda trenowania robotów, w której agent uczy się na podstawie demonstracji człowieka, bez konieczności programowania ruchów czy definiowania funkcji nagród.

     

    Czym jest SO-101? SO-101 to manipulator robotyczny o 6 stopniach swobody, zaprojektowany do łatwego zbierania danych do uczenia przez imitację w układzie Leader-Follower.

Powiązane blogi

Planujesz nowy projekt?

Porozmawiajmy Arrow icon