Кажется, сейчас происходит очередной интересный обмен технологиями между геймдевом и робототехникой. (3/3)На этот раз роботы забирают у игр не отдельный алгоритм и не движок, а целую индустрию работы с
человеческим движением.
Игры и кино десятилетиями решали одну задачу: как записать движение человека и перенести его на персонажа с другими пропорциями и анатомией. Так появился привычный стек:
motion capture → модель тела → перенос движения → обратная кинематика → физическая анимация.
Помню как в детстве залипал на видосы,
как с помощью motion capture костюмов делали трюки в Pro Skater.
А потом пришли гуманоиды — и оказалось, что им нужно почти то же самое. Только теперь движение надо перенести не на персонажа, а на настоящего робота: с другой длиной ног, другой кинематикой, ограничениями суставов и приводов.
Сам перенос движения между скелетами — старая задача. Ещё в 1998 году Michael Gleicher показывал на SIGGRAPH, как адаптировать motion capture под персонажей с другими пропорциями. Сегодня похожие методы используются при подготовке данных для гуманоидов.
Появились и огромные библиотеки движений. Например,
AMASS собрал в едином формате больше 40 часов motion capture: ходьба, бег, приседания, повороты и тысячи других движений. Роботу больше не обязательно с нуля «изобретать» человеческую походку — можно сначала показать, как двигаются люди.
Но просто проиграть записанные углы суставов нельзя. Виртуальный персонаж может немного нарушить физику — зритель этого даже не заметит. Робот в этот момент упадёт.
Поэтому следующий шаг — обучение движения в физическом симуляторе. Одна из ключевых работ здесь —
DeepMimic 2018 года. Берём motion capture и через обучение с подкреплением учим персонажа не копировать траекторию кадр в кадр, а самому находить управляющие воздействия, которые дают похожее движение. В результате он сохраняет баланс, компенсирует ошибки и может восстановиться после толчка.
Позже появился
AMP: вместо того чтобы вручную прописывать в функции награды, что значит «двигаться естественно», система учится этому по примерам движений.
А теперь открываем современные работы по гуманоидам — и видим ту же конструкцию. В
HumanPlus движения людей переносят на модель гуманоидного робота, затем в симуляции обучают систему управления и только потом переносят её на реальное железо. В
OmniH2O похожая цепочка дополняется управлением роботом через VR-шлем.
Современная фабрика данных для гуманоидов выглядит примерно так:
человек двигается → движение записывается → переносится на робота → робот учится воспроизводить его в физике.Классно, что двадцать лет назад весь этот инструментарий был нужен, чтобы персонаж в игре красивее бегал. Сегодня на нём учат ходить настоящих роботов.