Подводный робот научился захватывать предметы лучше оператора

Сначала AquaBot учился на действиях человека-оператора, а затем превзошел его

Американские инженеры разработали автономный подводный манипулятор AquaBot, который способен самообучаться, хотя изначально его нейросетевая система управления обучается на действиях человека-оператора. Робот способен захватывать различные объекты, сортировать их, раскладывая по разным контейнерам, а также выполнять задачи поиска и спасения. В ходе испытаний AquaBot под управлением самообучающегося алгоритма превзошел человека-оператора по скорости захвата предметов более чем на 40 процентов. Препринт статьи с описанием робота доступен на сайте arXiv.org.

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

В последние годы для решения подобных сложных задач разработчики активно применяют методы машинного обучения. Так поступили и инженеры под руководством Карла Вондрика (Carl Vondrick) из Колумбийского университета. Они разработали экспериментального робота AquaBot для выполнения автономных подводных манипуляций. Его система управления основана на нейросетях и объединяет имитационное обучение с повышающим эффективность алгоритмом самообучения.

Основой стал подводный управляемый по кабелю аппарат QYSEA FIFISH V-EVO с шестью винтами, обеспечивающими управление по шести степеням свободы. Снизу на корпусе закреплен параллельный захват. Зрение обеспечивают две камеры: штатная, расположенная спереди, имеет высокую задержку (700 миллисекунд), поэтому разработчики добавили к ней в пару более быструю камеру с 100-миллисекундной задержкой. В углах бассейна, где проводились испытания, были установлены две внешние камеры для локализации робота в пространстве. Кроме того, использовались данные установленного на AquaBot инерциального измерительного модуля и компаса.

Процесс обучения состоял из двух этапов: обучения базовой политики на действиях человека-оператора (клонирование поведения) и последующего самообучения для оптимизации времени выполнения задач. На первом этапе с помощью дистанционного управления, оператор демонстрирует роботу выполнение ряда задач по манипуляции объектами, таких как захват предметов разной формы и размера, сортировка по категориям и задача спасения, в которой робот должен захватывать и тащить объект, превосходящий его по размерам и массе. Изображения с двух камер и команды управления, собранные в ходе этих демонстраций, используются для обучения базовой нейросетевой зрительно-моторной политики. Каждое действие записывается в вектор, включая координаты перемещения, углы вращения робота и состояние захвата. Обработка изображений с камер выполняется двумя отдельными сверточными нейросетями ResNet-18. Извлеченные признаки подаются на вход многослойного перцептрона с тремя слоями с размерностью 64 и функциями активации LeakyReLU. Выход нейросети — вектор значений, указывающих роботу, как он должен двигаться. Сеть обучалась на протяжении 50 циклов с использованием функции потерь MSE (среднеквадратичная ошибка) на двух GPU RTX A6000.

Обученная таким образом базовая политика не была оптимальна, так как человек может управлять роботом медленно, допускает ошибки и неэффективные движения. Поэтому инженеры добавили второй этап — самообучение. В нем AquaBot выполняет те же задачи, но уже самостоятельно. При этом робот дополнительно оптимизирует свои действия, чтобы повысить эффективность выполнения задачи. Для этого используется суррогатная модель — нейросеть, которая предсказывает, сколько времени займет выполнение задачи при заданных параметрах скорости. Эти данные затем используются для их оптимизации. Входными данными служат параметры скорости по пяти осям (ось крена исключена, так как не играет значимой роли при выполнении захвата), а на выходе — предсказанное время, которое требуется минимизировать. Процесс самообучения включает этапы случайного исследования и оптимизацию. Во время исследования параметры скорости выбираются случайным образом, а во время эксплуатации используется суррогатная модель для нахождения оптимальных параметров. После каждого эпизода результаты (параметры скорости и время выполнения) добавляются в набор данных для дообучения модели.

AquaBot с готовой политикой управления был протестирован на трех разных задачах: захват объектов, сортировка мусора, а также поиск и перемещение. Для захвата объектов использовались предметы различной формы, размера и материала, включая камни, игрушки и пластиковые пакеты. В задаче сортировки мусора робот должен был классифицировать объекты по категориям и помещать их в соответствующие контейнеры. В задаче поиска и спасения роботу нужно было переместить небольшой манекен, который был почти в два раза тяжелее робота: 6,8 килограмма при собственной массе робота 3,8 килограмма.

Результаты экспериментов показали, что AquaBot успешно справляется со всеми тремя задачами. После 120 итераций самообучения AquaBot превзошел человека-оператора по скорости выполнения на 41 процент в задаче захвата объектов, на 20 процентов в задаче сортировке мусора и на 23 процента в задаче поиска и извлечения объекта.

В отличие от AquaBot, у которого только один манипулятор, у созданного специалистами Стэнфордского университета подводного робота OceanOne их целых два. С их помощью в 2016 году робот смог извлечь небольшую вазу из обломков флагманского корабля Людовика XIV, затонувшего в Средиземном море в 32 километрах от южного побережья Франции.

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.
Шестисантиметровая робоногохвостка прыгнула на полтора метра

В этом микророботу помог прыгательный механизм, имитирующий хвост ногохвостки