Роботов обучили лепке

Роботов обучили лепке

Американские исследователи разработали алгоритм моделирования поведения объектов из разных материалов, позволяющий роботам деформировать их заданным образом. Во время действия робот создает модель объекта, состоящую из частиц, и постоянно уточняет ее в соответствии со своими наблюдениями, что позволяет эффективно взаимодействовать даже с объектами, свойства которых неизвестны заранее, рассказывают авторы статьи, которая будет представлена на конференции ICRL 2019.

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

Группа исследователей из Массачусетского технологического института под руководством Антонио Торральбы (Antonio Torralba) разработала алгоритм симуляции деформации, позволяющий роботам эффективно деформировать предметы из разных материалов, даже если изначально они знают только их форму. Принцип работы алгоритма заключается в построении графа, в котором вершины представляют собой частицы материала, а ребра — взаимодействия между ними. При деформации вершины графа перемещаются относительно друг друга, а изначальный импульс распространяется по материалу через его ребра. Такой подход имеет несколько сложностей в реализации. Во-первых, поведение такого графа различается для материалов разных типов, а во-вторых, для его построения нужны данные об объекте.

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

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

Разработчики не только обучали и проверяли алгоритм на симуляции, но и показали его работу на реальном роботе с захватом. Во время экспериментов робот получал желаемую форму, к примеру, ему необходимо было превратить комок деформируемого пористого материала в букву Т. Несмотря на отсутствие предварительного знания о том, как поведет себя этот материал, роботу удалось смять материал в похожую, хотя и не идентичную форму.

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

Иллюстрация к статье: Яндекс.Картинки
Самые свежие новости медицины на нашей странице в Вконтакте

Оставить комментарий

Вы можете использовать HTML тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>