Обучение с подкреплением
RL для робототехники
Предварительные знания
- RL для игр: идея sim2real и планирование MCTS переносятся прямо на роботов
- Model-based RL с физическим симулятором как моделью мира
- Imitation learning и демонстрации, чтобы bootstrap-нуть манипуляцию
- Reward shaping и логика survival-бонуса в наградах для локомоции
Преодоление разрыва sim-to-real
Обучать роботов напрямую в физическом мире медленно и разрушительно для железа, поэтому область сделала ставку на симуляцию, что породило разрыв sim-to-real: политика, оптимальная в симуляторе, ломается на настоящем роботе. В 2017 году Josh Tobin с соавторами в OpenAI представили domain randomization, намеренно рандомизируя физические и визуальные параметры в симуляции, чтобы реальный мир выглядел просто как ещё одна выборка из обучающего распределения. Примерно в тот же период Sergey Levine с коллегами развивали guided policy search и крупномасштабное обучение навыкам манипуляции. Заглавная демонстрация пришла в 2018-2019 годах, когда проект Dactyl от OpenAI обучил Shadow Hand целиком в симуляции выполнять ловкую манипуляцию в руке и собирать кубик Рубика, перенеся это на физическую руку без RL-обучения в реальном мире.
ETH Zurich выпускает ANYmal на горную тропу. Каждые 50ms политика принимает решение о 12 суставах. Камни, лёд, уклоны - среда, которую симулятор видел только рандомизированными параметрами. Робот не падает. Это 13,000 лет симуляции в действии.
- **Boston Dynamics Spot** - гибрид RL и классического управления: RL для adaptive locomotion, MPC для плановых движений
- **Google RT-2** - language-conditioned manipulation: робот понимает 'возьми то, что можно есть' без специфической тренировки на этот запрос
- **Tesla Optimus** - humanoid с RL для manipulation: сборка на заводе, где sim2real gap покрывается огромным числом demonstration данных
Sim2Real: из симуляции в реальный мир
Главная проблема RL для роботов: нельзя обучать в реальном мире напрямую. Миллионы шагов обучения = миллионы контактов робота с окружением = сломанное железо и опасность. Симуляция позволяет обучать бесконечно дёшево, параллельно, без риска.
Sim2real gap - разница между симуляцией и реальностью. Трение, упругость, задержки - всё это в симуляторе приближённо. Политика, оптимальная в симуляции, ломается при первом контакте с реальным роботом. Domain Randomization - техника для преодоления: обучать при случайных параметрах физики.
OpenAI Dactyl (2019) решил задачу Rubik's Cube одной рукой - только через sim2real с domain randomization. 13,000 лет симуляции, 0 часов реального обучения. Затем 4 часа на реальной руке - и задача решена. Это был первый robot dexterous manipulation результат такого уровня.
Зачем Domain Randomization случайно меняет физические параметры во время обучения?
Locomotion: RL учит роботов ходить
Ходьба - вычислительно простая задача для классического управления. Но адаптация к неровной поверхности, восстановление после толчка, ходьба по лестнице - уже нет. RL показывает качественно другие результаты именно здесь.
ETH Zurich ANYmal (2022) - landmark результат: квадроруп обучен в симуляции с domain randomization, затем deployed на реальной собаке-роботе. Скорость 1.5 m/s по пересечённой местности, 73% стабильнее классического MPC при сильных внешних толчках. RL-политика обновляется каждые 50ms.
Boston Dynamics Spot не использует чистый RL - это гибридная система: motion planning + MPC + некоторые RL компоненты для adaptation. DeepMind Robotics и ETH активнее применяют RL. Parkour-движения (прыжки, перекаты) - RL territory, стандартная ходьба - MPC territory.
Почему survival bonus важен в reward function для locomotion?
Manipulation: захват и работа с объектами
Manipulation - ещё сложнее locomotion. Contact-rich задачи: завернуть болт, собрать IKEA стул, налить стакан воды. Каждый контакт - высокодимензиональное взаимодействие. Классическое планирование требует точных моделей каждого объекта. RL обучается из опыта.
Google RT-2 (2023) - поворотный момент: vision-language-action model. Модель обучается на данных робота + интернет-данные. Получает инструкцию на естественном языке ('возьми коричневую вещь, которую нельзя есть'), выполняет. Emergent zero-shot generalization через scale.
Imitation Learning критична для manipulation: собирать демонстрации от человека-телеоператора намного быстрее, чем ждать пока RL самостоятельно найдёт валидный grasp. BC (Behavior Cloning) + RL fine-tuning - стандартная схема. ALOHA robot от Stanford использует именно это.
Почему manipulation сложнее locomotion для RL?
Safety: RL и безопасность реальных систем
В игровом RL цена ошибки - перезапуск эпизода. В робо-RL цена ошибки - повреждённое железо, травма человека, судебная ответственность. Safety in RL - отдельная область исследований с конкретными техниками, которые стоят между агентом и катастрофой.
Constrained MDP: добавить ограничения в задачу. Не просто максимизировать reward, но не превышать предел по joint torque, скорости сближения с препятствием, вероятности коллизии. Lagrangian relaxation: штраф за нарушение constraints, который адаптивно растёт при нарушениях.
Control Barrier Functions (CBF) - элегантный подход: математически доказанная safety. CBF определяет safe set состояний, и фильтрует действия RL агента в реальном времени: если действие выведет систему из safe set, оно заменяется ближайшим безопасным. RL обучается внутри CBF-ограждения.
RL-политика, безопасная в симуляции, будет безопасной и на реальном роботе
Sim2real gap для safety critical поведения требует отдельных техник: CBF, conservative RL, hardware testing protocols
Симуляция аппроксимирует физику. Edge cases - нетипичные контакты, отказы сенсоров, неожиданные объекты - в симуляции не покрыты. Safety-critical системы требуют formal verification или hardware-enforced limits поверх RL
Что делает Control Barrier Function в safety-critical RL?
Связанные темы
Робо-RL соединяет RL алгоритмы с реальными физическими системами:
- RL для игр — Sim2real идея из игр (симулятор = игровой движок) переносится в роботов
- Inverse RL и Imitation Learning — Демонстрации людей ускоряют manipulation обучение
- RL для роботов (курс Robotics) — Детальный разбор роботехнического контекста
Ключевые идеи
- **Sim2real** через Domain Randomization: обучать при случайных физических параметрах, чтобы реальный мир был 'ещё одним вариантом'
- **Locomotion** с RL превосходит классическое управление для adaptive terrain и recovery: ETH ANYmal - 73% стабильнее MPC при толчках
- **Manipulation** требует imitation learning + RL: demonstration bootstrapping критичен для contact-rich задач
- **Safety** через Constrained MDP и CBF: математически гарантированные ограничения важнее soft reward penalties для реальных систем
Вопросы для размышления
- Sim2real gap для manipulation больше, чем для locomotion. Какие подходы, кроме Domain Randomization, могут помочь закрыть этот gap?
- Как balancировать exploration в RL обучении с требованием безопасности реального робота?
- RT-2 от Google использует internet-scale данные для manipulation. Что это меняет в традиционном sim2real подходе?
Связанные уроки
- rl-15 — Техники из игр (sim2real идея, MCTS) применяются в робоRL
- rl-11 — Model-Based RL с симулятором как модель мира
- rob-12 — RL для роботов - отдельный урок в курсе робототехники
- rl-14 — Imitation Learning и демонстрации ускоряют обучение в робо-задачах
- rl-17 — Safety в RL для роботов - переход к RLHF alignment
- de-01