ИИ впервые научился играть в аэрохоккей без тренировок в реальном мире: видео

У инженеров получилось то, что долго считалось одной из самых сложных задач в робототехнике: робот впервые начал играть в аэрохоккей на реальном столе, проведя всю подготовку исключительно в виртуальной среде.

ИИ впервые научился играть в аэрохоккей без тренировок в реальном мире: видео

Чтобы решить эту проблему, разработчики намеренно сделали цифровую модель несовершенной. В нее добавили множество факторов, встречающихся в реальности: неровности поверхности, небольшие деформации стола, нестабильные отскоки, задержки камеры и другие источники ошибок.

Такой подход называется рандомизацией домена. Суть метода в том, что вместо одного идеального мира ИИ сталкивается с тысячами вариаций одной и той же среды. В результате алгоритм учится не запоминать конкретные ситуации, а адаптироваться к неопределенности.

Фактически система начинает прогнозировать не единственный возможный отскок, а целый диапазон вероятных вариантов. Это напоминает поведение опытного спортсмена, который заранее готовится сразу к нескольким сценариям развития событий.

Миллионы матчей за короткое время

Для ускорения подготовки команда отказалась от традиционных игровых движков вроде Unity или Unreal. Вместо этого исследователи использовали метод обучения, известный как Soft Actor-Critic.

Упрощенно его можно сравнить с системой поощрений и штрафов. ИИ выполняет действия, получает награду за удачные решения и наказание за ошибки. После миллионов виртуальных матчей система постепенно вырабатывает наиболее эффективную стратегию.

При этом разработчики создали собственную высокоскоростную модель. Вместо ресурсоемких физических расчетов она использовала аналитические модели движения шайбы и игрового молотка. Для определения столкновений применялся специальный алгоритм, позволяющий не пропускать удары даже при очень высокой скорости игры.

При столкновении с бортом в работу вступала компактная нейросеть, прогнозировавшая скорость и угол дальнейшего движения шайбы. Затем симулятор намеренно добавлял случайные отклонения в расчеты, чтобы ИИ привыкал не к идеальным условиям, а к реальной неопределенности.

В физической версии системы робот ориентировался с помощью единственной камеры, установленной над столом. Шайба была помечена светоотражающей лентой, а игровой молоток соперника — специальным маркером. После калибровки по меткам на краях стола камера отслеживала положение шайбы и игрового молотка со скоростью до 120 кадров в секунду, что существенно превышает скорость человеческой реакции.

За движение робота отвечал механизм типа Core XY с двумя двигателями и микроконтроллером STM32. Для повышения точности инженеры заранее изучили реакцию системы на различные управляющие сигналы и использовали комбинацию прямого управления и ПИД-регулятора — алгоритма, который постоянно корректирует движение и помогает удерживать объект на заданной траектории.

Не только для игр

Хотя проект выглядит как эффектная демонстрация возможностей искусственного интеллекта, его значение выходит далеко за пределы аэрохоккея.

Если сложные навыки действительно можно надежно переносить из симуляции в реальные условия, это способно ускорить разработку самых разных автономных систем.

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

Робот впервые обыграл профессионалов в настольный теннис: видео

Человекоподобный робот впервые обогнал людей в марафонском беге — видео

Подписывайтесь и читайте «Науку» в MAX