Помощник искусственного интеллекта
Алгоритм для генеративного дизайна роботизированных захватных устройств
В ИТМО придумали, как автоматизировать процесс проектирования роботов с помощью алгоритма MCTS (Monte Carlo Tree Search, поиск в дереве по методу Монте-Карло). Алгоритм MCTS используется для автоматизации игры в шахматы и известен как программа, обыгравшая сильнейших гроссмейстеров.
Аспиранты ИТМО адаптировали алгоритм и создали инструмент для генерации дизайна роботизированных устройств, который позволяет найти лучшее решение за пару часов. Для сравнения, создание дизайна вручную занимает больше недели. Результаты исследования были представлены на конференции IEEE Intelligent Robots and Systems (IROS).
При проектировании дизайна робота инженерам нужно учитывать множество параметров: внешнюю форму и внутреннее строение, кинематические и динамические параметры, способы производства, материалы, приводы, сенсоры и многое другое. Часто эти параметры противоречат друг другу, поэтому создать оптимальную конструкцию, которая будет удовлетворять всем требованиям заказчика, становится сложно. Инженерам постоянно приходится искать баланс между разными факторами и «перебирать» тысячи вариантов возможных модификаций. Это затягивает время разработки и снижает объективность выбора дизайн-проекта, поскольку итоговое решение будет зависеть только от опыта и инженерной интуиции проектировщика.
Решить проблему можно, автоматизировав процесс проектирования. Аспиранты факультета систем управления и робототехники ИТМО использовали для этого алгоритм MCTS, который перебирает все возможные комбинации вариантов решений той или иной задачи при имеющихся данных. Затем алгоритм проверяет их эффективность в симуляторе и предлагает лучший. Разработчики ИТМО решили использовать алгоритм направленного поиска в робототехнике — адаптированный MCTS успешно справился с выбором максимально оптимального дизайна роботизированных захватных устройств. Репозиторий с открытым кодом исследователи назвали «Росток».
Чтобы запустить алгоритм, инженеру нужно задать начальные параметры проектируемого устройства. Например, количество пальцев, фаланг, шаг перебора геометрических параметров и другие. Также необходимо обозначить границы информационного пространства, в которых алгоритму следует искать решения.
Затем с учетом этих данных алгоритм перебирает все возможные варианты дизайна и проверяет их эффективность в среде имитационного моделирования, где конструирует разработанные механизмы и имитирует их работу. Каждый вариант получает оценку — программа определяет, насколько эффективно получившееся решение выполняет поставленные задачи. Получившаяся модель получает численную оценку в зависимости от эффективности. После проверки всех схем алгоритм ранжирует их от лучшей к худшей и выдает пользователю перечень моделей с самыми высокими показателями.
«Алгоритм может “перебрать” тысячи комбинаций и численно обосновать выбор лучших из них — в отличие от инженера, который из-за лимита времени и ресурсов может рассмотреть ограниченное число технических решений и руководствуется при их выборе опытом, техническими знаниями и инженерной интуицией. Сейчас бигтехи активно используют нейросети для создания новых технологичных продуктов. Однако для обучения ИИ-моделей требуется большое количество реальных данных. А собрать эту информацию непросто. Наш алгоритм условно “обучает сам себя”, работая в симуляторе и так получая нужные данные. Поэтому алгоритмы генеративного дизайна могут стать хорошей средой для обучения нейросетей, так как они будут давать ИИ необходимый материал для развития»,— отмечает один из авторов проекта, аспирант, младший научный сотрудник лаборатории «Биомехатроника и энергоэффективная робототехника» ИТМО Кирилл Жарков.
Конструкции захватных устройств, сгенерированные алгоритмом, уже протестировали на практике. Разработчики опробовали и пайплайн использования технологии генеративного дизайна. Созданные прототипы справились с задачей захвата и удержания объектов манипулирования. Однако пока симулятор учитывает не все внешние факторы воздействия, которые могут возникнуть в реальности. Поэтому в перспективе разработчики планируют доработать код, чтобы минимизировать эффект Sim2Real gap — разницу между данными, которые алгоритм получает в ходе виртуальных экспериментов, и теми, что фиксируют инженеры на практике.
Пресс-служба Университета ИТМО