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