В OMRON SINIC X мы заставили двух манипуляторов играть в диаболо и готовимся выпустить имитационную модель, набор данных и алгоритм управления.

В этой статье мы описываем идею модели, почему мы ее создали и что она может делать. Препринт нашей статьи со всеми подробностями можно найти здесь на arXiv.

Что такое диаболо? Как вы «играете» в это?

Диаболо — это приспособление для жонглирования, похожее на большое йо-йо, состоящее из двух чашек и оси. В нее играют, ускоряя ее с помощью струны между двумя палочками.

Благодаря его инерционной динамике опытные игроки могут выполнять различные трюки, например, это, это или даже это.

Зачем создавать модель?

Мы хотим расширить границы точного управления и взаимодействия человека и машины, и мы хотели увидеть, как роботы играют в диаболо. Это сложная система, которая, по нашему мнению, станет отличной задачей для обучения роботов. Однако не было тренажеров для обучения, а обучение с настоящими роботизированными руками дорого (и может быть опасно для таких задач с высоким ускорением). Следовательно, мы решили создать модель, которую мы и другие могли бы использовать в моделировании.

Упрощение динамики

Струна лежит в основе игры в диаболо, но имитировать ее сложно. Его трение зависит от многих параметров, которые трудно или невозможно измерить, а взаимодействие очень динамично и нелинейно. Мы упростили модель с помощью простой идеи: представить строку в виде эллипса.

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

Имитационная модель

Мы предполагаем, что диаболо имеет различные состояния, такие как:

  1. «На струне» — струна натянута и не позволяет диаболо двигаться за пределы эллипса. Ось и струна взаимодействуют посредством трения.
  2. «Ослабить струну» — струна ослаблена, но все еще находится между чашечками диаболо. Из этого состояния диаболо всегда возвращается в состояние «на струне», если оно движется наружу от центра сфероида. Трения между осью и струной нет.
  3. «Летит» — диаболо полностью соскочил со струны, т.е. после того как бросили. Он может выходить за пределы сфероида. Чтобы вернуться в состояние «на струне», диаболо нужно поймать (поместив натянутую струну под падающим диаболо).

Другие состояния включают, например. веревка наматывается на ось.

В состоянии «на струне» струна удерживает диаболо внутри эллипса, а движение струны вдоль оси ускоряет/замедляет диаболо.

Применение имитационной модели: прогнозирующее управление на основе моделей (MPC)

Модель можно использовать не только для обучения обучающихся агентов игре в диаболо, но и для расчета движений кончика палки с использованием подхода MPC. Используя скорость и положение диаболо в качестве входных данных и предсказывая его траекторию для различных траекторий кончика палки, мы просто оптимизируем для той, которая приводит к желаемому движению. Это делается путем заполнения оптимизатора начальной траекторией стика и настройки его ключевых точек до тех пор, пока диаболо не достигнет своего целевого состояния (или не подойдет достаточно близко):

Затем сгенерированные траектории палки были преобразованы в траектории робота и выполнены для создания видео в верхней части этой статьи.

Что делать дальше?

Робот диаболо символизирует стремление компании OMRON глубоко задуматься о будущем гармонии человека и машины. Помимо изучения обучения на демонстрации и в моделировании, будущая работа также будет включать в себя эволюцию наклона/рысканья (именно это делает систему нестабильной и сложной), наматывание струны на ось и обучение обучающихся агентов для конкуренции с нашим базовым контроллером. Мы также выпустим модель в виде отдельного модуля и плагина Gazebo для обучения. Напишите нам, если вы заинтересованы в раннем предварительном просмотре!

Стажировки в OMRON SINIC X

Эта работа является результатом стажировки Девврата Джоши с апреля по октябрь 2020 года. По его собственным словам:

Построение модели диаболо поставило передо мной множество уникальных и интересных задач, таких как выбор модели для диаболо и расчет подходящих решений IK для системы с недостаточными ограничениями (поскольку учитывались только положения кончика стержня, а не ориентация стержня, оставляя IK задача без ограничений).

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

Хотели бы вы, чтобы роботы учились и делали захватывающие вещи? Тогда отправьте нам свою заявку на [email protected] и свяжитесь с нами! Более подробная информация доступна здесь.