Автономные роботы прошли долгий путь со времен привередливой Roomba. В последние годы искусственно интеллектуальные системы были внедрены в самоуправляемые автомобили, доставку еды на последнюю милю, обслуживание в ресторанах, скрининг пациентов, уборку больниц, приготовление пищи, охрану зданий и упаковку на складах.
Каждая из этих роботизированных систем является продуктом специального процесса проектирования, специфичного для данной конкретной системы. При проектировании автономного робота инженеры должны проводить бесчисленные симуляции методом проб и ошибок, часто руководствуясь интуицией. Эти симуляции адаптированы к компонентам и задачам конкретного робота, чтобы настроить и оптимизировать его производительность. В некоторых отношениях проектирование автономного робота сегодня похоже на выпечку торта с нуля, без рецепта или готовой смеси, гарантирующей успешный результат.
Теперь инженеры Массачусетского технологического института разработали общий инструмент проектирования для робототехников, который можно использовать как своего рода автоматизированный рецепт успеха. Команда разработала оптимизационный код, который может быть применен к моделированию практически любой автономной роботизированной системы и может использоваться для автоматического определения того, как и где следует настроить систему для повышения производительности робота.
Команда показала, что инструмент способен быстро улучшить производительность двух очень разных автономных систем: одной, в которой робот прокладывал путь между двумя препятствиями, и другой, в которой пара роботов работала вместе, чтобы переместить тяжелый ящик.
Исследователи надеются, что новый оптимизатор общего назначения поможет ускорить разработку широкого спектра автономных систем, от шагающих роботов и самоуправляемых транспортных средств до мягких и ловких роботов и команд роботов для совместной работы.
Команда, состоящая из Чарльза Доусона, аспиранта Массачусетского технологического института, и Чучу Фана, доцента кафедры аэронавтики и астронавтики Массачусетского технологического института, представит свои результаты позже в этом месяце на ежегодной конференции "Робототехника: наука и системы" в Нью-Йорке.
Перевернутый дизайн
Доусон и Фан осознали необходимость общего инструмента оптимизации после наблюдения за множеством инструментов автоматизированного проектирования, доступных для других инженерных дисциплин.
"Если бы инженер-механик захотел спроектировать ветряную турбину, он мог бы использовать инструмент 3D CAD для проектирования конструкции, а затем использовать инструмент конечно-элементного анализа, чтобы проверить, выдержит ли она определенные нагрузки", - говорит Доусон. "Однако существует нехватка этих инструментов автоматизированного проектирования для автономных систем".
Обычно специалист по робототехнике оптимизирует автономную систему, сначала разрабатывая имитацию системы и ее многочисленных взаимодействующих подсистем, таких как планирование, управление, восприятие и аппаратные компоненты. Затем она должна настроить определенные параметры каждого компонента и запустить симуляцию вперед, чтобы увидеть, как система будет работать в этом сценарии.
Только после выполнения множества сценариев методом проб и ошибок специалист по робототехнике может определить оптимальную комбинацию ингредиентов для достижения желаемой производительности. Это утомительный, чрезмерно скроенный и отнимающий много времени процесс, который Доусон и Фан стремились перевернуть с ног на голову.
"Вместо того, чтобы говорить: "Учитывая дизайн, какова производительность?", мы хотели перевернуть это, чтобы сказать: "Учитывая производительность, которую мы хотим видеть, какой дизайн приведет нас туда?" - объясняет Доусон.
Исследователи разработали структуру оптимизации, или компьютерный код, который может автоматически находить изменения, которые могут быть внесены в существующую автономную систему для достижения желаемого результата.
Суть кода основана на автоматическом дифференцировании, или "autodiff", инструменте программирования, который был разработан в сообществе машинного обучения и первоначально использовался для обучения нейронных сетей. Автодифференцировка - это метод, который позволяет быстро и эффективно "оценивать производную" или чувствительность к изменению любого параметра в компьютерной программе. Доусон и Фан использовали последние достижения в программировании autodiff для разработки инструмента оптимизации общего назначения для автономных роботизированных систем.
"Наш метод автоматически подсказывает нам, как делать небольшие шаги от первоначального дизайна к дизайну, который достигает наших целей", - говорит Доусон. "Мы используем autodiff, чтобы по существу разобраться в коде, который определяет симулятор, и выяснить, как выполнить эту инверсию автоматически".
Создание лучших роботов
Команда протестировала свой новый инструмент на двух отдельных автономных роботизированных системах и показала, что инструмент быстро улучшил производительность каждой системы в лабораторных экспериментах по сравнению с традиционными методами оптимизации.
Первая система состояла из колесного робота, которому было поручено планировать путь между двумя препятствиями на основе сигналов, которые он получал от двух маяков, расположенных в разных местах. Команда стремилась найти оптимальное размещение маяков, которое обеспечило бы четкий путь между препятствиями.
Они обнаружили, что новый оптимизатор быстро обработал имитацию робота и определил наилучшее размещение маяков в течение пяти минут, по сравнению с 15 минутами для обычных методов.
Вторая система была более сложной и включала двух колесных роботов, работающих вместе, чтобы подтолкнуть коробку к заданному положению. Моделирование этой системы включало в себя гораздо больше подсистем и параметров. Тем не менее, инструмент команды эффективно определил шаги, необходимые роботам для достижения своей цели, в процессе оптимизации, который был в 20 раз быстрее, чем обычные подходы.
"Если в вашей системе больше параметров для оптимизации, наш инструмент может работать еще лучше и экономить экспоненциально больше времени", - говорит Фан. "По сути, это комбинаторный выбор: по мере увеличения количества параметров увеличивается и выбор, и наш подход может сократить это за один раз".
Команда сделала общий оптимизатор доступным для загрузки и планирует дальнейшее совершенствование кода для применения к более сложным системам, таким как роботы, которые предназначены для взаимодействия с людьми и работы бок о бок.
"Наша цель - дать людям возможность создавать более совершенных роботов", - говорит Доусон. "Мы предоставляем новый строительный блок для оптимизации их системы, так что им не придется начинать с нуля".
Это исследование было частично поддержано Агентством оборонной науки и технологий в Сингапуре и IBM.
Аннотация статьи: https://roboticsconference.org/program/papers/037/
Комментарии