Прямое управление траекторией против управления на основе DMP



Теперь, используя описанную выше функцию интерполяции, можно просто напрямую применять её вывод для управления системой. И фактически такой вывод даёт очень точное управление захватом робота, более точное, чем управление DMP. Причина в том, что система DMP аппроксимирует желаемую траекторию и имеет набор базисных функций, при таком приближении теряется некоторая часть точности.

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

Вот слово, нарисованное с использованием функции интерполяции:

https://studywolf.files.wordpress.com/2013/12/draw_word_traj1.gif

Рис.5.

Вот то же слово, нарисованное системой DMP с 1000ю базисными функциями на 1 DOF:

https://studywolf.files.wordpress.com/2013/12/draw_word_dmp.gif

Рис.6.

Можно видеть, что простое использование функции интерполяции даёт точный путь, который был указан, а при использовании DMP получается некоторая ошибка, и эта ошибка увеличивается с размером желаемой траектории. Но! Это лишь для точного следования заданной траектории, что нужно не так часто.

Положительная сторона DMP в том, что траектория представляет собой динамическую систему. Это позволяет делать очень простые вычисления, чтобы получить по-настоящему чистую производительность, например, на лету пространственно масштабировать траекторию, просто меняя цель, а не масштабируя всю траекторию:

https://studywolf.files.wordpress.com/2013/12/draw_3_scaling.gif

Рис.7.

Выводы

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

Преимущество DMP – в возможности обобщения, а – не в точном воспроизведении пути. Если есть сложная траектория, по которой должен следовать захват лишь однажды, то лучше просто интерполировать эту траекторию и подавать координаты в контроллер руки, а не проходить весь процесс настройки DMP.

Рисование слов – лишь пример использования DMP, очень простое приложение, которое на самом деле не отражает всю гибкость и мощь DMP. Другие примеры: игра в пинг-понг, обход препятствий, коэффициенты усиления PD-сигнала управления при манипулировании объектами. Есть тонна изящных способов применения DMP.

Здесь я не касался ритмических DMP или обучения с DMP, а это тоже действительно интересные темы. Но и без них, эта статья послужит приличным введением в область DMP, разработываемую последнее десятилетие в лаборатории Stefan Schaal.

Весь код находится на моём github.

 


Дата добавления: 2019-11-16; просмотров: 80; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!