Замкнутый цикл на уровне кода - новая философия робототехники
Многие современные роботизированные системы основаны на языково-визуальных моделях (VLM), которые генерируют управляющие решения. Традиционно, чтобы такие модели работали на практике, их необходимо адаптировать к конкретной задаче - процесс, известный как тонкая настройка. Это требует больших объемов данных и времени. VLCP идет другим путем: вместо того, чтобы изменять модель, он оставляет ее неизменной (замороженной) и использует для генерации управляющей функции на языке Python. Важно отметить, что ему не нужны примеры или прерывание обучения.
Ключевым нововведением является замыкание контура управления на уровне самого кода, а не на уровне принятия решений или подзадачи. Когда робот совершает ошибку - например, не хватает предмет - система не выбирает новую задачу и не повторяет ту же функцию. Вместо этого, через несколько шагов модель снова анализирует сцену с разных точек зрения и переписывает код управления, который только что не сработал. Это позволяет исправить ошибку в течение одного эпизода, прежде чем она станет необратимой.
Эффективность: в десять раз больше успешных попыток, чем при традиционном подходе
Исследования, проведенные на наборе задач MuJoCo/RoboVerse, включающем 57 различных манипулятивных действий, показали резкий рост эффективности. Система VLCP достигла значительно лучших результатов, чем идентичная система, работающая в режиме с открытым циклом (с одним запросом на эпизод). Эта разница не случайна - доверительные интервалы даже не перекрываются для отдельных семейств сцен.
Основное улучшение заключается во внутриэпизодной коррекции ошибок. Исследование показало, что система может восстановить часть случаев неудачного захвата - то есть тех ситуаций, которые традиционные системы с открытым циклом считают концом эпизода. Когда робот не хватает предмет, VLCP реагирует не на уровне принятия решений, а переписывает код управления, который теперь может работать правильно в новой ситуации.
Вычислительная эффективность: низкая стоимость и высокая производительность
Несмотря на продвинутую функцию перепланирования, VLCP не является вычислительной нагрузкой. Исследование показывает, что большая часть входных токенов попадает в кэш, что значительно сокращает время ответа. На один эпизод достаточно около 10 коротких запросов - не больше, чем требуется для одного полного процесса.
Кроме того, контрольные функции, генерируемые во время перепланирования, хранятся в библиотеке навыков, используемой в последующих эпизодах. Это означает, что система не только улучшается в процессе работы, но и учится на собственном опыте - что может привести к долгосрочному развитию компетенций без необходимости нового обучения.
Ограничения и значение для будущего робототехники
Результаты VLCP многообещающие, но следует помнить, что они были достигнуты в симуляции - на платформе MuJoCo/RoboVerse. Это означает, что пока нет подтверждения работоспособности в реальном мире с физическими роботами и сенсорным шумом. Также стоит отметить, что система работает только для задач, которые можно описать как короткие функции Python - что ограничивает ее применение конкретными типами манипуляций.
Однако значение этой работы огромно. Она показывает, что роботы могут не только выполнять задачи, но и анализировать и улучшать свой собственный код в реальном времени. Это шаг к автономным системам, которые не ограничены предварительно запрограммированными действиями, а способны адаптироваться на уровне самого управления.


