Сделано с помощью Unity: Футбольные роботы с ML-Agents

ANTHONY NAVARRO / UNITY TECHNOLOGIESSenior Technical Product Manager
Aug 6, 2021|8 Мин
Сделано с помощью Unity: Футбольные роботы с ML-Agents
Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.

Наш Сделано с Unity: Серия AI демонстрирует проекты Unity, созданные авторами для различных целей, в которых задействованы наши продукты искусственного интеллекта. В данном примере ML-Agents расширил возможности разработчиков ИИ, позволив им быстро и легко создавать среды машинного обучения и обучать агента играть в футбол, а затем передавать его настоящему роботу.

Инструментарий Unity Machine Learning Agents Toolkit (ML-Agents) позволяет пользователям легко приступить к обучению с подкреплением (RL) с помощью Unity. ML-Agents предоставляет пользователям множество примеров сред и архитектур моделей, которые они могут использовать для начала работы с RL. Пользователи могут настраивать гиперпараметры, экспериментируя и улучшая полученные модели. Все это происходит без необходимости создавать окружение Unity или импортировать активы, а также без необходимости кодирования. В этом проекте японской компании Ghelia Inc. используется футбольная среда ML-Agents для обучения агента игре в футбол. Полученная RL-модель была затем развернута на реальных роботах Sony toio для игры в футбол. Это захватывающий пример перехода от симуляции к реальному миру с помощью роботов, использующих ML-Agents для обучения.

Мы взяли интервью у Рё Симидзу, генерального директора и президента компании Ghelia, Хидекадзу Фурукава, ведущего программиста отдела инноваций и стратегии бренда, и Масатоси Учида, менеджера отдела инноваций отдела инноваций и стратегии бренда, чтобы узнать, что вдохновило их на создание этого проекта. Читайте далее, чтобы узнать, как они использовали ML-Agents Toolkit для обучения реального робота игре в футбол и как мяч для гольфа вписывается в этот сценарий.

Роботизированный футбол с использованием ML-Agents и Sony toio

Что вдохновило вас на создание проекта?
Ghelia - это компания, которая занимается разработкой приложений для обучения с подкреплением. Основатель Ghelia, Хироаки Китано, запустил RobocupSoccer и разработал AIBO в компании Sony. Ранее наша команда уже создавала демонстрационный аэрохоккей, но поскольку он состоял из множества различных компонентов, его было не очень удобно переносить. Когда мы начали обсуждать создание еще одной демонстрационной версии, чтобы объяснить клиентам, что такое обучение с подкреплением, мы хотели получить что-то, что было бы легче носить с собой. Поскольку у ML-Agents уже была футбольная среда, было разумно использовать маленьких и портативных роботов Sony toio для создания футбольной игры, которая также могла бы привести к появлению вирусного контента.

Изображение квадратной футбольной демонстрации MLA с 3d рендерингом футбольной арены
Как вы перенесли модель ML-Agents на реального робота?

Чтобы применить обучение с подкреплением к реальному роботу, он должен существовать в среде моделирования. К счастью, у toio уже есть симулятор под названием toio SDK for Unity. Добавив к нему пакет ML-Agents, мы сразу же смогли использовать его для обучения. Хотя toio SDK предоставил модели роботов для Unity, нам все равно нужно было создать мяч. Мы использовали физический движок Unity, чтобы воссоздать мяч в симуляторе, и нам нужно было найти реальный мяч, который бы соответствовал результатам симуляции. Оказалось, что мяч для гольфа дает реальные результаты, которые отражают результаты тренировок. Положение мяча определялось в симуляции с помощью значения трансформации Unity, а в реальном мире - с помощью распознавания изображений с помощью OpenCV и камеры.

Демонстрация футбола MLA с фигурными роботами lego
Какова была ваша аппаратная конфигурация, чтобы запустить это в реальном мире?

Мы использовали мяч для гольфа, чтобы изобразить футбольный мяч, но чтобы повысить скорость распознавания, мы покрасили его в красный цвет. Удивительно, но с помощью одного iPhone и его камеры мы смогли обнаружить мяч, управлять всеми восемью роботами (это была футбольная игра четыре на четыре) и делать выводы с помощью модели ML-Agents.

Демонстрация футбола ML-Agents с футбольным макетом и лего ML Agents и красным мячом для гольфа в качестве футбольного мяча
Как вы разрабатывали функцию вознаграждения?

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

Что было самым сложным в этом проекте?

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

Виртуальные роботы могут сталкиваться без реальных последствий, но столкновения реальных роботов могут вызвать проблемы. Как вы решили эту проблему?

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

Gif симуляция MLA агента, играющего в футбол
Открыт ли исходный код вашего проекта и можно ли получить дополнительную информацию?

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

Что вы посоветуете создателям Unity, которые хотят использовать машинное обучение в своих проектах?

ИИ, особенно глубокое обучение, очень увлекателен, но он недостаточно хорошо изучен. Вы не сможете в полной мере оценить его красоту и сложность, пока не поработаете с ним воочию, а жаль, поэтому мы призываем разработчиков Unity по всему миру попробовать его. Я хочу подчеркнуть, насколько увлекательным является машинное обучение, и что Unity ML-Agents - это система, которая позволит вам легко начать работу с машинным обучением или включить его в свой проект.

Подробнее

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

Хидеказу Фурукава также опубликовал японскую книгу под названием Unity ML-Agents Practical Game Programming, в которой подробно описывается, как начать работу с обучением с подкреплением с помощью ML-Agents.