Американские инженеры разработали алгоритм для моделирования движения мягких роботов в водной среде и построили подводного робота, имитирующего морскую звезду. В итеративном алгоритме данные, полученные из наблюдений за движением реального робота, используются для уточнения параметров динамической модели робота в симуляторе и оптимизации его траектории, после чего данные полученные из симулятора вновь тестируются на реальном роботе. Всего за четыре итерации алгоритма разработчикам удалось повысить скорость движения робозвезды примерно в 3.6 раза. Предложенный подход поможет снизить ошибки и расхождения компьютерных моделей с реальными устройствами, возникающие при моделировании поведения роботов с большим числом степеней свободы в водной среде, считают авторы статьи, опубликованной в журнале IEEE Robotics and Automation Letters.
Подводные роботы способны помочь исследователям в выполнении множества различных задач под водой от сбора образцов до наблюдения за жизнью морских животных. Зачастую сами водные обитатели становятся прототипами для роботов, в конструкции которых инженеры стараются воплотить особенности строения тела подводных животных и способы их перемещения. Создание и последующая настройка прототипов подводных роботов может занимать значительное количество времени, сократить которое могло бы помочь компьютерное моделирование. Однако построение компьютерных моделей, точно описывающих особенности движения объектов и управление ими в водной среде, особенно когда речь идет о мягких роботах с большим количеством степеней свободы, — сложная задача.
Решить ее попытались американские инженеры из Массачусетского технологического института под руководством Даниэлы Рус (Daniela Rus). Они применили подход для моделирования динамики движения подводных мягких роботов, позволяющий повысить скорость их разработки и последующей настройки.
Для опытов был построен простой мягкий робот, имитирующий форму тела морской звезды. Его тело выполнено из силиконовой пены и имеет четыре луча-конечности с прикрепленными к их концам тягами из рыболовной лески. Тяги от концов лучей сходятся к центру звезды, проходят через отверстие в центре тела робота и крепятся к блоку на противоположной стороне. Вращение блока прикрепленным к нему сервомотором вызывает натяжение «сухожилий» и одновременный изгиб всех четырех конечностей робозвезды в одном направлении.
Устройство помещают в резервуар с водой, вдоль которого натянуты горизонтальные направляющие, ограничивающие его подвижность только одним горизонтальным направлением. Вес мягкого робота подобран таким образом, чтобы он сохранял приблизительно нейтральную плавучесть. Контроль за движением производится высокоскоростной камерой, обработка изображения с которой позволяет получить координаты четырех меток, расположенных сбоку на вертикальных щупальцах робозвезды (две метки на верхнем и две на нижем). Эти данные затем используются для вычисления разницы между движениями модели робота в симуляции и настоящего устройства в реальном окружении.
Применяемый авторами работы алгоритм выглядит следующим образом. На старте регистрируются движения настоящего робота в воде с заданными вручную сигналами управления актуатором. Для построения динамической модели робота разработчики используют собственный алгоритм DiffPD — дифференцируемый симулятор мягких тел, в рамках которого движения робота и гидродинамические силы, воздействующие на него, моделируются с применением метода конечных элементов и неявного метода Эйлера. При этом авторы работы отмечают, что описываемый подход не привязан к конкретному симулятору.
Собранные на реальном роботе данные сравниваются с данными, предсказываемыми динамической моделью в ходе симуляции, после чего алгоритм учитывает получившуюся разницу и изменяет параметры модели таким образом, чтобы уменьшить ошибку между поведением робота в симуляции и в реальном опыте. Затем скорректированная динамическая модель используется в симуляции для оптимизации сигналов управления, которые затем выполняются на настоящем роботе, чтобы собрать еще больше данных для новой итерации. В результате на выходе алгоритма получается откалиброванная динамическая модель и оптимизированный контроллер уже готовый для управления реальным роботом. Конечная же цель работы алгоритма — максимизация скорости движения, а следовательно, и пройденного расстояния.
Результаты испытаний показали, что всего четырех итераций достаточно, чтобы увеличить скорость передвижения робозвезды приблизительно в 3.6 раза с 0.21 сантиметра в секунду до 0.75. Также авторы отмечают, что после оптимизации в сигнале управления, а значит и в движении лучей робозвезды, возникли высокочастотные составляющие, которые, как они считают, позволяют роботу более эффективно использовать гидродинамические силы для достижения большей скорости. В дальнейшем разработчики планируют использовать разработанный ими подход и для более сложных роботов с большим числом актуаторов.
Зачастую не только строение тела и способ передвижения морских существ, но и их поведение становится примером для подражания при разработке подводных роботов. Например, ученые из Гарвардского университета создали роборыб, способных объединяться в стаи и выполнять другие коллективные действия, имитирующие поведение настоящих рыб.
Андрей Фокин