Управление по замкнутому контуру с кватернионной обратной связью



По статьям: «Управление манипулятором по замкнутому контуру с кватернионной обратной связью» («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; Мы поможем в написании вашей работы!

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






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