Американские инженеры разработали алгоритм для роботов, позволяющий им использовать инструменты для перемещения предметов. Во время обучения робот комбинирует два подхода: экспериментирует, перемещая предметы случайным образом, а также представляет с помощью нейросети, к какому результату приведет то или иное действие. Эксперименты с алгоритмом показали, что он позволяет роботу эффективно использовать простые инструменты, даже если он видит их впервые, рассказывают авторы статьи, опубликованной на arXiv.org.
При выполнении бытовых действий люди зачастую пользуются инструментами, упрощающими выполнение задачи. При этом мы способны самостоятельно понять, стоит ли применять тот или иной инструмент в конкретной ситуации или же можно обойтись своими руками. К примеру, собирать большое количество мелких предметов удобнее с помощью совка, а поднять один легкий предмет проще без него. Все эти манипуляции кажутся очевидными, однако для роботов сама концепция передвижения одних предметов с помощью других является нетривиальной.
Группа разработчиков под руководством Челси Финн (Chelsea Finn) из Калифорнийского университета в Беркли разработала алгоритм, позволяющий роботам использовать для перемещения одних объектов другие в качестве инструментов, а также самостоятельно принимать решение, оптимально ли применять их в текущей ситуации. Алгоритм позволяет давать роботу задачу в виде визуальных маркеров, которые стрелками показывают, куда нужно передвинуть тот или иной предмет. После этого алгоритм производит расчеты и управляет манипулятором, который отслеживает свои действия с помощью камеры.
В основе алгоритма лежит интересный подход: он планирует возможные последовательности действий для манипулятора, а затем отдает этот набор последовательностей нейросети, которая синтезирует видео, соответствующее каждой последовательности. Нейросеть берет предыдущий кадр и действие для текущего отрезка времени и выдает в ответ синтезированный следующий кадр. После этого алгоритм анализирует созданные нейросетью видеозаписи и сравнивает конечное расположение предметов на них с изображением, на котором отражено задание пользователя. Затем он сортирует их на основании того, насколько близко результат соответствует заданию пользователя. После этого он отбирает лучшие действия и планирует их заново таким образом, чтобы они были ближе к заданию. Наконец, определив наилучшую последовательность действий, робот выполняет ее, передвигая предметы.
Для обучения разработчики совместили два распространенных подхода, применяемых в машинном обучении — имитационное обучение и обучение без учителя. Во время имитационного обучения разработчики брали в руки манипулятор и вручную показывали роботу, как необходимо выполнить действие с помощью инструмента в конкретной ситуации. Во время каждого из таких сеансов робот записывает задание пользователя, видео выполнения действия и положения манипулятора во время выполнения. При обучении без учителя робот самостоятельно выбирал действия случайным образом. Благодаря этому он получил большой объем данных о взаимодействии инструментов и предметов с помощью обучения без учителя, но при этом также увидел примеры оптимальных действий, которых он вряд ли достиг бы с помощью случайного выбора. Кроме того, авторы также использовали записи выполнения различных действий роботами из датасета BAIR Robot Interaction Dataset.
Эксперименты показали, что робот во многих случаях способен хватать инструменты и передвигать предметы в заданную область. К примеру, он может взять щетку и переместить несколько предметов в совок за одно действие. Кроме того, эксперименты показали, что в некоторых случаях робот понимает, что оптимальнее выполнить задачу без инструмента — с помощью только собственного манипулятора. Наконец, авторы отмечают, что робот показал достаточно высокий уровень генерализации и смог использовать инструменты нового для себя типа, не встречавшиеся ему во время обучения.
В прошлом году другая группа американских инженеров научила модульного робота использовать подручные инструменты. К примеру, он способен самостоятельно оценить обстановку, понять, что он не может забраться на препятствие, и поднести к нему наклонный пандус. А другая группа инженеров из Калифорнийского университета в Беркли недавно научила робота с двумя захватами разных типов определять, какой из них оптимальнее применить для текущей задачи.
Григорий Копиев