
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ęść.
| Rodzina | Co pozostaje rzeczywiste | Co jest generowane | Zgłoszony mnożnik | Główny tryb awarii |
|---|---|---|---|---|
| Mnożenie trajektorii (MimicGen, DexMimicGen, Isaac Lab Mimic) | Garść demonstracji ludzkich, siatki obiektów, silnik fizyki | Nowe trajektorie dostosowane do nowych pozycji obiektów i układów scen | 10 human demos to 1,000 per reset distribution; 60 to 21,000; under 200 to over 50,000 | Pró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ów | Całe epizody, sterowane przez skryptowe kontrolery, planery lub RL | Ograniczone jedynie godzinami pracy GPU | Symulowane 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 warunkowanie | Fotorealistyczne wideo nowych zachowań, plus pseudo-akcje odzyskane później | 88 hours to 827 hours in GR00T N1, about 10x | Akcje są wnioskowane, a nie mierzone. Wiarygodne wideo może zawierać niewiarygodną akcję. |
| Augmentacja w przestrzeni obrazu (random crop, colour jitter) | Wszystko oprócz pikseli | Zaburzone widoki epizodów, które już masz | 1x, nie tworzy nowej trajektorii | Augmentacja 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.
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.
| System | Dane wejściowe | Wygenerowane | Zgłoszony wynik |
|---|---|---|---|
| MimicGen, CoRL 2023 | Mniej niż 200 demonstracji ludzkich; 10 demonstracji ludzkich w bezpośrednim porównaniu | Ponad 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, 2024 | 60 źródłowych demonstracji ludzkich | 21 000 demonstracji dla zręcznych robotów dwuręcznych | Dwuręczne zadania zręcznościowe w symulacji, plus wdrożenie sortowania puszek przez humanoida w trybie rzeczywistym-symulacja-rzeczywistym |
| RoboCasa, 2024 | 1250 demonstracji ludzkich (50 na zadanie w 25 zadaniach atomowych), 100 zadań ewaluacyjnych, ponad 150 kategorii obiektów | 100 000 trajektorii MimicGen; podzbiór 72 000 demonstracji stanowi podstawę porównania | 28,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, 2025 | Rzeczywiste demonstracje plus zbiory danych symulacyjnych, dwie dziedziny (ramię robota i humanoida) | Mieszanka, nie zamiennik | Dane symulacyjne poprawiły wydajność zadań w świecie rzeczywistym średnio o 38 procent |
| DreamGen, 2025 | Dane z teleoperacji z pojedynczego zadania typu pick-and-place w jednym środowisku | Syntetyczne wideo plus pseudo-akcje z modelu akcji ukrytych lub modelu dynamiki odwrotnej | 22 nowe zachowania na humanoida, w widzianych i niewidzianych środowiskach |
| GR00T N1 data pyramid, 2025 | 88 godzin wewnętrznej teleoperacji GR-1 | 827 godzin trajektorii neuronowych (około 10x); 780 000 trajektorii symulacyjnych, równowartość 6500 godzin, wyprodukowanych w 11 godzin | Trajektorie 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 |
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.

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.
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 zdarzenia | Co zakłóca |
|---|---|
| randomize_rigid_body_material | Tarcie kontaktowe i sprężystość |
| randomize_rigid_body_mass, randomize_rigid_body_com | Masa obiektu i ogniwa, przesunięcia środka masy |
| randomize_actuator_gains | Sztywność i tłumienie kontrolera stawu |
| randomize_joint_parameters, randomize_fixed_tendon_parameters | Tarcie stawu, twornik i ograniczenia |
| randomize_visual_texture_material, randomize_visual_color | Wygląd, fotometryczna połowa luki |
| randomize_physics_scene_gravity | Wektor grawitacji |
| apply_external_force_torque, push_by_setting_velocity | Zakłócenia w czasie działania |
| reset_root_state_uniform, reset_joints_by_offset | Rozkł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.
- 1Zainstaluj 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.
bashpip 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 - 2Nagraj 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 - 3Adnotuj 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 - 4Wygeneruj 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 - 5Konwertuj 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
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.
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.0Po 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.
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 środowiska | Opis zadania | Robot |
|---|---|---|
| LeIsaac-SO101-PickOrange-v0 | Podnieś trzy pomarańcze i umieść je na talerzu, a następnie zresetuj ramię do stanu spoczynku | Jednoramienny SO101 follower |
| LeIsaac-SO101-LiftCube-v0 | Podnieś czerwony sześcian | Jednoramienny SO101 follower |
| LeIsaac-SO101-CleanToyTable-v0 | Podnieś dwa obiekty w kształcie litery 'e' do pudełka, a następnie zresetuj ramię do stanu spoczynku | Jednoramienny SO101 follower |
| LeIsaac-SO101-CleanToyTable-BiArm-v0 | To samo zadanie z dwoma ramionami | Dwuramienny SO101 follower |
| LeIsaac-SO101-FoldCloth-BiArm-v0 | Złóż tkaninę, a następnie zresetuj ramię do stanu spoczynku. Tylko wariant DirectEnv obsługuje check_success | Dwuramienny SO101 follower |
| LeIsaac-LeKiwi-CleanupTrash-v0 | Podnieś śmieci z podłogi i wrzuć je do kosza | LeKiwi |
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.
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=30Krok 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.
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 --headlessNastę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.
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.hdf5LeIsaac 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.
- Zainstaluj Isaac Sim 5.1 i Isaac Lab, lub stos LeIsaac, jeśli Twój robot to SO-101.
- Modeluj lub importuj scenę. Jest to krok, którego nikt nie uwzględnia w budżecie i zazwyczaj jest najdłuższy.
- Nagraj około 10 czystych demonstracji za pomocą symulowanego obserwatora.
- Opisz podzadania, uruchom generate_dataset.py i zaakceptuj, że błędy są odrzucane.
- Konwertuj HDF5 do formatu LeRobot, wybierając v2 dla GR00T i v3 dla pozostałych.
- Nagraj prawdziwe epizody na fizycznym ramieniu, a następnie współtrenuj na mieszance.
- Wynajmij GPU, uruchom dostrajanie, serwuj punkt kontrolny obok ramienia.
| Zasób | Co podają źródła |
|---|---|
| Lokalne GPU do symulacji | Plan NVIDIA dotyczący manipulacji syntetycznej wymaga Ubuntu 22.04 i NVIDIA RTX A6000 z 48 GB VRAM |
| Węzeł modelu świata | Ten sam plan wymaga H100 lub wyższego z 80 GB, na węźle oddzielonym od symulacji Isaac Lab |
| Wersje kontenerów | Isaac Lab 2.0.2 na Isaac Sim 4.5.0 wewnątrz tego obrazu planu |
| Przepustowość generacji | Isaac 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 neuronowej | GR00T N1 raportuje około 105 000 godzin GPU L40, około 1.5 dnia na 3 600 L40, dla swoich 827 godzin snów |
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.
Platforma jest tutaj celowo wąska. Nie uruchamia symulatora i nie generuje danych syntetycznych. To, co robi, to pobiera zestaw danych LeRobot, niezależnie od tego, jak go wyprodukowałeś, i zamienia go w serwowany . Twój wynik z Isaac Lab jest prawidłowym wejściem, o ile konwertuje się czysto.
- 1Dostarcz zestaw danych
Nagraj za pomocą klienta desktopowego bezpośrednio z sesji teleoperacji, wskaż identyfikator repozytorium Hugging Face lub prześlij przekonwertowany eksport symulatora.
- 2Wybierz model i ramię
Macierz na /train łączy każdą z pięciu trenowalnych polityk z każdym obsługiwanym ramieniem i linkuje do dokładnego przewodnika.
- 3Pozwól backendowi wynająć GPU
Trener wybiera GPU z rynku spot według wymaganego VRAM, uruchamia zadanie i zapisuje punkty kontrolne do pamięci obiektowej. Brak klastra do utrzymania.
- 4Serwuj z powrotem do ramienia
Pod wnioskujący jest automatycznie udostępniany, lokalny klient robota komunikuje się z tym punktem końcowym, a bezczynny watchdog niszczy pod, aby nic nie było cicho fakturowane.
| Model | Poziom GPU | Minimalna liczba epizodów | Format zestawu danych | Typowy koszt uruchomienia |
|---|---|---|---|---|
| GR00T N1.7 | A100 80 GB or H100 80 GB | 50 | LeRobot v2.0 or v2.1 | 4 to 12 USD |
| GR00T N1.5 | A100 80 GB or H100 80 GB | 50 | LeRobot v2.0 or v2.1 | 4 to 12 USD |
| Pi0.5 | A100 80 GB or H100 80 GB | 50 | LeRobot v3.0 | 4 to 12 USD |
| SmolVLA | RTX 4090 or any 24 GB card | 30 | LeRobot v3.0 | 1 to 3 USD |
| ACT | RTX 4090 or any 24 GB card | 50 | LeRobot v3.0 | 1 to 3 USD |
Zwróć uwagę na kolumnę formatu i zauważ, że jest to powód, dla którego LeIsaac dostarcza dwa konwertery. Zestaw danych LeRobot v3.0 powoduje awarię ładowarki GR00T i musi zostać najpierw przekonwertowany do v2.1, co jest najczęstszym powodem odrzucenia. Jeśli to właśnie Cię spotkało, to strona dla tego problemu.
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.
- 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.
- 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.
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.

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ół ewaluacji | MMRV (niżej znaczy lepiej) | Współczynnik korelacji Pearsona r (wyżej znaczy lepiej) |
|---|---|---|
| MSE walidacji | 0.375 | 0.308 |
| SIMPLER, agregacja wariantów | 0.143 | 0.778 |
| SIMPLER, dopasowanie wizualne | 0.056 | 0.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.

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.
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.
| Pozycja | Najpierw symulacja | Najpierw nagrywanie |
|---|---|---|
| Modelowanie wstępne | Scena, siatki, umiejscowienie kamery, model serwa. Dni do tygodni | Brak |
| Zbieranie danych | Około 10 demonstracji w symulacji, następnie generowanie | 30 do 50 rzeczywistych epizodów, kilka godzin teleoperacji |
| Wymagany sprzęt | Karta 48 GB dla projektu Isaac Lab, 80 GB dla sceny Cosmos | Ramię i laptop |
| Koszt szkolenia | Taki sam jak w prawej kolumnie, trener nie dba o pochodzenie danych | 1 do 3 USD na poziomie 4090, 4 do 12 USD na poziomie A100 lub H100 |
| Najlepszy dowód opłacalności | 38 procent średniego rzeczywistego zysku przy wspólnym szkoleniu, 4 do 9 punktów z trajektorii neuronowych | Punkt odniesienia, względem którego mierzone jest wszystko powyżej |
| Zawodzi, gdy | Twoje zadanie zależy od kontaktu, odkształcalnych obiektów lub elastyczności serwa | Potrzebujesz 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 ramieniemPrzepis, który szanuje dowody
- 1Najpierw 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.
- 2Nazwij 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.
- 3Wybierz 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.
- 4Generuj, 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.
bashpython 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 - 5Współ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.
- 6Oceniaj 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
- MimicGen project page (CoRL 2023): fewer than 200 human demos to over 50,000 across 18 tasks, Panda/Sawyer/IIWA/UR5e, Square D0 79 percent generated against 84 percent human
- DexMimicGen: Automated Data Generation for Bimanual Dexterous Manipulation via Imitation Learning (Jiang et al., 2024), 21K demos from 60 source human demos
- RoboCasa: Large-Scale Simulation of Everyday Tasks for Generalist Robots (Nasiriany et al., 2024), 100 tasks, 150+ object categories, 100K MimicGen trajectories, 28.8 vs 47.6 percent
- Sim-and-Real Co-Training: A Simple Recipe for Vision-Based Robotic Manipulation (Maddukuri et al., 2025), average 38 percent real-world improvement
- GR00T N1: An Open Foundation Model for Generalist Humanoid Robots (NVIDIA, 2025), data pyramid, 780,000 sim trajectories in 11 hours, 88 to 827 hours of neural trajectories, ablations
- DreamGen: Unlocking Generalization in Robot Learning through Video World Models (Jang et al., 2025), 22 new behaviours from one task, DreamGen Bench
- Evaluating Real-World Robot Manipulation Policies in Simulation (SIMPLER, Li et al., 2024), MMRV and Pearson r for visual matching and variant aggregation, 7x speedup over real eval
- Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World (Tobin et al., 2017), 1.5 cm real-world localisation from random textures
- Isaac Lab docs: record_demos.py, annotate_demos.py, generate_dataset.py, the about-10-demos guidance and the candidate success rates, read 23 Aug 2026
- Isaac Lab pip installation: isaacsim[all,extscache]==5.1.0, Isaac Sim 5.X requires Python 3.11, ./isaaclab.sh --install
- Isaac Lab reproducibility and determinism: identical on identical hardware, varies across hardware, no determinism guarantee for non-rigid bodies
- Isaac Lab events API: randomize_rigid_body_material, randomize_actuator_gains, randomize_visual_texture_material and the related randomisation terms
- NVIDIA Isaac Gym product page: now deprecated, legacy software, no longer supported, Isaac Lab is the replacement
- LeIsaac documentation: installation and compatibility table, SO101 teleoperation, available environments, LeRobot recorder, MimicGen env, isaaclab2lerobot converters, NVIDIA Brev
- SO-ARM100 Simulation/SO101: scene.xml, so101_new_calib.xml, so101_old_calib.xml, onshape-to-robot origin, borrowed Open Duck Mini motor parameters, gripper mapping caveat
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started