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

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

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

Группа инженеров из Массачусетского технологического института под руководством Расса Тедрейка (Russ Tedrake) не первый год занимается разработкой алгоритмов для хватающих роботов и, к примеру, в прошлом году представила алгоритм, позволяющий роборуке захватывать незнакомые предметы. В своей новой работе инженеры так же научили робота захватывать незнакомые ему предметы, но использовали для этого другое представление предмета. Кроме того, они научили робота выполнять типовые действия, ассоциированные с предметом того или иного типа.

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

Для определения ключевых точек предметов авторы воспользовались разработанной ранее другими исследователями нейросетью, изначально предназначенной для определения ключевых точек человеческого тела. Разработчики обучили алгоритм, создав датасет, содержащий более ста тысяч изображений. Они были созданы на основе 117 3D-моделей, на которых авторы вручную разметили ключевые точки.

После обучения алгоритмов разработчики провели эксперименты на промышленном робоманипуляторе Kuka. У робота было три задачи: поставить кружку в вертикальное положение в заданном месте стола, повестить кружку на сушилку, и поставить ботинок на полку для обуви. Робот справился с задачей в большинстве случаев, но у него возникли проблемы с надеванием небольших кружек на рейку сушилки — в этом случае он успешно справился лишь со второй попытки.

Другие инженеры также занимаются проблемой обучения роботов типовым действиям с предметами. Например, в 2018 году другая группа американских разработчиков создала робота, который способен повторять простые действия с предметами, выполняемые человеком, после всего лишь одной демонстрации.

Григорий Копиев