Wpis w glosariuszu AY-Robots dla formatu zbioru danych LeRobot, formatu, który każdy trener na platformie wykorzystuje, niezależnie od tego, czy epizody zostały nagrane, czy wygenerowane.
dane syntetycznesim-to-realIsaac Labuczenie przez imitacjęMimicGenSO-101

Dane syntetyczne dla polityk robotów: Gdzie symulacja pomaga

AY-Robots ResearchAugust 23, 202631 min czytania

Symulacja może pomnożyć garść demonstracji w tysiące. Oto, co naprawdę mówią opublikowane liczby, gdzie problem sim-to-real daje się we znaki i co jeszcze musi zostać nagrane.

Co kilka miesięcy ktoś dochodzi do wniosku, że nagrywanie pięćdziesięciu epizodów ręcznie jest powolne i pyta, czy symulator mógłby je zamiast tego produkować. To słuszne pytanie. Szczera odpowiedź składa się z trzech części: generowane dane pomagają, nie zastępują prawdziwych nagrań, a stosunek między tymi dwoma faktami zależy całkowicie od rodzaju danych syntetycznych, o które chodzi.

Ta strona przedstawia, co faktycznie zmierzono w opublikowanych pracach, co można dziś uruchomić na tanim ramieniu, takim jak SO-100, oraz gdzie luka między symulacją a rzeczywistością niweczy zyski. Krótka wersja, przed szczegółami: systemy, które raportują największe mnożniki, mnożą niewielki zestaw rzeczywistych demonstracji ludzkich. Nie eliminują one potrzeby ich istnienia.

Co musisz wiedzieć

  • Cztery niezwiązane ze sobą techniki są nazywane danymi syntetycznymi w manipulacji: mnożenie trajektorii, symulacje fizyczne, modele świata wideo i augmentacja w przestrzeni obrazu. Zawodzą one na różne sposoby i mają różną wartość.
  • MimicGen przekształcił mniej niż 200 demonstracji ludzkich w ponad 50 000 wygenerowanych w 18 zadaniach. W zadaniu Square D0, 200 demonstracji wygenerowanych z 10 demonstracji ludzkich dało 79 procent sukcesu w porównaniu do 84 procent dla 200 rzeczywistych demonstracji ludzkich.
  • RoboCasa jest przykładem przeciwnym: 72 000 wygenerowanych demonstracji uzyskało 47,6 procent w porównaniu do 28,8 procent dla 1250 demonstracji ludzkich. To jest 58-krotna przewaga objętościowa, a nie zwycięstwo porównywalne jeden do jednego.
  • Badanie dotyczące współtreningu symulacji i rzeczywistości raportuje średnio 38-procentową poprawę wydajności zadań w świecie rzeczywistym. Przepis to współtrening na mieszance, a nie tylko transfer z symulacji.
  • GR00T N1 opiera się na 780 000 trajektorii symulacyjnych (równowartość 6500 godzin, wygenerowanych w 11 godzin) i 827 godzinach trajektorii neuronowych wyrosłych z 88 rzeczywistych godzin. Te 88 rzeczywistych godzin nadal stanowi szczyt piramidy.
  • Dla SO-101 istnieje dziś działający otwarty potok: LeIsaac wewnątrz Isaac Lab, teleoperacja fizycznym ramieniem wiodącym, mnożenie za pomocą Isaac Lab Mimic, eksport do formatu LeRobot, dostrajanie GR00T.
  • AY-Robots nie generuje danych syntetycznych. Trenuje na zestawie danych LeRobot, który mu dostarczysz, niezależnie od sposobu jego wytworzenia, a trenerzy potrzebują minimum 30 do 50 epizodów w zależności od modelu.

Cztery różne rzeczy nazywane są danymi syntetycznymi

Zanim porównamy liczby, warto rozdzielić rodziny, ponieważ artykuł donoszący o 100-krotnym mnożniku i artykuł donoszący o 5-punktowym wzroście sukcesu często opisują ten sam potok z różnych perspektyw. Wspólnym wątkiem jest to, że coś w zbiorze danych LeRobot zostało wyprodukowane przez maszynę, a nie nagrane z fizycznego ramienia. Różni się to, która część.

RodzinaCo pozostaje rzeczywisteCo jest generowaneZgłoszony mnożnikGłówny tryb awarii
Mnożenie trajektorii (MimicGen, DexMimicGen, Isaac Lab Mimic)Garść demonstracji ludzkich, siatki obiektów, silnik fizykiNowe trajektorie dostosowane do nowych pozycji obiektów i układów scen10 human demos to 1,000 per reset distribution; 60 to 21,000; under 200 to over 50,000Próby generacji kończą się niepowodzeniem. Isaac Lab podaje wskaźnik sukcesu kandydata na poziomie do 70 percent w prostych przypadkach i poniżej 1 percent w trudnych.
Symulacje fizyczne w symulatorze zadań (Isaac Lab, robosuite, RoboCasa)Silnik fizyki i biblioteka zasobówCałe epizody, sterowane przez skryptowe kontrolery, planery lub RLOgraniczone jedynie godzinami pracy GPUSymulowane ramię nie jest twoim ramieniem. Dynamika kontaktu i serwomechanizmów to przybliżenia.
Wizualne modele świata (DreamGen, Cosmos Transfer)Kilka rzeczywistych epizodów teleoperacji użytych jako warunkowanieFotorealistyczne wideo nowych zachowań, plus pseudo-akcje odzyskane później88 hours to 827 hours in GR00T N1, about 10xAkcje są wnioskowane, a nie mierzone. Wiarygodne wideo może zawierać niewiarygodną akcję.
Augmentacja w przestrzeni obrazu (random crop, colour jitter)Wszystko oprócz pikseliZaburzone widoki epizodów, które już masz1x, nie tworzy nowej trajektoriiAugmentacja geometryczna zrywa związek między obrazem a etykietą akcji.

Tylko pierwsze trzy to dane syntetyczne w rozumieniu tego artykułu. Czwarte warto wspomnieć, ponieważ jest ono włączane do tej samej rozmowy i jest zdecydowanie najtańszą rzeczą na liście. Jeśli jeszcze nie włączyłeś augmentacji, z którymi dostarczany jest twój trener, zrób to, zanim zainstalujesz symulator.

Możesz obejrzeć prawdziwe dane syntetyczne, zanim cokolwiek wygenerujesz

NVIDIA opublikowała symulowane trajektorie użyte do potrenowania GR00T N1 jako nvidia/PhysicalAI-Robotics-GR00T-X-Embodiment-Sim na Hugging Face, około 1.87 TB na licencji cc-by-4.0. Dzieli się na 9,000 cross-embodied bimanual Panda and GR1 trajectories, 240,000 humanoid tabletop trajectories, 72,000 single-Panda kitchen trajectories and 102 Unitree G1 loco-manipulation trajectories. Pobranie jednego podzbioru za pomocą huggingface-cli download --include "gr1_arms_only.CanSort/**" i obejrzenie kilku epizodów to najszybszy sposób na skalibrowanie wyglądu wygenerowanych trajektorii, a kosztuje to tylko przepustowość.

Co faktycznie mówią opublikowane liczby

Oto baza dowodów, z liczbami takimi, jak podają je źródła, a nie jak podsumowują je komunikaty prasowe. Każdy wiersz poniżej pochodzi z artykułu lub strony projektu przeczytanej 23 sierpnia 2026 roku.

SystemDane wejścioweWygenerowaneZgłoszony wynik
MimicGen, CoRL 2023Mniej niż 200 demonstracji ludzkich; 10 demonstracji ludzkich w bezpośrednim porównaniuPonad 50 000 demonstracji, 18 zadań, cztery ramiona (Panda, Sawyer, IIWA, UR5e)Kwadrat D0: 79 procent z 200 demonstracji wygenerowanych z 10 demonstracji ludzkich, w porównaniu do 84 procent z 200 demonstracji ludzkich
DexMimicGen, 202460 źródłowych demonstracji ludzkich21 000 demonstracji dla zręcznych robotów dwuręcznychDwuręczne zadania zręcznościowe w symulacji, plus wdrożenie sortowania puszek przez humanoida w trybie rzeczywistym-symulacja-rzeczywistym
RoboCasa, 20241250 demonstracji ludzkich (50 na zadanie w 25 zadaniach atomowych), 100 zadań ewaluacyjnych, ponad 150 kategorii obiektów100 000 trajektorii MimicGen; podzbiór 72 000 demonstracji stanowi podstawę porównania28,8 procent ogólnie na zbiorze ludzkim w porównaniu do 47,6 procent na w pełni wygenerowanym zbiorze, oceniane tylko na niewidzianych instancjach obiektów
Sim-and-real co-training, 2025Rzeczywiste demonstracje plus zbiory danych symulacyjnych, dwie dziedziny (ramię robota i humanoida)Mieszanka, nie zamiennikDane symulacyjne poprawiły wydajność zadań w świecie rzeczywistym średnio o 38 procent
DreamGen, 2025Dane z teleoperacji z pojedynczego zadania typu pick-and-place w jednym środowiskuSyntetyczne wideo plus pseudo-akcje z modelu akcji ukrytych lub modelu dynamiki odwrotnej22 nowe zachowania na humanoida, w widzianych i niewidzianych środowiskach
GR00T N1 data pyramid, 202588 godzin wewnętrznej teleoperacji GR-1827 godzin trajektorii neuronowych (około 10x); 780 000 trajektorii symulacyjnych, równowartość 6500 godzin, wyprodukowanych w 11 godzinTrajektorie neuronowe dodały 4,2, 8,8 i 6,8 punktu na RoboCasa w reżimach 30, 100 i 300 demonstracji na zadanie, oraz średnio 5,8 punktu w 8 rzeczywistych zadaniach GR-1
Czytaj mnożniki jako liczbę trajektorii, nie jako możliwości

Mnożnik to liczba wierszy. Bezpośrednie porównanie MimicGen umieszcza wygenerowane dane nieco poniżej tej samej liczby danych ludzkich (79 wobec 84 procent), a ablacjacja GR00T N1 dodaje jednocyfrowe punkty procentowe do modelu, który już posiadał rzeczywiste godziny. RoboCasa faktycznie przewyższa dane ludzkie, 47,6 wobec 28,8 procent, ale z 72 000 wygenerowanych demonstracji w porównaniu do 1250 ludzkich. Objętość kupuje zasięg. Nie kupuje informacji, których Twoje demonstracje nigdy nie zawierały.

Wzór we wszystkich rzetelnych ablacjach jest ten sam. Dane syntetyczne tanio poszerzają zasięg. Nie tworzą one informacji o twoim chwytaku, ugięciu serwa, oświetleniu czy wysokości stołu, których nie było gdzieś w rzeczywistych demonstracjach. Jeśli twoja polityka zawodzi, ponieważ efektor końcowy zamyka się pół sekundy za późno, żadna ilość symulowanych wariacji tego nie naprawi. To jest problem z synchronizacją chwytaka w rzeczywistych nagraniach.

Jedno odkrycie MimicGen warto wziąć pod uwagę podczas własnych sesji nagraniowych, ponieważ jest sprzeczne z typowymi radami. Projekt wygenerował dwa zbiory danych na Square D2, jeden z 10 demonstracjami od operatora ludzkiego o lepszej jakości i jeden z 10 demonstracjami od operatora o gorszej jakości, oba pochodzące ze zbioru danych robomimic multi-human Square. Polityki wytrenowane na każdym z nich osiągnęły porównywalne wyniki, co autorzy odczytali jako znak, że w reżimie danych na dużą skalę jakość danych może nie mieć aż tak dużego znaczenia. Czytając uważnie, jest to stwierdzenie dotyczące dziesięciu demonstracji początkowych, a nie pięćdziesięciu rzeczywistych epizodów. Oznacza to, że nieco niedoskonały zestaw początkowy nie jest tym, co stoi między tobą a użytecznym wygenerowanym zbiorem danych. Nie oznacza to, że rzeczywiste epizody, na których współtrenujesz, mogą być niedoskonałe, ponieważ to one niosą informacje, których symulator nie posiada.

The AY-Robots public dataset directory listing recorded LeRobot datasets with their episode counts.
Publiczny katalog zbiorów danych pod adresem /directory. Każdy wpis tutaj to rzeczywiste nagrane epizody. Dane syntetyczne są mnożnikiem na czymś takim, a nie jego substytutem.

Luka sim-to-real, konkretnie

Luka jest zazwyczaj omawiana jako pojedyncza wielkość, co jest niepomocne. To co najmniej pięć oddzielnych niedopasowań, a ich rozmiary różnią się w przypadku ramienia hobbystycznego o wartości 110 do 150 EUR w porównaniu do ramienia Franka.

  • Kontakt i tarcie. Isaac Lab jasno stwierdza, że przy tym samym sprzęcie oraz tej samej wersji Isaac Sim i PhysX symulacja jest odtwarzalna, ale wyniki różnią się w zależności od konfiguracji sprzętowych z powodu precyzji zmiennoprzecinkowej i błędów zaokrągleń, a PhysX nie gwarantuje determinizmu dla żadnej sceny z ciałami nieelastycznymi, takimi jak tkaniny czy ciała miękkie.
  • Aktywacja. Serwo magistrali Feetech STS3215 działające przy 7.4 V ugina się pod obciążeniem, ma luz i zmienia zachowanie w miarę nagrzewania. Model MJCF dla SO-101 zapożycza parametry silnika z niepowiązanego projektu, zamiast identyfikować je na twoim ramieniu.
  • Renderowanie. Szum kamery, migawka rolująca, automatyczna ekspozycja i dokładny odcień twojego stołu nie są uwzględnione w renderze. To jest ta połowa luki, którą Cosmos-Transfer1 został zbudowany, aby zamknąć: jego przepływ pracy augmentacji robotyki mapuje jeden syntetyczny przykład robotyki na wiele realistycznych przykładów z segmentacji, głębi lub warunkowania krawędzi.
  • Synchronizacja. Symulator wykonuje kroki ze stałą szybkością. Prawdziwa pętla sterowania nie, a sam model kosztuje od 20 do 485 ms na krok akcji, w zależności od wybranego. Zobacz opóźnienie wnioskowania.
  • Statystyki obiektów. Symulowane sceny są próbkowane z rozkładu, który ktoś zapisał. Twój stół kuchenny nie.

Co symulowany SO-100 faktycznie wie o twoim ramieniu

To jest część, która decyduje, czy cokolwiek z powyższego jest warte twojego weekendu, a pierwszą niespodzianką jest to, że SO-100 i SO-101 nie są obsługiwane w równym stopniu. Repozytorium SO-ARM100 TheRobotStudio przechowuje swoje zasoby symulacyjne pod Simulation/. Folder SO100 zawiera pojedynczy plik URDF i nic więcej. Folder SO101 zawiera zarówno pliki URDF, jak i MuJoCo: scene.xml, so101_new_calib.xml, so101_old_calib.xml, pasujące pliki URDF oraz joints_properties.xml. Jeśli chcesz model fizyczny, a nie łańcuch kinematyczny, potrzebujesz plików SO-101.

Zostały wygenerowane za pomocą wtyczki onshape-to-robot z modelu CAD zaprojektowanego w Onshape, co oznacza, że kinematyka i siatki wizualne są tak dobre, jak sam CAD. Dynamika to inna historia, a plik README repozytorium otwarcie mówi o trzech rzeczach. Bazowe siatki kolizji zostały usunięte z powodu problematycznego zachowania kolizyjnego podczas symulacji i planowania. Właściwości silnika STS3215 są zaadaptowane z projektu Open Duck Mini, a nie zmierzone na SO-101. A konwencja chwytaka LeRobot, gdzie 0 oznacza pełne zamknięcie, a 100 pełne otwarcie, nie jest jeszcze wyraźnie odzwierciedlona w plikach URDF i MuJoCo. Każdy z tych punktów to miejsce, gdzie polityka wytrenowana wyłącznie w tym modelu będzie zachowywać się inaczej na Twoim biurku.

Konwencja kalibracji, która pochłania dzień

W dostarczonych plikach MuJoCo istnieją dwie konwencje zerowe, a scene.xml wybiera między nimi w zależności od tego, który plik robota zawiera. W so101_new_calib.xml, domyślnie, wirtualne zero każdego stawu znajduje się w środku jego zakresu ruchu. W so101_old_calib.xml zero to konfiguracja, w której robot jest w pełni wyciągnięty poziomo. Jeśli Twoje symulowane epizody używają jednej konwencji, a nagrane rzeczywiste epizody innej, każdy kąt stawu w mieszanym zbiorze danych jest przesunięty o dziesiątki stopni, strata nadal spada, a polityka robi coś pewnie źle. Sprawdź konwencję po obu stronach przed wspólnym trenowaniem i najpierw przeczytaj kalibracja oraz strata spada, polityka nic nie robi.

Randomizacja domeny i czego nie naprawia

Standardową odpowiedzią na tę lukę jest zaprzestanie prób dopasowywania się do rzeczywistości i zamiast tego trenowanie w oparciu o wystarczająco szeroki rozkład, aby rzeczywistość się w nim mieściła. Tobin i współpracownicy pokazali silną wersję tego w 2017 roku: detektor obiektów wytrenowany wyłącznie na symulowanych obrazach z nierealistycznymi losowymi teksturami, bez żadnego wstępnego trenowania na prawdziwych obrazach, lokalizował rzeczywiste obiekty z dokładnością do 1.5 cm i pozostawał odporny na dystraktory i częściowe zasłonięcia.

Isaac Lab przedstawia tę samą ideę co terminy zdarzeń, które dołączasz do konfiguracji środowiska. Są to pokrętła, według ich rzeczywistych nazw funkcji w isaaclab.envs.mdp, więc możesz je przeczytać, zamiast zgadywać.

Funkcja zdarzeniaCo zakłóca
randomize_rigid_body_materialTarcie kontaktowe i sprężystość
randomize_rigid_body_mass, randomize_rigid_body_comMasa obiektu i ogniwa, przesunięcia środka masy
randomize_actuator_gainsSztywność i tłumienie kontrolera stawu
randomize_joint_parameters, randomize_fixed_tendon_parametersTarcie stawu, twornik i ograniczenia
randomize_visual_texture_material, randomize_visual_colorWygląd, fotometryczna połowa luki
randomize_physics_scene_gravityWektor grawitacji
apply_external_force_torque, push_by_setting_velocityZakłócenia w czasie działania
reset_root_state_uniform, reset_joints_by_offsetRozkład stanu początkowego przy każdym resecie epizodu

Oto limit, i to jest ten, na który ludzie się natykają. Randomizacja poszerza rozkład, który polityka widziała w zbudowanym przez Ciebie modelu. Nie może wprowadzić efektu fizycznego, którego symulator nie reprezentuje. Jeśli PhysX nie modeluje luzu i spadku termicznego Twoich serw STS3215, randomizacja ich sztywności niczego nie nauczy polityki o luzie. Dlatego ramię, które pod polityką wytrenowaną w symulacji nie jest problemem budżetu randomizacji. Jest to problem modelowania.

Ścieżka manualna: generowanie danych w Isaac Lab

Isaac Gym to oprogramowanie starszej generacji. Własna strona NVIDIA nosi nagłówek „Isaac Gym - Now Deprecated” i informuje, że deweloperzy mogą je pobierać i nadal używać, ale nie jest już wspierane, wskazując zamiast tego na Isaac Lab. Jeśli interesuje Cię historia, opisaliśmy oba: oraz . W przypadku nowych projektów w 2026 roku, zacznij od Isaac Lab.

  1. 1
    Zainstaluj Isaac Sim i Isaac Lab

    Strona instalacji pip informuje, że instrukcje dotyczą Isaac Sim 5.X, który wymaga Pythona 3.11. Klonowanie źródła dostarcza skrypty potrzebne w kolejnych krokach.

    bash
    pip install "isaacsim[all,extscache]==5.1.0" \
        --extra-index-url https://pypi.nvidia.com
    
    git clone https://github.com/isaac-sim/IsaacLab.git --branch main
    cd IsaacLab
    sudo apt install cmake build-essential
    ./isaaclab.sh --install
    
    # smoke test
    ./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py
  2. 2
    Nagraj około dziesięciu demonstracji wykonanych przez człowieka

    Dokumentacja Isaac Lab jest precyzyjna: do pomyślnego wykonania kolejnych kroków wymaganych jest około 10 udanych demonstracji. Jej wskazówki są równie konkretne. Utrzymuj demonstracje krótkie, wybieraj bezpośrednią ścieżkę zamiast poruszania się wzdłuż dowolnych osi i nie rób przerw, ponieważ dla polityki nie jest oczywiste, dlaczego i kiedy należy się zatrzymać.

    bash
    ./isaaclab.sh -p scripts/tools/record_demos.py \
        --task Isaac-Stack-Cube-Franka-IK-Rel-v0 \
        --device cpu \
        --teleop_device spacemouse \
        --dataset_file ./datasets/dataset.hdf5 \
        --num_demos 10
  3. 3
    Adnotuj granice podzadań

    Mimic dzieli demonstracje wejściowe na podzadania, aby móc ponownie synchronizować i ponownie targetować segmenty. Flaga --auto wykonuje to bez udziału człowieka w przypadku zadań, które definiują automatyczną adnotację; bez niej pauzujesz klawiszem B, kontynuujesz klawiszem N i zaznaczasz granicę klawiszem S. Zauważ, że identyfikator zadania otrzymuje sufiks -Mimic.

    bash
    ./isaaclab.sh -p scripts/imitation_learning/isaaclab_mimic/annotate_demos.py \
        --device cpu \
        --task Isaac-Stack-Cube-Franka-IK-Rel-Mimic-v0 \
        --auto \
        --input_file ./datasets/dataset.hdf5 \
        --output_file ./datasets/annotated_dataset.hdf5
  4. 4
    Wygeneruj pomnożony zbiór danych

    To jest krok, który zamienia 10 w 1000. Mimic stosuje boolowe kryterium sukcesu do każdego kandydata i zachowuje tylko te, które ukończyły zadanie, więc liczba wyników jest niższa niż liczba prób. Dokumentacja podaje, że wskaźnik sukcesu kandydata wynosi do 70 procent w prostych przypadkach i poniżej 1 procenta dla trudnych zadań i złożonych robotów: około 50 procent dla układania kostek przez Frankę i od 65 do 80 procent dla GR1T2 pick and place, gdzie 1000 demonstracji zajmuje od 18 do 40 minut (19 minut na RTX ADA 6000 przy 80 procentach).

    bash
    ./isaaclab.sh -p scripts/imitation_learning/isaaclab_mimic/generate_dataset.py \
        --device cpu \
        --num_envs 10 \
        --generation_num_trials 1000 \
        --headless \
        --input_file ./datasets/annotated_dataset.hdf5 \
        --output_file ./datasets/generated_dataset.hdf5
  5. 5
    Konwertuj HDF5 na zbiór danych LeRobot

    Wszystko powyższe generuje HDF5 w formacie robomimic, a rdzeń Isaac Lab nie zawiera własnego konwertera LeRobot: jego dokumentacja jedynie stwierdza, że można przekonwertować wygenerowany zbiór danych do formatu LeRobot. Dwa projekty dostarczają rzeczywisty konwerter. IsaacLab-Arena dostarcza konwerter ukierunkowany na GR00T, sterowany w całości przez konfigurację YAML, a LeIsaac dostarcza własną parę dla trasy SO-101 (patrz poniżej).

    bash
    # IsaacLab-Arena, GR00T LeRobot format
    python isaaclab_arena_gr00t/lerobot/convert_hdf5_to_lerobot.py \
        --yaml_file isaaclab_arena_gr00t/lerobot/config/gr1_manip_config.yaml
Przypnij swoje wersje i nie ufaj `main`

23 sierpnia 2026 roku dokumentacja Isaac Lab dla `main` zawiera odznakę Isaac Sim 6.0.1 i oferuje release/3.0.0 oraz v3.0.0-beta2 w swoim przełączniku wersji obok v2.3.2, podczas gdy strona instalacji pip w tym samym drzewie nadal przypina `isaacsim[all,extscache]==5.1.0` i opisuje instrukcje jako przeznaczone dla Isaac Sim 5.X. Kontener blueprint NVIDIA synthetic-manipulation-motion-generation jest jeszcze starszy: Isaac Lab 2.0.2 na Isaac Sim 4.5.0. Własna tabela kompatybilności LeIsaac łączy Isaac Sim 5.1 z Isaac Lab v2.3.0. Te drzewa rozwijają się szybciej, niż dokumentacja jest w stanie to odzwierciedlić. Wybierz jedną wersję, zapisz ją i spodziewaj się, że ścieżki skryptów i nazwy flag mogły się zmienić, jeśli postępujesz zgodnie z samouczkiem napisanym trzy miesiące temu.

Dlaczego próby generowania kończą się niepowodzeniem i co zmienić

Współczynnik sukcesu kandydata, który waha się między 70 procent a poniżej 1 procent, nie jest tajemnicą, a Isaac Lab dokumentuje typowe pułapki, zamiast pozostawiać Cię w domysłach. Każda z nich to coś, co kontrolujesz w czasie nagrywania, dlatego warto przeczytać tę listę przed nagraniem dziesięciu demonstracji początkowych, a nie po pierwszym rozczarowującym uruchomieniu generowania.

  • Demonstracje są zbyt długie. Dłuższy horyzont czasowy jest trudniejszy do nauczenia dla polityki. Zacznij blisko pierwszego obiektu i zminimalizuj ruch.
  • Demonstracje nie są płynne. Nieregularny ruch jest trudny do rozszyfrowania dla polityki, a lepszy sprzęt do teleoperacji dostarcza lepszych danych: dokumentacja jasno stwierdza, że SpaceMouse jest lepszy od klawiatury.
  • Pauzy. Pauzy są trudne do nauczenia, ponieważ dla polityki nie jest oczywiste, dlaczego i kiedy należy pauzować. Utrzymuj płynny ruch.
  • Zbyt wiele podzadań. Więcej podzadań oznacza więcej łączenia segmentów trajektorii, co skutkuje mniej płynnym ruchem i niższym współczynnikiem sukcesu generowania. Oznacz granice, gdzie ramię raczej nie zderzy się z niczym.
  • Brak szumu akcji. Szum akcji sprawia, że wynikowe polityki są bardziej odporne.
  • Nagranie przycięte zbyt ciasno. Jeśli nagranie zatrzymuje się dokładnie w klatce, w której wyzwala się warunek sukcesu, może nie wyzwolić się ponownie podczas odtwarzania. Pozostaw bufor na końcu.
  • Niedeterministyczne odtwarzanie. Fizyka w Isaac Lab nie jest deterministycznie odtwarzalna po env.reset, więc niektóre demonstracje ludzkie zawodzą podczas odtwarzania. Zbierz więcej niż potrzebujesz i zachowaj te, które przetrwają adnotację. Wszystko, co znajdzie się w pliku HDF5 wygenerowanym przez Mimic, jest udaną demonstracją i może być użyte do treningu, nawet jeśli odtwarzanie później zawiedzie.

Krok interpolacji między połączonymi segmentami podzadań ma własne pokrętło strojenia, a liczba potrzebnych kroków interpolacji zależy od tego, jak szybko porusza się robot i jak szeroki jest rozkład resetowania obiektów. Złożone zadanie z dużym rozkładem resetowania pozostawia większe luki między segmentami, co wymaga więcej kroków interpolacji, aby uzyskać ciągły ruch. Jeśli wygenerowane filmy pokazują, że ramię szarpie się między fazami, to jest to parametr, na który należy zwrócić uwagę, zanim obwinisz demonstracje początkowe.

Ta sama linia produkcyjna na SO-101, z prawdziwym ramieniem wiodącym

To jest interesujące dla każdego, kto czyta tę stronę, ponieważ jest to jedyny otwarty potok, który umieszcza wewnątrz Isaac Lab i pozwala sterować nim za pomocą fizycznego ramienia prowadzącego, które już posiadasz. LeIsaac, w wersji 0.4.0 w momencie pisania, to oficjalne środowisko symulacyjne do nauki przez imitację, zintegrowane z EnvHub LeRobota. Jego tabela kompatybilności wymienia trzy działające kombinacje; najnowsza łączy Isaac Sim 5.1 z Isaac Lab v2.3.0, CUDA 12.8, PyTorch 2.7.0 i Python 3.11, a dokumentacja zaleca Isaac Sim 5.0 lub nowszy dla kart z serii 50.

bash
git clone https://github.com/LightwheelAI/leisaac.git --recursive
conda create -n leisaac python=3.11 && conda activate leisaac
conda install -c "nvidia/label/cuda-12.8.1" cuda-toolkit
pip install -U torch==2.7.0 torchvision==0.22.0 \
  --index-url https://download.pytorch.org/whl/cu128
pip install "isaacsim[all,extscache]==5.1.0" --extra-index-url https://pypi.nvidia.com
sudo apt install cmake build-essential
cd leisaac/dependencies/IsaacLab && ./isaaclab.sh --install && cd ../..
pip install -e source/leisaac
pip install -e "source/leisaac[lerobot]"
pip install numpy==1.26.0
LeIsaac ze źródeł. Wymaganie konkretnej wersji numpy znajduje się w oficjalnych instrukcjach, nie jest obejściem problemu.

Po zainstalowaniu, ramię prowadzące na /dev/ttyACM0 steruje symulowanym ramieniem podążającym i nagrywa bezpośrednio do HDF5. jest taka sama, jaką znasz z rzeczywistego nagrywania, z tą różnicą, że ramię podążające jest ciałem sztywnym w PhysX.

bash
python scripts/environments/teleoperation/teleop_se3_agent.py \
    --task=LeIsaac-SO101-PickOrange-v0 \
    --teleop_device=so101leader \
    --port=/dev/ttyACM0 \
    --num_envs=1 \
    --device=cuda \
    --enable_cameras \
    --record \
    --dataset_file=./datasets/dataset.hdf5
ID środowiskaOpis zadaniaRobot
LeIsaac-SO101-PickOrange-v0Podnieś trzy pomarańcze i umieść je na talerzu, a następnie zresetuj ramię do stanu spoczynkuJednoramienny SO101 follower
LeIsaac-SO101-LiftCube-v0Podnieś czerwony sześcianJednoramienny SO101 follower
LeIsaac-SO101-CleanToyTable-v0Podnieś dwa obiekty w kształcie litery 'e' do pudełka, a następnie zresetuj ramię do stanu spoczynkuJednoramienny SO101 follower
LeIsaac-SO101-CleanToyTable-BiArm-v0To samo zadanie z dwoma ramionamiDwuramienny SO101 follower
LeIsaac-SO101-FoldCloth-BiArm-v0Złóż tkaninę, a następnie zresetuj ramię do stanu spoczynku. Tylko wariant DirectEnv obsługuje check_successDwuramienny SO101 follower
LeIsaac-LeKiwi-CleanupTrash-v0Podnieś śmieci z podłogi i wrzuć je do koszaLeKiwi

Większość z tych identyfikatorów istnieje również jako -Direct-v0 wariant, a python scripts/environments/list_envs.py wyświetla aktualną listę. Możesz również całkowicie pominąć objazd HDF5 i zapisać format LeRobot podczas teleoperacji, dodając trzy flagi. Dwa zastrzeżenia pochodzą z samej dokumentacji: rejestrator automatycznie pomija pierwsze 5 klatek każdego epizodu, aby uniknąć niestabilności stanów początkowych, i może powodować niewielkie opóźnienia w teleoperacji, co jest dokładnie tym, co po cichu zmienia charakter twoich demonstracji. Spłukuje również epizody tylko wtedy, gdy zadanie zostało oznaczone jako zakończone sukcesem.

bash
python scripts/environments/teleoperation/teleop_se3_agent.py \
    --task=LeIsaac-SO101-PickOrange-v0 \
    --teleop_device=so101leader \
    --port=/dev/ttyACM0 \
    --num_envs=1 --device=cuda --enable_cameras --record \
    --use_lerobot_recorder \
    --lerobot_dataset_repo_id=<your-user>/<dataset-name> \
    --lerobot_dataset_fps=30

Krok mnożenia jest następnie uruchamiany na tych nagraniach. LeIsaac opakowuje Isaac Lab Mimic w cztery polecenia, ponieważ Mimic uogólnia trajektorie z pozycji efektora końcowego i obiektu: konwertuje akcje w przestrzeni stawów na akcje oparte na IK, adnotuje, generuje, a następnie konwertuje z powrotem do przestrzeni stawów.

bash
python scripts/mimic/eef_action_process.py \
  --input_file ./datasets/mimic-lift-cube-example.hdf5 \
  --output_file ./datasets/processed_mimic-lift-cube-example.hdf5 \
  --to_ik --headless

python scripts/mimic/annotate_demos.py --device cuda \
  --task LeIsaac-SO101-LiftCube-Mimic-v0 \
  --input_file ./datasets/processed_mimic-lift-cube-example.hdf5 \
  --output_file ./datasets/annotated_mimic-lift-cube-example.hdf5 \
  --enable_cameras

python scripts/mimic/generate_dataset.py --device cuda \
  --num_envs 1 --generation_num_trials 10 \
  --input_file ./datasets/annotated_mimic-lift-cube-example.hdf5 \
  --output_file ./datasets/generated_mimic-lift-cube-example.hdf5 \
  --enable_cameras

python scripts/mimic/eef_action_process.py \
  --input_file ./datasets/generated_mimic-lift-cube-example.hdf5 \
  --output_file ./datasets/final_generated_mimic-lift-cube-example.hdf5 \
  --to_joint --headless

Następnie przekonwertuj na LeRobot. To jest krok, w którym zasady formatowania platformy stają się istotne, a LeIsaac dostarcza dokładnie dwa konwertery, których potrzebujesz: isaaclab2lerobot.py zapisuje LeRobot v2, który jest formatem akceptowanym przez loadery GR00T, oraz isaaclab2lerobotv3.py zapisuje v3 dla Pi0.5, SmolVLA i ACT. Oba skrypty przyjmują identyczne argumenty, ale przypisują różne wersje lerobot, a konwertowane są tylko udane epizody.

bash
pip install lerobot==0.3.3
pip install numpy==1.26.0

python scripts/convert/isaaclab2lerobot.py \
    --task_name=LeIsaac-SO101-PickOrange-v0 \
    --repo_id=<your-user>/so101_pick_orange_sim \
    --hdf5_root=./datasets \
    --hdf5_files=dataset.hdf5
Wyjście LeRobot v2 dla GR00T. Zamień na isaaclab2lerobotv3.py, z lerobot 0.4.2, dla trenerów v3.
Istnieje awaryjne wyjście bez GPU

LeIsaac dokumentuje uruchamianie całego stosu na NVIDIA Brev: wdróż, kliknij link portu 80, aby otworzyć serwer VS Code oparty na przeglądarce, i steruj czterema preinstalowanymi scenariuszami za pomocą --kit_args="--no-window --enable omni.kit.livestream.webrtc", oglądając render pod tym samym adresem z dopisanym /viewer. Jeśli nie masz karty roboczej pod biurkiem, jest to tańszy sposób, aby sprawdzić, czy symulowana wersja twojego zadania jest w ogóle zbliżona, zanim zaangażujesz w to sprzęt.

Dwie ścieżki do wytrenowanej polityki

Sam budujesz scenę, generujesz dane, wynajmujesz GPU i konfigurujesz serwowanie. Jest to właściwy wybór, jeśli zadanie wymaga zmienności środowiska, której nie możesz fizycznie zaaranżować, lub jeśli chcesz powtarzalnej ewaluacji.

  1. Zainstaluj Isaac Sim 5.1 i Isaac Lab, lub stos LeIsaac, jeśli Twój robot to SO-101.
  2. Modeluj lub importuj scenę. Jest to krok, którego nikt nie uwzględnia w budżecie i zazwyczaj jest najdłuższy.
  3. Nagraj około 10 czystych demonstracji za pomocą symulowanego obserwatora.
  4. Opisz podzadania, uruchom generate_dataset.py i zaakceptuj, że błędy są odrzucane.
  5. Konwertuj HDF5 do formatu LeRobot, wybierając v2 dla GR00T i v3 dla pozostałych.
  6. Nagraj prawdziwe epizody na fizycznym ramieniu, a następnie współtrenuj na mieszance.
  7. Wynajmij GPU, uruchom dostrajanie, serwuj punkt kontrolny obok ramienia.
ZasóbCo podają źródła
Lokalne GPU do symulacjiPlan NVIDIA dotyczący manipulacji syntetycznej wymaga Ubuntu 22.04 i NVIDIA RTX A6000 z 48 GB VRAM
Węzeł modelu świataTen sam plan wymaga H100 lub wyższego z 80 GB, na węźle oddzielonym od symulacji Isaac Lab
Wersje kontenerówIsaac Lab 2.0.2 na Isaac Sim 4.5.0 wewnątrz tego obrazu planu
Przepustowość generacjiIsaac Lab raportuje 1000 demonstracji GR1T2 typu pick-and-place w 18 do 40 minut, 19 minut na RTX ADA 6000 przy 80 procentach sukcesu
Koszt trajektorii neuronowejGR00T N1 raportuje około 105 000 godzin GPU L40, około 1.5 dnia na 3 600 L40, dla swoich 827 godzin snów
Prawdziwy koszt to czas kalendarzowy, nie czas GPU

Wygenerowanie 1000 trajektorii to kwestia popołudnia. Upewnienie się, że Twoja scena, ekstrinsyki kamery, siatki obiektów i model serwo są wystarczająco bliskie, aby te trajektorie się przeniosły, to tam idą tygodnie. Budżetuj na modelowanie, nie na próbkowanie.

Modele świata wideo: najnowsza warstwa i najmniej zmierzona

Ideą DreamGen jest to, że generatywny model wideo, dostosowany do docelowego wcielenia robota, może wyobrażać sobie wiarygodne epizody w scenach, których nigdy nie odwiedziłeś. Potok ma cztery etapy: dostrojenie modelu świata wideo, generowanie fotorealistycznych syntetycznych filmów robotów, odzyskiwanie sekwencji pseudo-akcji za pomocą modelu akcji latentnych lub modelu dynamiki odwrotnej, a następnie trenowanie polityki robota na podstawie wyniku. Repozytorium GR00T-dreams firmy NVIDIA implementuje dokładnie to.

Główny wynik jest rzeczywisty i wart poważnego potraktowania: dane z teleoperacji z tylko jednego zadania typu 'chwytaj i umieszczaj' w jednym środowisku wygenerowały 22 nowe zachowania na humanoidalnym robocie, zarówno w środowiskach widzianych, jak i niewidzianych. Zastrzeżenie jest równie realne i znajduje się na trzecim etapie.

Modele świata wideo jako źródło danych
Zalety
  • Skalują się wzdłuż osi, która jest naprawdę kosztowna w świecie rzeczywistym: nowe sceny, nowe układy obiektów, nowe sformułowania instrukcji.
  • GR00T-dreams wymienia cztery obsługiwane wcielenia dla swoich skryptów ekstrakcji akcji i dostrajania: franka, gr1, robocasa i so100. Nie jest to technika wyłącznie dla humanoidów.
  • Cosmos-Transfer1 bezpośrednio atakuje fotometryczną połowę luki, mapując jeden syntetyczny przykład robotyki na wiele realistycznych, pochodzących z segmentacji, głębi lub warunkowania krawędzi. Sam Isaac Lab dostarcza narzędzia do podpowiedzi dla niego w folderze scripts/tools/cosmos.
  • Praca DreamGen dostarcza DreamGen Bench, benchmark generowania wideo, który pokazuje silną korelację między wydajnością benchmarku a sukcesem polityki w dalszych etapach, dzięki czemu można przesiewać generacje przed ich trenowaniem.
Kompromisy
  • Akcje są odzyskiwane przez model, a nie mierzone przez enkoder. Wideo, które wygląda poprawnie, może zawierać trajektorię stawów, której twoje ramię nie jest w stanie wykonać.
  • Generowanie jest kosztowne. GR00T N1 podaje, że wygenerowanie jednej sekundy wideo na L40 zajmuje dwie minuty, co daje około 105,000 godzin GPU L40, czyli około 1.5 dnia na 3,600 GPU L40, dla jego 827 godzin trajektorii neuronowych.
  • Zmierzony zysk mieści się w jednocyfrowych wartościach: 4.2, 8.8 i 6.8 punktów na RoboCasa w trzech reżimach danych, oraz średnio 5.8 punktów w 8 rzeczywistych zadaniach GR-1, na szczycie modelu, który już posiadał rzeczywiste dane.
  • Żaden opublikowany przepis nie waliduje tego dla ramienia z serwami hobbystycznymi 7.4 V od początku do końca. Musiałbyś portować, a nie podążać za instrukcjami.
Nigdy nie podawaj 12 V do STS3215

Niezwiązane z symulacją, ale pojawia się zawsze, gdy ktoś przechodzi z ramienia symulowanego na rzeczywiste i improwizuje zasilanie. Ramiona SO-100, SO-101 i LeKiwi wszystkie używają serw Feetech STS3215 przy 7.4 V. Podanie im 12 V niszczy je, a LeKiwi jest szczególną pułapką, ponieważ jego szyna bazowa jest 12 V. Zobacz stronę sprzętową SO-100, zanim cokolwiek podłączysz.

Wspólne trenowanie to przepis, który faktycznie przynosi zyski

Jeśli wyciągniesz jedną lekcję operacyjną z literatury, niech będzie to ta. Badanie współtreningu symulacyjno-rzeczywistego (Maddukuri i współpracownicy, 2025) miało na celu znalezienie prostej recepty na wykorzystanie danych symulacyjnych do rozwiązywania zadań manipulacji robotycznej opartych na wizji, w dwóch domenach: ramienia robota i humanoida, a jego konkluzja jest taka, że trenuje się na mieszance. Dane symulacyjne poprawiły wydajność zadań w świecie rzeczywistym średnio o 38 procent, a artykuł wyraźnie stwierdza, że dotyczyło to nawet znaczących różnic między danymi symulacyjnymi a danymi ze świata rzeczywistego.

Ta ostatnia klauzula ma większe znaczenie niż 38 procent. Oznacza to, że symulacja nie musi być idealnym cyfrowym bliźniakiem, aby była użyteczna, pod warunkiem, że rzeczywiste dane są w mieszance, aby ją zakotwiczyć. Transfer tylko z symulacji jest drogą kosztowną: ten sam artykuł stwierdza, że trenowanie polityki wyłącznie w symulacji i przenoszenie jej do świata rzeczywistego często wymaga znacznego wysiłku ludzkiego, aby zniwelować lukę rzeczywistości. Współtrening pomija większość tego wysiłku, nigdy nie prosząc polityki o samodzielne zniwelowanie luki.

Tabela porównawcza polityk AY-Robots przedstawiająca parametry, poziom GPU, opóźnienie wnioskowania i minimalną liczbę epizodów dla GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA i ACT.
Pięć możliwych do trenowania polityk pod adresem /policies. Kolumna 'minimum-episode' to liczba, która decyduje, czy dane syntetyczne są miłym dodatkiem, czy jedynym sposobem na uzyskanie trenowalnego zbioru danych.

Praktycznie, na tej platformie, współtrening oznacza jedno: umieść oba zestawy epizodów w tym samym zbiorze danych LeRobot z jednolitymi kluczami kamer, jednolitym porządkiem połączeń i jednolitymi jednostkami, a następnie uruchom normalne dostrajanie. W formularzu treningowym nie ma pokrętła wagi mieszanki. Jeśli chcesz stosunek symulacji do rzeczywistości 3:1, wyrażasz to poprzez liczbę epizodów każdego typu, które umieszczasz w zbiorze danych.

Najtańsza korzyść z symulacji to nie dane treningowe

To ewaluacja. Przeprowadzanie dziesiątek rzeczywistych prób na zadanie w celu porównania dwóch to dzień pracy ramienia, a ramię dryfuje między próbami. SIMPLER (Li i współpracownicy, 2024) stworzył środowiska symulacyjne, których celem jest ocenianie rzeczywistych polityk, a nie ich trenowanie, a następnie zmierzył, jak dobrze ranking symulacyjny przewiduje ten rzeczywisty. Pojedyncze środowisko SIMPLER renderuje 3500 kroków symulacji na sekundę na konsumenckiej karcie RTX 4090 w rozdzielczości 640 na 512, co przy częstotliwości symulacji 500 Hz oznacza 7-krotne przyspieszenie w porównaniu do rzeczywistej ewaluacji.

Protokół ewaluacjiMMRV (niżej znaczy lepiej)Współczynnik korelacji Pearsona r (wyżej znaczy lepiej)
MSE walidacji0.3750.308
SIMPLER, agregacja wariantów0.1430.778
SIMPLER, dopasowanie wizualne0.0560.924

Są to średnie z trzech grup zadań Google Robot dla sześciu popularnych punktów kontrolnych open-source: trzech punktów kontrolnych RT-1 na różnych etapach treningu, RT-1-X, RT-2-X i Octo-Base. Strona rzeczywista nie ma jednolitej liczby prób, co warto wiedzieć, zanim się na nią powołasz: 75 prób dla podniesienia puszki coli, 60 dla przesunięcia w pobliże, 54 dla zadań otwierania i zamykania szuflady oraz 27 dla dłuższego zadania z szufladą i jabłkiem. Porównanie z MSE walidacji jest użyteczną częścią. Wybór modelu na podstawie straty walidacyjnej źle ocenia te punkty kontrolne, a współczynnik korelacji Pearsona r wynoszący 0.924 przy dopasowaniu wizualnym oznacza, że jeśli punkt kontrolny osiąga lepszy wynik w SIMPLER, to bardzo prawdopodobnie osiągnie lepszy wynik w rzeczywistości. To powtarzalna tablica wyników dostępna z dnia na dzień, która nie wymaga wiary w transfer treningowy z symulacji do rzeczywistości.

Tabela wyników AY-Robots Arena, sortowalna tabela 85 modeli wizualno-językowo-akcyjnych z 332 wynikami benchmarków, gdzie każda wartość jest połączona z jej źródłową publikacją lub kartą modelu.
Arena pod adresem /arena gromadzi 332 wyniki benchmarków dla 85 modeli. Prawie wszystkie z nich to benchmarki symulowane, co jest dokładnie sednem argumentu SIMPLER: symulacja jest dobrą tablicą wyników na długo zanim stanie się dobrym źródłem danych.

Jeśli chcesz szerszego kontekstu na temat tego, co te liczby benchmarków mówią, a czego nie mówią o , opisaliśmy to oddzielnie w .

W czym ta platforma Ci nie pomoże

Jasne określenie granic oszczędza wszystkim czas. AY-Robots to platforma do nagrywania, trenowania i udostępniania. Nie zawiera symulatora.

  • Brak Isaac Lab, MimicGen, modelu świata, tworzenia scen. Jeśli chcesz wygenerowane dane, generujesz je gdzie indziej i przynosisz wynik.
  • Trenerzy konsumują wyłącznie zbiory danych LeRobot. Eksport z symulatora musi zostać przekonwertowany, zanim stanie się danymi wejściowymi, i musi to być właściwa wersja: v2.0 lub v2.1 dla GR00T N1.5 i N1.7, v3.0 dla Pi0.5, SmolVLA i ACT.
  • Punkt wejścia do dostrajania GR00T to CLI tyro, które nie udostępnia ziarna, więc uruchomienia GR00T nie są odtwarzalne bit po bicie. Jeśli przeprowadzasz dokładną ablację symulacja kontra rzeczywistość, jest to prawdziwe ograniczenie. Domyślne ziarno lerobot to 1000, a formy ACT, SmolVLA i Pi0.5 udostępniają pole ziarna.
  • Akumulacja gradientu jest faktycznie stosowana tylko dla dwóch trenerów GR00T. Dla Pi0.5 i SmolVLA pole istnieje w formie, ale lerobot 0.5.1 nie ma takiej flagi, więc nic nie robi.
  • Inferencja musi znajdować się obok serwomechanizmów dla szybkich zadań. Pętla sterowania wynosi od 20 do 485 ms na krok akcji w zależności od modelu, a dodanie rund publicznego internetu zamienia działającą politykę w niepewną. Zdalna inferencja jest wykonalna dla wolnego podnoszenia i odkładania, nie dla szybkiego ruchu reaktywnego.
Co możesz zrobić tutaj, co jest naprawdę trudne gdzie indziej

Nagraj rzeczywistą część mieszanki współtreningowej bez posiadania ramienia. /live streamuje fizyczny SO-100 bez rejestracji, w oparciu o kolejkę, a program operatora istnieje, ponieważ ktoś musi nimi sterować. Jeśli twoim wąskim gardłem jest to, że masz symulator i brak rzeczywistych epizodów, to jest to luka, którą ta platforma wypełnia.

Budżet, którego możesz bronić

Porównaj te dwie ścieżki z liczbami, które każda z nich faktycznie publikuje, a decyzja zazwyczaj podejmuje się sama dla projektu jednowątkowego na tanim ramieniu.

PozycjaNajpierw symulacjaNajpierw nagrywanie
Modelowanie wstępneScena, siatki, umiejscowienie kamery, model serwa. Dni do tygodniBrak
Zbieranie danychOkoło 10 demonstracji w symulacji, następnie generowanie30 do 50 rzeczywistych epizodów, kilka godzin teleoperacji
Wymagany sprzętKarta 48 GB dla projektu Isaac Lab, 80 GB dla sceny CosmosRamię i laptop
Koszt szkoleniaTaki sam jak w prawej kolumnie, trener nie dba o pochodzenie danych1 do 3 USD na poziomie 4090, 4 do 12 USD na poziomie A100 lub H100
Najlepszy dowód opłacalności38 procent średniego rzeczywistego zysku przy wspólnym szkoleniu, 4 do 9 punktów z trajektorii neuronowychPunkt odniesienia, względem którego mierzone jest wszystko powyżej
Zawodzi, gdyTwoje zadanie zależy od kontaktu, odkształcalnych obiektów lub elastyczności serwaPotrzebujesz zmienności środowiska, której nie możesz fizycznie zaaranżować

Dla pierwszej polityki na SO-100, nagrywaj. oraz doprowadzą Cię do gotowego punktu kontrolnego za cenę kawy, a będziesz mieć rzeczywistą część każdej przyszłej mieszanki do wspólnego szkolenia. Sięgnij po symulator, gdy masz działającą bazę i konkretną, nazwaną awarię generalizacji, taką jak polityka, która .

Nie masz jeszcze ramienia na biurku?

Steruj prawdziwym SO-100 w przeglądarce, w oparciu o kolejkę, bez rejestracji, i zobacz, jak wygląda prawdziwy epizod, zanim spędzisz weekend na modelowaniu go w symulatorze.

Steruj prawdziwym ramieniem

Przepis, który szanuje dowody

  1. 1
    Najpierw nagraj rzeczywistą linię bazową

    30 epizodów dla SmolVLA, 50 dla ACT, GR00T N1.7 i Pi0.5. Trenuj raz. Cokolwiek ta polityka nie zdoła wykonać, jest twoją specyfikacją dla danych syntetycznych.

  2. 2
    Nazwij błąd generalizacji

    Pozycja obiektu? Oświetlenie? Wysokość stołu? Rozpraszacze? Inne sformułowanie instrukcji? Dane syntetyczne są dobre w dokładnie jednej z tych rzeczy naraz i bezużyteczne, jeśli nie potrafisz wskazać, w której.

  3. 3
    Wybierz najtańszą rodzinę, która to obejmuje

    Wariacje pozycji i układu: mnożenie trajektorii. Oświetlenie i tekstura: najpierw augmentacja obrazu, potem model świata. Całkowicie nowe sceny: symulacje fizyczne i akceptacja kosztów modelowania.

  4. 4
    Generuj, a następnie agresywnie odrzucaj

    Próby generacji kończą się niepowodzeniem, a własny wskaźnik sukcesu kandydatów w Isaac Lab waha się od 70 procent do poniżej 1 procenta w zależności od zadania. Zachowaj tylko udane trajektorie kończące zadanie i obejrzyj próbkę jako wideo, zanim zaufasz partii.

    bash
    python scripts/mimic/generate_dataset.py --device cuda \
        --num_envs 8 --generation_num_trials 500 \
        --input_file ./datasets/annotated.hdf5 \
        --output_file ./datasets/generated.hdf5 --enable_cameras
  5. 5
    Współtrenuj, nie zastępuj

    Połącz wygenerowane epizody z rzeczywistymi w jeden zestaw danych LeRobot z identycznymi kluczami kamer i kolejnością połączeń. Wartość 38 procent to wynik współtreningu.

  6. 6
    Oceniaj na prawdziwym ramieniu i tylko tam

    Symulowana ocena jest dobrym sygnałem rankingowym (Pearson r 0.924 w konfiguracji dopasowania wizualnego SIMPLER), ale nie jest testem akceptacyjnym. Uruchom punkt kontrolny na stanowisku testowym, zanim w niego uwierzysz.

Jeśli wolisz zacząć od listy kontrolnej dla samych rzeczywistych nagrań, przewodnik po zbieraniu danych obejmuje rozmieszczenie kamer, fragmentowanie akcji implikacje i tryby awarii, które sprawiają, że uczenie przez imitację zestaw danych jest bezużyteczny. Szczegóły dotyczące samego formatu znajdują się w dokumentacji zestawu danych, a strona hiperparametrów w dokumentacji treningowej.

Czy mogę trenować politykę robota wyłącznie na danych syntetycznych?

Dla zadania manipulacji na prawdziwym ramieniu, nie niezawodnie. Każdy opublikowany wynik z wysoką liczbą jest wynikiem współtreningu lub augmentacji na podstawie rzeczywistych danych. Własne porównanie MimicGen wskazuje 200 wygenerowanych demonstracji na 79 procent w porównaniu do 84 procent dla 200 demonstracji ludzkich w tym samym zadaniu, a artykuł o współtreningu symulacyjno-rzeczywistym z 2025 roku stwierdza, że trenowanie wyłącznie w symulacji i przenoszenie często wymaga znacznego wysiłku ludzkiego, aby zniwelować lukę rzeczywistości. RoboCasa pokazuje, że wygenerowane dane przewyższają dane ludzkie w stosunku 47.6 do 28.8 procent, ale tylko przy 72 000 wygenerowanych demonstracji w porównaniu do 1 250 ludzkich, wewnątrz symulatora, który wyprodukował oba.

Ile rzeczywistych epizodów nadal potrzebuję, jeśli generuję syntetyczne?

Na AY-Robots trenerzy potrzebują minimum 30 epizodów dla SmolVLA i 50 dla ACT, GR00T N1.5, GR00T N1.7 i Pi0.5, niezależnie od pochodzenia epizodów. Dokumentacja Mimic w Isaac Lab mówi, że około 10 udanych demonstracji ludzkich jest wymaganych jako ziarno do generacji. Są to różne liczby odpowiadające na różne pytania: 10 to to, czego potrzebuje generator, 30 do 50 to to, czego potrzebuje trener.

Czy dane symulowane muszą być w formacie LeRobot?

Aby trenować na tej platformie, tak. Zarówno Isaac Lab, jak i LeIsaac produkują pliki HDF5 w formacie robomimic. Isaac Lab core nie zawiera konwertera LeRobot, ale LeIsaac dostarcza isaaclab2lerobot.py dla LeRobot v2 i isaaclab2lerobotv3.py dla v3, a IsaacLab-Arena dostarcza convert_hdf5_to_lerobot.py ukierunkowany na GR00T, sterowany konfiguracją YAML. Zwróć uwagę na wersję: GR00T N1.5 i N1.7 obsługują LeRobot v2.0 lub v2.1, podczas gdy Pi0.5, SmolVLA i ACT obsługują v3.0. Zestaw danych v3.0 powoduje awarię ładowarki GR00T i musi zostać przekonwertowany do v2.1.

Czy Isaac Gym to nadal właściwa rzecz do nauki w 2026 roku?

Nie. Własna strona produktu NVIDIA nosi nagłówek „Isaac Gym – obecnie przestarzały” i stwierdza, że jest to oprogramowanie starszej generacji, które deweloperzy mogą pobierać i nadal używać, ale które nie jest już wspierane, i wskazuje Isaac Lab jako zamiennik. Isaac Lab dostarcza przewodniki migracji z IsaacGymEnvs, z OmniIsaacGymEnvs i z Orbit, więc istniejące środowisko jest przenośne, a nie utracone.

Czy mogę umieścić SO-100 lub SO-101 w Isaac Lab?

SO-101, tak, prawidłowo. Repozytorium TheRobotStudio dostarcza zarówno pliki URDF, jak i MJCF dla SO-101, wygenerowane za pomocą onshape-to-robot z modelu CAD Onshape, a LeIsaac zapewnia gotowe zadania Isaac Lab, takie jak LeIsaac-SO101-PickOrange-v0 z teleoperacją z fizycznego ramienia głównego SO101. Dla SO-100 to samo repozytorium dostarcza tylko jeden plik URDF i żaden model MuJoCo. Należy pamiętać o ograniczeniach, które README SO-101 podaje w obu przypadkach: siatki kolizji podstawy zostały usunięte z powodu problematycznego zachowania kolizyjnego, właściwości silnika STS3215 zostały zaadaptowane z projektu Open Duck Mini, a nie zidentyfikowane na SO-101, a konwencja chwytaka od 0-zamkniętego do 100-otwartego nie jest jeszcze odzwierciedlona w plikach modelu.

Czy platforma uruchamia symulację za mnie?

Nie. AY-Robots nagrywa zestawy danych LeRobot z rzeczywistej teleoperacji, dostraja pięć obsługiwanych polityk na wynajętych procesorach graficznych i przesyła wynikowy punkt kontrolny z powrotem do ramienia. Nie ma w nim symulatora, generowania danych syntetycznych ani tworzenia scen. Jeśli wygenerujesz dane gdzie indziej i przekonwertujesz je na prawidłowy zestaw danych LeRobot, trenerzy zaakceptują je dokładnie tak, jak rzeczywiste nagrania.

Sources

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started