Американские инженеры разработали алгоритм для роботов, позволяющий им использовать инструменты для перемещения предметов. Во время обучения робот комбинирует два подхода: экспериментирует, перемещая предметы случайным образом, а также представляет с помощью нейросети, к какому результату приведет то или иное действие. Эксперименты с алгоритмом показали, что он позволяет роботу эффективно использовать простые инструменты, даже если он видит их впервые, рассказывают авторы статьи, опубликованной на arXiv.org.
При выполнении бытовых действий люди зачастую пользуются инструментами, упрощающими выполнение задачи. При этом мы способны самостоятельно понять, стоит ли применять тот или иной инструмент в конкретной ситуации или же можно обойтись своими руками. К примеру, собирать большое количество мелких предметов удобнее с помощью совка, а поднять один легкий предмет проще без него. Все эти манипуляции кажутся очевидными, однако для роботов сама концепция передвижения одних предметов с помощью других является нетривиальной.
Группа разработчиков под руководством Челси Финн (Chelsea Finn) из Калифорнийского университета в Беркли разработала алгоритм, позволяющий роботам использовать для перемещения одних объектов другие в качестве инструментов, а также самостоятельно принимать решение, оптимально ли применять их в текущей ситуации. Алгоритм позволяет давать роботу задачу в виде визуальных маркеров, которые стрелками показывают, куда нужно передвинуть тот или иной предмет. После этого алгоритм производит расчеты и управляет манипулятором, который отслеживает свои действия с помощью камеры.
В основе алгоритма лежит интересный подход: он планирует возможные последовательности действий для манипулятора, а затем отдает этот набор последовательностей нейросети, которая синтезирует видео, соответствующее каждой последовательности. Нейросеть берет предыдущий кадр и действие для текущего отрезка времени и выдает в ответ синтезированный следующий кадр. После этого алгоритм анализирует созданные нейросетью видеозаписи и сравнивает конечное расположение предметов на них с изображением, на котором отражено задание пользователя. Затем он сортирует их на основании того, насколько близко результат соответствует заданию пользователя. После этого он отбирает лучшие действия и планирует их заново таким образом, чтобы они были ближе к заданию. Наконец, определив наилучшую последовательность действий, робот выполняет ее, передвигая предметы.
Для обучения разработчики совместили два распространенных подхода, применяемых в машинном обучении — имитационное обучение и обучение без учителя. Во время имитационного обучения разработчики брали в руки манипулятор и вручную показывали роботу, как необходимо выполнить действие с помощью инструмента в конкретной ситуации. Во время каждого из таких сеансов робот записывает задание пользователя, видео выполнения действия и положения манипулятора во время выполнения. При обучении без учителя робот самостоятельно выбирал действия случайным образом. Благодаря этому он получил большой объем данных о взаимодействии инструментов и предметов с помощью обучения без учителя, но при этом также увидел примеры оптимальных действий, которых он вряд ли достиг бы с помощью случайного выбора. Кроме того, авторы также использовали записи выполнения различных действий роботами из датасета BAIR Robot Interaction Dataset.
Эксперименты показали, что робот во многих случаях способен хватать инструменты и передвигать предметы в заданную область. К примеру, он может взять щетку и переместить несколько предметов в совок за одно действие. Кроме того, эксперименты показали, что в некоторых случаях робот понимает, что оптимальнее выполнить задачу без инструмента — с помощью только собственного манипулятора. Наконец, авторы отмечают, что робот показал достаточно высокий уровень генерализации и смог использовать инструменты нового для себя типа, не встречавшиеся ему во время обучения.
В прошлом году другая группа американских инженеров научила модульного робота использовать подручные инструменты. К примеру, он способен самостоятельно оценить обстановку, понять, что он не может забраться на препятствие, и поднести к нему наклонный пандус. А другая группа инженеров из Калифорнийского университета в Беркли недавно научила робота с двумя захватами разных типов определять, какой из них оптимальнее применить для текущей задачи.
Григорий Копиев
Это позволяет тратить в пять раз меньше энергии, чем при полете
Стартап Revolute Robotics из Аризоны разработал гибридного робота, который способен как летать, так и ездить по поверхности. Он представляет собой квадрокоптер, закрепленный на кардановом подвесе внутри металлической клетки сферической формы. Она защищает дрон от повреждений при столкновении с препятствиями, а также выступает в роли опоры при движении по земле, так как благодаря подвесу может свободно вращаться вокруг дрона во всех направлениях. По замыслу разработчиков, робот будет использовать для дистанционного обследования технического состояния оборудования и охраны объектов, сообщает издание New Atlas. Идея о размещении дронов целиком внутри защитного каркаса не нова. Несмотря на дополнительный вес, такой подход позволяет защитить дрон со всех направлений от повреждений при столкновении с препятствиями. Особенно это актуально при полетах в тесных помещениях с большим количеством объектов, например, с целью инспекции состояния оборудования технических сооружений. Такой дрон, к примеру, сделала швейцарская компания Flybotix. Разработанный ею бикоптер имеет защиту в виде почти сферической сетки, полностью покрывающей беспилотник. Схожую конструкцию для защиты дрона использовали и японские инженеры. Однако у предложенного ими варианта была особенность — сферическая защитная клетка, состоящая из двух независимых полусфер, имела возможность свободно вращаться вокруг двух осей, благодаря чему соприкосновение с препятствием меньше влияло на траекторию полета. Дрон, разрабатываемый стартапом Revolute Robotics, также помещен внутрь металлической защитной сетки сферической формы, которая способна вращаться вокруг беспилотника. Но благодаря карданному подвесу, которым квадрокоптер изнутри соединен со сферической оболочкой, это вращение может происходить не по двум осям, а в любом направлении. Эту способность инженеры решили использовать — робот может не только летать, но и ездить по поверхности, используя собственную защитную оболочку в роли всенаправленного колеса. https://www.youtube.com/watch?v=YUcwM7pCZkk Перемещение по поверхности происходит с помощью воздушных винтов дрона, который может наклоняться внутри свободно вращающейся вокруг него сферической оболочки в нужном направлении, регулируя скорость и направление движения. Упругая конструкция клетки и колец подвеса сглаживает толчки и удары, выполняя роль амортизатора. Регулируя уровень тяги пропеллеров, робот способен взбираться по крутым склонам, а при встрече с препятствием, которое нельзя переехать, может просто облететь его по воздуху. При этом на полет тратится в пять раз больше энергии, поэтому передвижение по поверхности оказывается предпочтительнее. В качестве полезной нагрузки робот может нести камеры, лидары и другие сенсоры. Поэтому его можно будет использовать, например, для составления трехмерных карт объектов и обследования технического состояния оборудования и инженерных сооружений, в том числе для инспекции труб. Другим возможным применением робота, по мнению разработчиков может стать охрана территории. Впрочем, защитный каркас — не всегда наилучшее решение, ведь дополнительный вес защиты будет уменьшать время работы дрона. Поэтому инженеры компании Cleo Robotics, которые разработали дрон Dronut X1 специально для работы в помещениях, применили другой подход. Два соосных несущих винта дрона X1 находятся полностью внутри похожего на пончик корпуса, и поэтому надежно защищены от встречи со стенами и другими препятствиями.