Управление по замкнутому контуру с кватернионной обратной связью
По статьям: «Управление манипулятором по замкнутому контуру с кватернионной обратной связью» («Closed-loop manipulater control using quaternion feedback») (Yuan, 1988) и «Управление в операционном пространстве: теоретическое и эмпирическое сравнение» («Operational space control: A theoretical and empirical comparison») (Nakanishi et al, 2008).
Управление по замкнутому контуру – (closed-loop control) управление с обратной связью
Единственный метод, который не получилось реализовать так, чтобы он работал должным образом. Первоначально метод представлен у (Yuan, 1988), а затем изменён для представления угловой скорости в глобальных, а не локальных координатах у (Nakanishi et al, 2008).
Уравнения генерации ошибки (Nakanishi eq 72):
где и – это скалярные и векторные компоненты кватернионного представления захвата робота и целевой ориентации, соответственно, а S ( x ) определена в (Nakanishi eq 73), как:
Мой код такой:
Если Вы понимаете, почему он не работает, и можете предоставить пример рабочего кода в комментариях, я буду очень признателен.
Генерация полного сигнала управления ориентацией
Вышеуказанные шаги генерируют сигнал управления в пространстве задач, и далее используются просто стандартные методы управления в операционном пространстве, берётся u_task и преобразовывается в непосредственно крутящие моменты сочленений руки. Только предупрежу, что скорость учитывается в пространстве сочленений, а не в пространстве задач. Генерация полного управляющего сигнала выглядит следующим образом:
|
|
Скрипт управления c полным контекстом доступен на моём github вместе с соответствующей сценой VREP. Если загрузить и запустить их оба, установив репозиторий ABR Control, можно создавать забавные видеоролики, подобно этим:
https://studywolf.files.wordpress.com/2018/12/internet.gif
https://studywolf.files.wordpress.com/2018/12/caccavale_quat.gif
https://studywolf.files.wordpress.com/2018/12/caccavale_angleaxis.gif
https://studywolf.files.wordpress.com/2018/12/yuan_nakanishi.gif
Управление положением и ориентацией
Итак, Вы хотите использовать управление силой, чтобы контролировать положение и ориентацию? По большей части, это довольно просто, но есть несколько уловок, поэтому подробно опишу процесс здесь.
Сколько степеней свободы (DOF) можно контролировать?
Если помните, в статье о Якобианах был раздел, посвящённый анализу Якобиана. Он сводился к 2м основным пунктам:
1) Якобиан определяет, каким DOF в пространстве задач можно управлять. Например, если в нём имеется строка нулей, соответствующая DOF в пространстве задач (т.е. одна из ( x , y , z ,α,β,γ)) не может контролироваться.
2) Ранг Якобиана определяет, сколько DOF можно контролировать одновременно.
Пример, у плоской руки с 2мя сочленениями переменными ( x , y ,γ) управлять можно, а ( z ,α,β) нельзя, поскольку все соответствующие им строки являются нулями. Таким образом, потенциально могут контролироваться 3 переменные, но поскольку Якобиан имеет ранг =2, только 2 переменные могут контролироваться одновременно.
|
|
Если попытаться управлять более, чем 2мя степенями свободы, дела пойдут плохо. Вот пример управления 3мя и 2мя степенями свободы робота с 2мя суставами:
https://studywolf.files.wordpress.com/2018/11/toomanydof.gif
https://studywolf.files.wordpress.com/2018/11/toomanydof-not.gif
Дата добавления: 2019-11-16; просмотров: 115; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!