Записът в речника на AY-Robots за формата на набора от данни LeRobot, форматът, който всеки обучител на платформата използва, независимо дали епизодите са записани или генерирани.
синтетични данниsim-to-realIsaac Labобучение чрез имитацияMimicGenSO-101

Синтетични данни за роботни политики: Къде помага симулацията

AY-Robots ResearchAugust 23, 202631 мин четене

Симулацията може да умножи шепа демонстрации в хиляди. Ето какво всъщност казват публикуваните числа, къде се проявява sim-to-real разликата и какво все още трябва да бъде записано.

На всеки няколко месеца някой осъзнава, че записването на петдесет епизода на ръка е бавно и пита дали симулатор би могъл да ги произведе вместо това. Това е справедлив въпрос. Честният отговор има три части: генерираните данни помагат, те не заместват реалните записи и съотношението между тези два факта зависи изцяло от вида синтетични данни, които имате предвид.

Тази страница разглежда какво всъщност е измерила публикуваната работа, какво можете да стартирате днес на нискобюджетна ръка като SO-100, и къде разликата между симулация и реалност изяжда ползите. Кратката версия, преди детайлите: системите, които отчитат най-големите множители, умножават малък набор от реални човешки демонстрации. Те не премахват нуждата от тях.

Какво трябва да знаете

  • Четири несвързани техники се наричат синтетични данни в манипулацията: умножение на траектории, физически симулации, видео модели на света и аугментация в пространството на изображенията. Те се провалят по различни начини и имат различна стойност.
  • MimicGen превърна по-малко от 200 човешки демонстрации в над 50 000 генерирани такива в 18 задачи. В задачата си Square D0, 200 демонстрации, генерирани от 10 човешки демонстрации, дадоха 79 процента успех срещу 84 процента за 200 реални човешки демонстрации.
  • RoboCasa е контрапримерът: 72 000 генерирани демонстрации отбелязаха 47.6 процента срещу 28.8 процента за 1250 човешки демонстрации. Това е 58-кратно предимство в обема, а не равностойна победа.
  • Изследването за съвместно обучение между симулация и реалност отчита средно 38 процента подобрение в производителността на задачите в реалния свят. Рецептата е съвместно обучение върху смес, а не само трансфер от симулация.
  • GR00T N1 разчита на 780 000 симулационни траектории (еквивалент на 6500 часа, генерирани за 11 часа) и 827 часа невронни траектории, извлечени от 88 реални часа. Тези 88 реални часа все още са върхът на пирамидата.
  • За SO-101 днес съществува работещ отворен пайплайн: LeIsaac в Isaac Lab, телеуправление с физическата водеща ръка, умножение с Isaac Lab Mimic, експорт към LeRobot формат, фина настройка на GR00T.
  • AY-Robots не генерира синтетични данни. Той се обучава върху набора от данни LeRobot, който му предоставите, независимо по какъв начин е създаден този набор от данни, а обучителите се нуждаят от минимум 30 до 50 епизода в зависимост от модела.

Четири различни неща се наричат синтетични данни

Преди да сравнявате числа, си струва да разделите семействата, защото статия, отчитаща 100-кратно увеличение, и статия, отчитаща 5 точки увеличение на успеха, често описват един и същ процес от различни краища. Общата нишка е, че нещо в набора от данни LeRobot е произведено от машина, а не записано от физическа ръка. Различното е коя част.

СемействоКакво остава реалноКакво се генерираОтчетено увеличениеОсновен режим на отказ
Умножение на траектории (MimicGen, DexMimicGen, Isaac Lab Mimic)Няколко човешки демонстрации, мрежите на обектите, физическият енджинНови траектории, адаптирани към нови пози на обекти и оформления на сцени10 human demos to 1,000 per reset distribution; 60 to 21,000; under 200 to over 50,000Опитите за генериране се провалят. Isaac Lab отчита успеваемост на кандидатите до 70 процента в прости случаи и под 1 процент в трудни.
Физически симулации в симулатор на задачи (Isaac Lab, robosuite, RoboCasa)Физическият енджин и библиотеката с активиЦели епизоди, управлявани от скриптирани контролери, планировчици или RLОграничено само от GPU часовеСимулираната ръка не е вашата ръка. Динамиката на контакта и сервомеханизмите са приближения.
Видео модели на света (DreamGen, Cosmos Transfer)Няколко реални епизода на телеоперация, използвани като условиеФотореалистично видео на нови поведения, плюс псевдо-действия, възстановени впоследствие88 hours to 827 hours in GR00T N1, about 10xДействията се извеждат, а не се измерват. Правдоподобно видео може да съдържа неправдоподобно действие.
Аугментация в пространството на изображението (random crop, colour jitter)Всичко освен пикселитеСмутени изгледи на епизоди, които вече имате1x, не създава нова траекторияГеометричната аугментация прекъсва връзката между изображението и етикета на действието.

Само първите три са синтетични данни в смисъла, който има предвид тази статия. Четвъртото си струва да се спомене, защото се включва в същия разговор и е най-евтиното нещо в списъка. Ако все още не сте включили аугментациите, с които идва вашият обучител, направете го, преди да инсталирате симулатор.

Можете да разгледате реални синтетични данни, преди да генерирате каквито и да било

NVIDIA публикува симулираните траектории, използвани за GR00T N1 след обучение, като nvidia/PhysicalAI-Robotics-GR00T-X-Embodiment-Sim в Hugging Face, около 1.87 TB под cc-by-4.0. Те се разделят на 9,000 крос-въплътени бимануални траектории на Panda и GR1, 240,000 хуманоидни траектории за маса, 72,000 траектории на единична Panda в кухня и 102 траектории за локомоция-манипулация на Unitree G1. Изтеглянето на един поднабор с huggingface-cli download --include "gr1_arms_only.CanSort/**" и гледането на няколко епизода е най-бързият начин да калибрирате как изглеждат генерираните траектории и не струва нищо освен трафик.

Какво всъщност казват публикуваните числа

Ето доказателствената база, с числата, както са посочени от източниците, а не както са обобщени в прессъобщенията. Всеки ред по-долу е от статия или страница на проект, прочетена на 23 август 2026 г.

СистемаВходГенерираниОтчетен резултат
MimicGen, CoRL 2023По-малко от 200 човешки демонстрации; 10 човешки демонстрации в прякото сравнениеНад 50 000 демонстрации, 18 задачи, четири ръце (Panda, Sawyer, IIWA, UR5e)Square D0: 79 процента от 200 генерирани демонстрации от 10 човешки демонстрации, срещу 84 процента от 200 човешки демонстрации
DexMimicGen, 202460 изходни човешки демонстрации21 000 демонстрации за двуръки сръчни роботиДвуръки сръчни задачи в симулация, плюс внедряване на хуманоид за сортиране на кутии от реално към симулация към реално
RoboCasa, 20241250 човешки демонстрации (50 на задача за 25 атомни задачи), 100 задачи за оценка, над 150 категории обекти100 000 MimicGen траектории; подмножеството от 72 000 демонстрации е в основата на основното сравнение28.8 процента общо за човешкия набор срещу 47.6 процента за напълно генерирания набор, оценени само върху невиждани екземпляри на обекти
Съвместно обучение симулация-реалност, 2025Реални демонстрации плюс набори от данни от симулации, две области (роботизирана ръка и хуманоид)Смес, а не заместванеДанните от симулации подобриха производителността на задачите в реалния свят средно с 38 процента
DreamGen, 2025Данни от телеоперация от една задача за взимане и поставяне в една средаСинтетично видео плюс псевдо-действия от модел на латентни действия или модел на обратна динамика22 нови поведения на хуманоид, във видени и невиждани среди
Пирамида от данни GR00T N1, 202588 часа вътрешна телеоперация на GR-1827 часа невронни траектории (около 10 пъти); 780 000 симулационни траектории, еквивалентни на 6500 часа, произведени за 11 часаНевронните траектории добавиха 4.2, 8.8 и 6.8 точки към RoboCasa при режими от 30, 100 и 300 демонстрации на задача, и средно 5.8 точки за 8 реални GR-1 задачи
Четете множителите като брой траектории, а не като възможност

Множителят е брой редове. Собственото пряко сравнение на MimicGen поставя генерираните данни леко под същия брой човешки данни (79 срещу 84 процента), а аблацията на GR00T N1 добавя едноцифрени процентни точки към модел, който вече е имал реалните часове. RoboCasa наистина превъзхожда човешките данни, 47.6 срещу 28.8 процента, но със 72 000 генерирани демонстрации срещу 1250 човешки. Обемът купува покритие. Той не купува информация, която вашите демонстрации никога не са съдържали.

Моделът при всяка честна аблация е един и същ. Синтетичните данни разширяват покритието евтино. Те не създават информация за вашия грипер, провисване на сервомотора, осветление или височина на масата, която не е била някъде в реалните демонстрации. Ако вашата политика се проваля, защото крайният ефектор се затваря половин секунда твърде късно, никакво количество симулирани вариации не може да го поправи. Това е проблем с времето на грипера в реалните записи.

Едно откритие на MimicGen си струва да бъде приложено във вашите собствени сесии за запис, защото противоречи на обичайните съвети. Проектът генерира два набора от данни на Square D2, единият с 10 демонстрации от човешки оператор с по-добро качество и един с 10 демонстрации от оператор с по-лошо качество, като и двата са взети от многочовешкия набор от данни Square на robomimic. Политиките, обучени на всеки от тях, постигнаха сравними резултати, което авторите тълкуват като знак, че в режима на големи данни качеството на данните може да няма толкова голямо значение. Прочетете внимателно, това е твърдение за десетте начални демонстрации, а не за вашите петдесет реални епизода. Това означава, че леко некачествен начален набор не е това, което стои между вас и използваем генериран набор от данни. Това не означава, че реалните епизоди, върху които съвместно обучавате, могат да бъдат некачествени, защото те са тези, които носят информацията, която симулаторът не притежава.

Публичната директория с набори от данни на AY-Robots, изброяваща записани набори от данни на LeRobot с техния брой епизоди.
Публичната директория с набори от данни на /directory. Всеки запис тук са реално записани епизоди. Синтетичните данни са множител върху нещо подобно, а не заместител.

Разликата между симулация и реалност, конкретно

Разликата обикновено се обсъжда като едно-единствено количество, което е безполезно. Тя представлява поне пет отделни несъответствия и те имат различни размери при хоби ръка от 110 до 150 EUR, отколкото при Franka.

  • Контакт и триене. Isaac Lab ясно заявява, че при същия хардуер и същата версия на Isaac Sim и PhysX симулацията е възпроизводима, но резултатите варират при различни хардуерни конфигурации поради прецизността на плаващата запетая и грешките при закръгляване, и че PhysX не гарантира детерминизъм за никоя сцена с не-твърди тела като плат или меки тела.
  • Задвижване. Серво мотор Feetech STS3215, работещ на 7.4 V, провисва под товар, има луфт и променя поведението си при нагряване. MJCF моделът за SO-101 заимства своите моторни параметри от несвързан проект, вместо да ги идентифицира на вашата ръка.
  • Рендериране. Шумът от камерата, подвижният затвор, автоматичната експозиция и точният нюанс на вашата маса не присъстват в рендера. Това е половината от разликата, която Cosmos-Transfer1 беше създаден да затвори: неговият работен процес за роботизирано разширяване картографира един роботизиран синтетичен пример към множество реалистични примери от сегментация, дълбочина или кондициониране на ръбове.
  • Времеви аспект. Симулаторът работи с фиксирана скорост. Реалният контролен цикъл не, а самият модел струва от 20 до 485 ms на стъпка на действие, в зависимост от избрания от вас. Вижте латентност на извода.
  • Статистика на обектите. Симулираните сцени са взети от разпределение, което някой е записал. Вашата кухненска маса не е.

Какво всъщност знае симулираният SO-100 за вашата ръка

Това е частта, която решава дали някое от гореизброените си струва уикенда ви, и първата изненада е, че SO-100 и SO-101 не са еднакво обслужвани. Хранилището SO-ARM100 на TheRobotStudio съхранява своите симулационни активи под Simulation/. Папката SO100 съдържа един URDF файл и нищо друго. Папката SO101 съдържа както URDF, така и MuJoCo файлове: scene.xml, so101_new_calib.xml, so101_old_calib.xml, съответстващите URDF файлове и joints_properties.xml. Ако искате физически модел, а не кинематична верига, искате файловете на SO-101.

Те са генерирани с плъгина onshape-to-robot от CAD модел, проектиран в Onshape, което означава, че кинематиката и визуалните мрежи са толкова добри, колкото и CAD модела. Динамиката е друга история, а README файлът на хранилището е откровен относно три неща. Основните мрежи за сблъсък бяха премахнати поради проблемно поведение при сблъсък по време на симулация и планиране. Свойствата на мотора STS3215 са адаптирани от проекта Open Duck Mini, а не измерени на SO-101. И конвенцията на LeRobot за захващане, където 0 е напълно затворено и 100 е напълно отворено, изрично все още не е отразена във файловете URDF и MuJoCo. Всяко от тези неща е място, където политика, обучена чисто в този модел, ще се държи различно на вашето бюро.

Конвенцията за калибриране, която изяжда един ден

Има две конвенции за нула в доставените MuJoCo файлове, и scene.xml избира между тях според това кой файл на робота включва. В so101_new_calib.xml, по подразбиране, виртуалната нула на всяка става се намира в средата на нейния обхват на движение. В so101_old_calib.xml нулата е конфигурацията, при която роботът е напълно изпънат хоризонтално. Ако вашите симулирани епизоди използват една конвенция, а вашите записани реални епизоди използват другата, всеки ъгъл на ставата в смесения набор от данни е изместен с десетки градуси, загубата все още намалява, а политиката прави нещо уверено грешно. Проверете конвенцията от двете страни, преди да съвместно обучавате, и прочетете калибриране и загубата намалява, политиката не прави нищо първо.

Рандомизация на домейна и какво не поправя тя

Стандартният отговор на разликата е да спрем да се опитваме да съответстваме на реалността и вместо това да обучаваме върху достатъчно широко разпределение, така че реалността да попада в него. Тобин и колеги показаха силната версия на това през 2017 г.: детектор на обекти, обучен само върху симулирани изображения с нереалистични случайни текстури, без никакво предварително обучение върху реални изображения, локализира реални обекти с точност от 1.5 cm и остана устойчив на разсейващи фактори и частични затъмнения.

Isaac Lab представя същата идея като термините за събития, които прикачвате към конфигурация на средата. Това са контролите, по техните действителни имена на функции в isaaclab.envs.mdp, така че можете да ги прочетете, вместо да гадаете.

Функция на събитиетоКакво нарушава
randomize_rigid_body_materialКонтактно триене и възстановяване
randomize_rigid_body_mass, randomize_rigid_body_comМаса на обекта и връзката, отмествания на центъра на масата
randomize_actuator_gainsТвърдост и затихване на контролера на ставата
randomize_joint_parameters, randomize_fixed_tendon_parametersТриене на ставата, арматура и граници
randomize_visual_texture_material, randomize_visual_colorВъншен вид, фотометричната половина на пролуката
randomize_physics_scene_gravityВекторът на гравитацията
apply_external_force_torque, push_by_setting_velocityСмущения по време на изпълнение
reset_root_state_uniform, reset_joints_by_offsetРазпределение на началното състояние при всяко нулиране на епизода

Ето границата, и тя е тази, за която хората се спъват. Рандомизацията разширява разпределението, което политиката е видяла в модела, който сте изградили. Тя не може да въведе физически ефект, който симулаторът не представя. Ако PhysX не моделира луфта и термичното провисване на вашите STS3215 сервомотори, рандомизирането на тяхната твърдост не учи политиката нищо за луфта. Ето защо ръка, която потрепва и след това провисва под обучена в симулация политика не е проблем с бюджета за рандомизация. Това е проблем с моделирането.

Ръчният път: генериране на данни в Isaac Lab

Isaac Gym е остарял софтуер. Собствената страница на NVIDIA е озаглавена „Isaac Gym – Вече отхвърлен“ и казва, че разработчиците могат да го изтеглят и да продължат да го използват, но че вече не се поддържа, като вместо това посочва Isaac Lab. Ако искате историята, ние покрихме и двете: и . За нова работа през 2026 г. започнете с Isaac Lab.

  1. 1
    Инсталирайте Isaac Sim и Isaac Lab

    Страницата за инсталация с pip посочва, че инструкциите са за Isaac Sim 5.X, който изисква Python 3.11. Клонирането на изходния код ви дава скриптовете, необходими за следващите стъпки.

    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
    Запишете около десет човешки демонстрации

    Документацията на Isaac Lab е конкретна: необходими са около 10 успешни демонстрации, за да успеят следващите стъпки. Нейните съвети са също толкова конкретни. Дръжте демонстрациите кратки, следвайте директен път, вместо да се движите по произволни оси, и не правете паузи, защото не е очевидно за една политика защо и кога да прави пауза.

    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
    Анотирайте границите на подзадачите

    Mimic разделя входните демонстрации на подзадачи, така че да може да пренастрои времето и да пренасочи сегментите. Флагът --auto прави това без човешка намеса за задачи, които дефинират автоматична анотация; без него правите пауза с B, продължавате с N и маркирате граница със S. Забележете, че идентификаторът на задачата получава суфикс -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
    Генерирайте умножения набор от данни

    Това е стъпката, която превръща 10 в 1000. Mimic прилага булев критерий за успех към всеки кандидат и запазва само тези, които са изпълнили задачата, така че броят на изходите е по-нисък от броя на опитите. Документацията посочва, че процентът на успех на кандидатите е до 70 процента в прости случаи и под 1 процент за трудни задачи и сложни роботи: около 50 процента за подреждането на кубчета от Franka и 65 до 80 процента за GR1T2 pick and place, където 1000 демонстрации отнемат от 18 до 40 минути (19 минути на RTX ADA 6000 при 80 процента).

    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
    Конвертирайте HDF5 в LeRobot набор от данни

    Всичко по-горе произвежда HDF5 във формат robomimic, а ядрото на Isaac Lab не предлага собствен LeRobot конвертор: неговата документация само казва, че можете да конвертирате генерирания набор от данни във формат LeRobot. Два проекта предоставят действителния конвертор. IsaacLab-Arena предлага такъв, насочен към GR00T, изцяло управляван от YAML конфигурация, а LeIsaac предлага собствен чифт за маршрута SO-101 (вижте по-долу).

    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
Фиксирайте версиите си и не се доверявайте на main

На 23 август 2026 г. документацията на Isaac Lab за main носи значка Isaac Sim 6.0.1 и предлага release/3.0.0 и v3.0.0-beta2 в своя превключвател на версии заедно с v2.3.2, докато страницата за инсталация с pip на същото дърво все още фиксира isaacsim[all,extscache]==5.1.0 и описва инструкциите като за Isaac Sim 5.X. Контейнерът на NVIDIA synthetic-manipulation-motion-generation е още по-стар: Isaac Lab 2.0.2 на Isaac Sim 4.5.0. Собствената таблица за съвместимост на LeIsaac съчетава Isaac Sim 5.1 с Isaac Lab v2.3.0. Тези дървета се движат по-бързо, отколкото документацията успява да се съгласува. Изберете една версия, запишете я и очаквайте пътищата на скриптовете и имената на флаговете да са се променили, ако следвате урок, написан преди три месеца.

Защо опитите за генериране се провалят и какво да промените

Процентът на успех на кандидата, който варира между 70 процента и под 1 процент, не е мистерия, а Isaac Lab документира често срещаните клопки, вместо да ви оставя да гадаете. Всяка от тях е нещо, което контролирате по време на запис, поради което си струва да прочетете този списък, преди да запишете десетте начални демонстрации, а не след първия разочароващ цикъл на генериране.

  • Демонстрациите са твърде дълги. По-дългият времеви хоризонт е по-труден за научаване от политиката. Започнете близо до първия обект и минимизирайте движението.
  • Демонстрациите не са плавни. Нередовното движение е трудно за разгадаване от политиката, а по-добрият хардуер за телеоперация дава по-добри данни: документацията ясно посочва, че SpaceMouse е по-добър от клавиатура.
  • Паузи. Паузите са трудни за научаване, защото не е очевидно за политиката защо и кога да паузира. Поддържайте движението плавно.
  • Твърде много подзадачи. Повече подзадачи означават повече свързване между сегментите на траекторията, което води до по-малко плавно движение и по-нисък процент на успех при генериране. Анотирайте границите, където е малко вероятно ръката да се сблъска с нещо.
  • Без шумови действия. Шумовите действия правят получените политики по-устойчиви.
  • Записът е изрязан твърде плътно. Ако записът спре на точния кадър, когато се задейства условието за успех, то може да не се задейства отново по време на възпроизвеждане. Оставете буфер в края.
  • Недетерминистично възпроизвеждане. Физиката в Isaac Lab не е детерминистично възпроизводима при env.reset, така че някои човешки демонстрации се провалят при възпроизвеждане. Съберете повече, отколкото ви е необходимо, и запазете тези, които оцеляват след анотация. Всичко, което попадне в генериран от Mimic HDF5 файл, е успешна демонстрация и може да се използва за обучение, дори ако възпроизвеждането по-късно се провали.

Стъпката на интерполация между свързаните сегменти на подзадачите има свой собствен регулатор, а броят на необходимите стъпки на интерполация зависи от това колко бързо се движи роботът и колко широко е разпределението на нулиране на обекта. Сложна задача с голямо разпределение на нулиране оставя по-големи пропуски между сегментите, което изисква повече стъпки на интерполация, за да се получи непрекъснато движение. Ако генерираните ви видеоклипове показват как ръката се движи рязко между фазите, това е параметърът, който трябва да разгледате, преди да обвинявате началните демонстрации.

Същият пайплайн на SO-101, с истинската водеща ръка

Това е интересният вариант за всеки, който чете тази страница, защото е единственият отворен пайплайн, който поставя вътре в Isaac Lab и ви позволява да го управлявате с физическата водеща ръка, която вече притежавате. LeIsaac, версия 0.4.0 към момента на писане, е официалната симулационна площадка за имитационно обучение, интегрирана в EnvHub на LeRobot. Неговата таблица за съвместимост изброява три работещи комбинации; най-новата съчетава Isaac Sim 5.1 с Isaac Lab v2.3.0, CUDA 12.8, PyTorch 2.7.0 и Python 3.11, а документацията препоръчва Isaac Sim 5.0 или по-нова за карти от серия 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 от изходен код. Фиксирането на numpy е в официалните инструкции, не е заобиколно решение.

След като това е настроено, водещата ръка на /dev/ttyACM0 управлява симулирания последовател и записва директно в HDF5. Цикълът е същият, който вече познавате от реалния запис, само че последователят е твърдо тяло във 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 на средаОписание на задачаРобот
LeIsaac-SO101-PickOrange-v0Вземете три портокала и ги поставете в чинията, след което върнете ръката в състояние на покой.SO101 последовател с една ръка
LeIsaac-SO101-LiftCube-v0Повдигнете червения куб нагоре.SO101 последовател с една ръка
LeIsaac-SO101-CleanToyTable-v0Вземете два обекта с буква „е“ в кутията, след което върнете ръката в състояние на покой.SO101 последовател с една ръка
LeIsaac-SO101-CleanToyTable-BiArm-v0Същата задача с две ръце.SO101 последовател с две ръце
LeIsaac-SO101-FoldCloth-BiArm-v0Сгънете плата, след което върнете ръката в състояние на покой. Само вариантът DirectEnv поддържа check_success.SO101 последовател с две ръце
LeIsaac-LeKiwi-CleanupTrash-v0Вземете хартиени отпадъци от пода и ги изхвърлете в кошчето.LeKiwi

Повечето от тези идентификатори съществуват и като -Direct-v0 вариант, а python scripts/environments/list_envs.py отпечатва текущия списък. Можете също така изцяло да пропуснете заобикалянето на HDF5 и да записвате във формат LeRobot по време на телеоперация, като добавите три флага. Две предупреждения идват от самата документация: записващото устройство автоматично пропуска първите 5 кадъра от всеки епизод, за да избегне нестабилност от началните състояния, и може да причини леки забавяния в телеоперацията, което е точно видът нещо, което тихо променя характера на вашите демонстрации. То също така изпразва епизоди само когато задачата е отбелязана като успешна.

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

След това стъпката на умножение се изпълнява върху тези записи. LeIsaac обвива Isaac Lab Mimic в четири команди, тъй като Mimic обобщава траектории от пози на крайния ефектор и обекта: преобразува действията в пространството на ставите в действия, базирани на IK, анотира, генерира, след което преобразува обратно в пространството на ставите.

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

След това конвертирайте в LeRobot. Това е стъпката, при която правилото за формат на платформата влиза в сила, и LeIsaac случайно предоставя точно двата конвертора, от които се нуждаете: isaaclab2lerobot.py записва LeRobot v2, което е форматът, който зареждащите устройства на GR00T приемат, и isaaclab2lerobotv3.py записва v3 за Pi0.5, SmolVLA и ACT. Двата скрипта приемат идентични аргументи, но използват различни версии на lerobot, и само успешните епизоди се конвертират.

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
Изход на LeRobot v2 за GR00T. Заменете с isaaclab2lerobotv3.py, с lerobot 0.4.2, за обучителите на v3.
Има изход без GPU

LeIsaac документира стартирането на целия стек на NVIDIA Brev: разгърнете, щракнете върху връзката на порт 80, за да отворите базиран на браузър VS Code Server, и управлявайте четирите предварително инсталирани сценария с --kit_args="--no-window --enable omni.kit.livestream.webrtc", като преглеждате рендера на същия адрес с добавено /viewer. Ако нямате работна станция под бюрото си, това е по-евтин начин да разберете дали симулираната версия на вашата задача е дори близка, преди да ангажирате хардуер за нея.

Два пътя към обучена политика

Вие изграждате сцената, генерирате данните, наемате GPU и настройвате обслужването сами. Това е правилният избор, ако задачата изисква вариации на средата, които не можете физически да инсценирате, или ако искате повторяема оценка.

  1. Инсталирайте Isaac Sim 5.1 и Isaac Lab, или стека LeIsaac, ако вашият робот е SO-101.
  2. Моделирайте или импортирайте сцената. Това е стъпката, за която никой не предвижда бюджет и обикновено е най-дългата.
  3. Запишете приблизително 10 чисти демонстрации чрез симулирания последовател.
  4. Анотирайте подзадачите, стартирайте generate_dataset.py и приемете, че неуспехите се изхвърлят.
  5. Конвертирайте HDF5 във формат LeRobot, избирайки v2 за GR00T и v3 за останалите.
  6. Все пак запишете реални епизоди на физическата ръка, след което съвместно обучете върху сместа.
  7. Наемете GPU, стартирайте фината настройка, обслужвайте контролната точка до ръката.
РесурсКакво посочват източниците
Локален GPU за симулацияПроектът за синтетична манипулация на NVIDIA изисква Ubuntu 22.04 и NVIDIA RTX A6000 с 48 GB VRAM
Възел за световен моделСъщият проект изисква H100 или по-висок с 80 GB, на възел, отделен от симулацията на Isaac Lab
Версии на контейнериIsaac Lab 2.0.2 на Isaac Sim 4.5.0 в рамките на този образ на проекта
Пропускливост на генериранеIsaac Lab отчита 1000 GR1T2 демонстрации за взимане и поставяне за 18 до 40 минути, 19 минути на RTX ADA 6000 при 80 процента успеваемост
Цена на невронна траекторияGR00T N1 отчита около 105 000 L40 GPU часа, приблизително 1.5 дни на 3 600 L40s, за своите 827 часа сънища
Истинската цена е календарно време, не GPU време

Генерирането на 1000 траектории е въпрос на един следобед. Настройването на вашата сцена, външните параметри на камерата, мрежите на обектите и серво модела достатъчно прецизно, така че тези траектории да се прехвърлят, отнема седмици. Бюджетирайте за моделирането, а не за семплирането.

Видео световни модели: най-новият слой и най-малко измерени

Идеята зад DreamGen е, че видео генеративен модел, адаптиран към целевото въплъщение на робота, може да си представи правдоподобни епизоди в сцени, които никога не сте посещавали. Процесът има четири етапа: фина настройка на видео световния модел, генериране на фотореалистични синтетични видеоклипове на роботи, възстановяване на псевдо-последователности от действия с латентен модел на действия или модел на обратна динамика, след което обучение на политиката на робота върху резултата. Хранилището GR00T-dreams на NVIDIA реализира точно това.

Основният резултат е реален и заслужава сериозно внимание: данни от телеоперация от само една задача за взимане и поставяне в една среда произведоха 22 нови поведения на хуманоид, както във виждани, така и в невиждани среди. Предупреждението е също толкова реално и се намира в третия етап.

Видео световни модели като източник на данни
Предимства
  • Те се мащабират по оста, която е наистина скъпа в реалния свят: нови сцени, нови подредби на обекти, нови формулировки на инструкцията.
  • GR00T-dreams изброява четири поддържани въплъщения за своите скриптове за извличане на действия и фина настройка: franka, gr1, robocasa и so100. Това не е техника само за хуманоиди.
  • Cosmos-Transfer1 атакува директно фотометричната половина на пролуката, като картографира един синтетичен пример от роботиката към множество реалистични такива от сегментация, дълбочина или кондициониране на ръбове. Самият Isaac Lab предоставя инструменти за подкани за това под scripts/tools/cosmos.
  • Работата на DreamGen предоставя DreamGen Bench, бенчмарк за генериране на видео, който показва силна корелация между производителността на бенчмарка и успеха на последващата политика, така че можете да преглеждате генерираните данни, преди да тренирате върху тях.
Компромиси
  • Действията се възстановяват от модел, а не се измерват от енкодер. Видео, което изглежда правилно, може да съдържа траектория на ставите, която ръката ви не може да изпълни.
  • Генерирането е скъпо. GR00T N1 съобщава за две минути за генериране на една секунда видео на L40, приблизително 105 000 L40 GPU часа, около 1.5 дни на 3 600 L40 GPU, за своите 827 часа невронни траектории.
  • Измерената печалба е едноцифрена: 4.2, 8.8 и 6.8 точки на RoboCasa в трите режима на данни и 5.8 точки средно за 8 реални GR-1 задачи, в допълнение към модел, който вече разполагаше с реални данни.
  • Няма публикувана рецепта, която да валидира това за 7.4 V хоби-серво ръка от край до край. Вие бихте пренасяли, а не следвали.
Никога не подавайте 12 V на STS3215

Няма връзка със симулацията, но възниква винаги, когато някой премине от симулирана ръка към реална и импровизира захранване. Ръцете SO-100, SO-101 и LeKiwi всички работят със сервомотори Feetech STS3215 на 7.4 V. Подаването на 12 V ги унищожава, а LeKiwi е особено коварен, защото основната му шина е 12 V. Вижте хардуерната страница на SO-100, преди да свържете каквото и да било.

Съвместното обучение е рецептата, която всъщност показва печалби

Ако вземете един оперативен урок от литературата, вземете този. Проучването за съвместно обучение симулация-реалност (Maddukuri и колеги, 2025) си постави за цел да намери проста рецепта за използване на симулационни данни за решаване на задачи за роботизирана манипулация, базирани на зрение, в две области – роботизирана ръка и хуманоид, и неговото заключение е, че се обучавате върху смес. Симулационните данни подобриха производителността на задачите в реалния свят средно с 38 процента, като статията изрично посочва, че това важи дори при забележими разлики между симулационните данни и данните от реалния свят.

Тази последна клауза е по-важна от 38-те процента. Тя означава, че симулацията не е задължително да бъде перфектен цифров близнак, за да бъде полезна, при условие че реалните данни са в сместа, за да я закотвят. Прехвърлянето само от симулация е скъпият път: същата статия посочва, че обучението на политика изцяло в симулация и прехвърлянето ѝ в реалния свят често изисква значителни човешки усилия за преодоляване на разликата в реалността. Съвместното обучение пропуска по-голямата част от тези усилия, като никога не изисква от политиката да затвори сама тази разлика.

Таблицата за сравнение на политиките на AY-Robots, показваща параметри, GPU ниво, латентност на извода и минимален брой епизоди за GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA и ACT.
Петте обучими политики на /policies. Колоната за минимален брой епизоди е числото, което решава дали синтетичните данни са желани или единственият начин да достигнете до обучим набор от данни.

На практика, на тази платформа, съвместното обучение означава едно нещо: поставете и двата набора от епизоди в един и същ LeRobot dataset с последователни ключове на камерата, последователен ред на ставите и последователни единици, след което стартирайте нормално fine-tune. Няма регулатор за теглото на сместа във формата за обучение. Ако искате съотношение симулация-реалност 3:1, изразявате това чрез броя на епизодите от всеки тип, които поставяте в набора от данни.

Най-евтината печалба от симулацията не са данните за обучение

Това е оценка. Извършването на десетки реални изпитвания за задача, за да се сравнят две е един ден работа на роботската ръка, като ръката се отклонява между изпитванията. SIMPLER (Li и колеги, 2024) създаде симулирани среди, чиято цел е оценяване на реални политики, а не тяхното обучение, и след това измери доколко добре симулационното класиране предсказва реалното. Една единствена SIMPLER среда се рендира при 3,500 симулационни стъпки в секунда на потребителска RTX 4090 при резолюция 640 на 512, което при симулационна честота от 500 Hz е 7 пъти по-бързо от реалната оценка.

Протокол за оценкаMMRV (по-ниско е по-добре)Pearson r (по-високо е по-добре)
Validation MSE0.3750.308
SIMPLER, агрегиране на варианти0.1430.778
SIMPLER, визуално съвпадение0.0560.924

Това са средни стойности за три групи задачи на Google Robot за шест често срещани контролни точки с отворен код: три контролни точки RT-1 на различни етапи на обучение, RT-1-X, RT-2-X и Octo-Base. Реалната страна не е с еднакъв брой изпитвания, което си струва да се знае, преди да го цитирате: 75 изпитвания за взимане на кенче кока-кола, 60 за преместване наблизо, 54 за задачите за отваряне и затваряне на чекмедже и 27 за по-дългата задача с чекмедже и ябълка. Сравнението с Validation MSE е полезната част. Изборът на модел чрез валидационна загуба класира тези контролни точки зле, а Pearson r от 0.924 при визуално съвпадение означава, че ако една контролна точка се представя по-добре в SIMPLER, тя много вероятно се представя по-добре и на стенда. Това е повтаряема нощна класация и не изисква да вярвате в нищо относно трансфера на обучение от симулация към реалност.

Таблото с резултати на AY-Robots Arena, сортируема таблица от 85 визуално-езиково-екшън модела с 332 резултата от бенчмаркове, като всяка стойност е свързана с изходния документ или карта на модела.
The Arena at /arena събира 332 резултата от бенчмаркове за 85 модела. Почти всички от тях са симулирани бенчмаркове, което е точно смисълът на аргумента SIMPLER: симулацията е добро табло с резултати много преди да е добър източник на данни.

Ако искате по-широк контекст за това какво тези бенчмарк числа ви казват и не ви казват за един , ние го описахме отделно в .

Къде тази платформа не ви помага

Изясняването на границата спестява време на всички. AY-Robots е платформа за запис, обучение и обслужване. Тя не съдържа симулатор.

  • Без Isaac Lab, без MimicGen, без световен модел, без авторство на сцени. Ако искате генерирани данни, генерирате ги другаде и донасяте резултата.
  • Обучителите консумират LeRobot набори от данни и нищо друго. Експорт от симулатор трябва да бъде конвертиран, преди да стане вход, и трябва да е правилната версия: v2.0 или v2.1 за GR00T N1.5 и N1.7, v3.0 за Pi0.5, SmolVLA и ACT.
  • Входната точка за фино настройване на GR00T е tyro CLI, който не излага seed, така че изпълненията на GR00T не са възпроизводими бит по бит. Ако провеждате внимателна симулация спрямо реална аблация, това е истинско ограничение. Собственият seed по подразбиране на lerobot е 1000, а формите на ACT, SmolVLA и Pi0.5 излагат поле за seed.
  • Натрупването на градиент всъщност се прилага само за двата обучителя на GR00T. За Pi0.5 и SmolVLA полето съществува във формата, но lerobot 0.5.1 няма такъв флаг, така че не прави нищо.
  • Изводът трябва да е до сервомоторите за бързи задачи. Контролният цикъл е от 20 до 485 ms на стъпка на действие в зависимост от модела, а добавянето на кръгови пътувания през публичен интернет превръща работещата политика в колеблива. Дистанционният извод е жизнеспособен за бавно вземане и поставяне, но не и за бързо реактивно движение.
Какво можете да направите тук, което е наистина трудно другаде

Запишете реалната половина от смес за съвместно обучение, без да притежавате ръка. /live предава физически SO-100 без регистрация, базирано на опашка, а операторската програма съществува, защото някой трябва да ги управлява. Ако вашето тясно място е, че имате симулатор и нямате реални епизоди, това е пропускът, който тази платформа затваря.

Бюджет, който можете да защитите

Поставете двата пътя един до друг с числата, които всеки от тях действително публикува, и решението обикновено се взима от само себе си за проект с една задача на евтина ръка.

ЕлементПърво симулацияПърво запис
Предварително моделиранеСцена, мрежи, разположение на камерата, серво модел. Дни до седмициНяма
Събиране на данниОколо 10 демонстрации в симулация, след това генериране30 до 50 реални епизода, няколко часа телеоперация
Необходим хардуер48 GB карта за чертежа на Isaac Lab, 80 GB за сцената на CosmosРъка и лаптоп
Цена на обучениеСъщата като дясната колона, обучителят не се интересува откъде идват данните1 до 3 USD на ниво 4090, 4 до 12 USD на ниво A100 или H100
Най-добро доказателство за възвръщаемост38 процента средна реална печалба при съвместно обучение, 4 до 9 точки от невронни траекторииБазовата линия, спрямо която се измерва всичко по-горе
Неуспехи, когатоВашата задача зависи от контакт, деформируеми обекти или серво съответствиеИмате нужда от вариации на средата, които не можете физически да инсценирате

За първа политика на SO-100, запишете. и ще ви доведе до работеща контролна точка на цената на едно кафе и ще имате реалната половина от всяка бъдеща смес за съвместно обучение. Използвайте симулатора, когато имате работеща базова линия и конкретен провал в обобщението, който можете да назовете, като например политика, която .

Все още нямате ръка на бюрото си?

Управлявайте истински SO-100 в браузъра, базирано на опашка, без регистрация, и вижте как изглежда един реален епизод, преди да прекарате уикенд в моделирането му в симулатор.

Управлявайте истинска ръка

Рецепта, която зачита доказателствата

  1. 1
    Запишете първо реалната базова линия

    30 episodes for SmolVLA, 50 for ACT, GR00T N1.7 and Pi0.5. Тренирайте веднъж. Всичко, в което тази политика се провали, е вашата спецификация за синтетичните данни.

  2. 2
    Назовете провала в обобщението

    Поза на обекта? Осветление? Височина на масата? Разсейващи фактори? Различна формулировка на инструкцията? Синтетичните данни са добри точно в едно от тези неща в даден момент и са безполезни, ако не можете да кажете кое.

  3. 3
    Изберете най-евтиното семейство, което го покрива

    Вариация на позата и оформлението: умножение на траекториите. Осветление и текстура: първо увеличаване на изображението, второ модел на света. Изцяло нови сцени: физически симулации и приемете разходите за моделиране.

  4. 4
    Генерирайте, след това изхвърляйте агресивно

    Опитите за генериране се провалят, а собственият процент на успех на кандидатите на Isaac Lab варира от 70 процента до под 1 процент в зависимост от задачата. Запазете само успешните, завършващи задачата траектории и прегледайте извадка като видео, преди да се доверите на партидата.

    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
    Съвместно обучение, не заменяйте

    Обединете генерираните епизоди с реалните в един LeRobot набор от данни с идентични ключове на камерите и подредба на ставите. Цифрата от 38 процента е резултат от съвместно обучение.

  6. 6
    Оценете на реалната ръка и само там

    Симулираната оценка е добър сигнал за класиране (Pearson r 0.924 в настройката за визуално съвпадение на SIMPLER), но не е тест за приемане. Изпълнете контролната точка на стенда, преди да повярвате.

Ако предпочитате да започнете от контролен списък за самите реални записи, , обхваща разположението на камерата, последиците и режимите на отказ, които правят един неизползваем. Подробности за самия формат можете да намерите в , а страната на хиперпараметрите в .

Мога ли да обуча политика на робот изцяло със синтетични данни?

За задача за манипулация с реална ръка, не надеждно. Всеки публикуван резултат със силно число е резултат от съвместно обучение или резултат от увеличаване на реални данни. Собственото сравнение на MimicGen поставя 200 генерирани демонстрации на 79 процента срещу 84 процента за 200 човешки демонстрации на същата задача, а документът за съвместно обучение на симулация и реалност от 2025 г. заявява, че обучението само в симулация и прехвърлянето често изисква значителни човешки усилия за преодоляване на разликата с реалността. RoboCasa показва, че генерираните данни превъзхождат човешките данни с 47.6 срещу 28.8 процента, но само със 72 000 генерирани демонстрации срещу 1 250 човешки, в симулатора, който е произвел и двете.

Колко реални епизода все още са ми необходими, ако генерирам синтетични?

На AY-Robots обучителите се нуждаят от минимум 30 епизода за SmolVLA и 50 за ACT, GR00T N1.5, GR00T N1.7 и Pi0.5, независимо от произхода на епизодите. Документацията на Mimic на Isaac Lab посочва, че са необходими около 10 успешни човешки демонстрации като начална точка за генериране. Това са различни числа, отговарящи на различни въпроси: 10 е това, от което се нуждае генераторът, 30 до 50 е това, от което се нуждае обучителят.

Трябва ли симулираните данни да са във формат LeRobot?

За обучение на тази платформа, да. Isaac Lab и LeIsaac произвеждат HDF5 с robomimic вкус. Ядрото на Isaac Lab не включва LeRobot конвертор, но LeIsaac предоставя isaaclab2lerobot.py за LeRobot v2 и isaaclab2lerobotv3.py за v3, а IsaacLab-Arena предоставя convert_hdf5_to_lerobot.py, насочен към GR00T, управляван от YAML конфигурация. Внимавайте за версията: GR00T N1.5 и N1.7 използват LeRobot v2.0 или v2.1, докато Pi0.5, SmolVLA и ACT използват v3.0. Набор от данни v3.0 срива GR00T зареждача и трябва да бъде преобразуван до v2.1.

Isaac Gym ли е все още правилното нещо за изучаване през 2026 г.?

Не. Собствената продуктова страница на NVIDIA е озаглавена „Isaac Gym – Вече отхвърлен“ и заявява, че това е остарял софтуер, който разработчиците могат да изтеглят и продължат да използват, но който вече не се поддържа, и посочва Isaac Lab като заместител. Isaac Lab предоставя ръководства за миграция от IsaacGymEnvs, от OmniIsaacGymEnvs и от Orbit, така че съществуваща среда е преносима, а не изгубена.

Мога ли да поставя SO-100 или SO-101 в Isaac Lab?

SO-101, да, правилно. Хранилището TheRobotStudio предоставя както URDF, така и MJCF файлове за SO-101, генерирани с onshape-to-robot от CAD модела на Onshape, а LeIsaac предоставя готови задачи за Isaac Lab като LeIsaac-SO101-PickOrange-v0 с телеоперация от физическата водеща ръка SO101. За SO-100 същото хранилище предоставя само един URDF и никакъв MuJoCo модел. Имайте предвид ограниченията, посочени в README файла на SO-101: мрежите за сблъсък на основата са премахнати поради проблемно поведение при сблъсък, свойствата на двигателя STS3215 са адаптирани от проекта Open Duck Mini, а не идентифицирани на SO-101, и конвенцията за захват от 0-затворен до 100-отворен все още не е отразена във файловете на модела.

Платформата изпълнява ли симулация за мен?

Не. AY-Robots записва LeRobot набори от данни от реална телеоперация, фино настройва петте поддържани политики на наети графични процесори и връща получения контролен пункт към ръката. В него няма симулатор, генериране на синтетични данни и създаване на сцени. Ако генерирате данни другаде и ги конвертирате в валиден LeRobot набор от данни, обучителите ще ги приемат точно като реални записи.

Sources

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started