Создание PD-контроллера в пространстве сочленений

ROBOT CONTROL

3. Учёт массы и гравитации

https://studywolf.wordpress.com/2013/09/07/robot-control-3-accounting-for-mass-and-gravity/

 

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

В целом, однако, масса и гравитация должны быть учтены и исключены.

Полная динамикаруки робота:

где

 – угловое ускорение сустава,

 – управляющий сигнал (определяет силу),

–функция описывает силы Кориолиса (Coriolis)и центробежные(centrifugal effects),

 – влияние гравитации в пространстве сочленений,

 – матрица масс системы в пространстве сочленений.

 

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

Учёт инерции

Тот факт, что у системы есть масса, является трудностью для нашего контроллера, внося инерцию в движение нашей системы. Масса может рассматриваться как нежелание объекта реагировать на приложенные силы. Чем тяжелее что-то, тем более оно устойчиво к ускорению, и сила, необходимая для перемещения системы по желаемой траектории, зависит как от массы объекта, так и от его текущего ускорения.

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

Учитывая приведенную выше руку робота, работающую на плоскости ( x , z ), с осью y перпендикулярной изображению, где жёлтые кружки представляют каждую точку центра масс (COM) (centre-of-mass). Положение COM каждого звена определяется относительно системы отсчёта этого звена. Цель в том, чтобы выяснить, насколько масса каждого звена повлияет на динамику системы.

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

Пусть позиции COM относительно системы координат каждого звена будут:

COM 1го звена уже находится в базовых координатах (т.к. 1е звено и база в 1й системе координат), поэтому всё, что требуется – это положение COM 2го звена в базовой системе координат. Это можно сделать с помощью матрицы преобразования:

 

Использование  для преобразования  даёт:

Чтобы увидеть полное вычисление, выведенное явно, смотрите предыдущий пост.

 

Теперь, когда у нас есть положения COM в терминах углов соединений, можно найти Якобианы каждой точки с помощью уравнения Якобиана:

Использование его для каждого звена даёт нам:

 

Кинетическая энергия

Полная энергия системы (total energy) может быть рассчитана как сумма энергии, поступающей от каждого источника. Только что полученные Якобианы будут использованы для расчета кинетической энергии, создаваемой каждым звеном во время движения. Кинетическая энергия каждого звена будет рассчитываться и суммироваться для получения полной энергии, вводимой в систему, по массе и конфигурации каждого звена. Кинетическая энергия (KE) составляет половину массы, умноженной на квадрат скорости:

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

А матрица масс имеет следующую структуру:

где mi – элементы массы COMi, а элементы Iijмоменты инерции, которые определяют сопротивление объекта изменению угловой скорости относительно осей, так же, как элементы массы определяет сопротивление объекта изменению линейной скорости.

Как упоминалось выше, матрица масс для СОМ каждого звена определяется в декартовых координатах в системе отсчёта соответствующего звена руки. Однако влияние массы необходимо найти в пространстве углов соединений, потому что именно там работает контроллер. Рассматривая суммирование KE, представленное каждым COM:

и подставим в

И переместим члены  за скобки суммирования:

Определим:

что даёт:

это есть уравнение для вычисления кинетической энергии в пространстве сочленений. Поэтому, M (q) обозначает матрицу инерции в пространстве сочленений.

 

Теперь мы успешно вычислили матрицу масс системы в пространстве суставов и можем объединить всё это в наш управляющий сигнал и подавить влияния на динамику системы.

Учёт гравитации

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

Хотя влияние гравитации в пространстве суставов не очевидно, но его легко определить в декартовых координатах в базовой системе координат. Здесь работа, проделанная гравитацией, является просто суммой расстояний, на которые переместятся центры масс каждого звена, умноженные на силу тяжести. Если сила гравитации в декартовом пространстве – это масса объекта, умноженная на -9.8 м/с вдоль оси z, уравнение для работы, выполненной гравитацией, записывается так:

где  – сила тяжести i-го звена руки. Из-за сохранения энергии выражение работы эквивалентно при расчёте в пространстве сочленений, подставляя в вышеприведенное уравнение выражение работы:

и затем подставим

Сократим члены  с обеих сторон уравнения:

Говорим, что для нахождения влияния гравитации в пространстве суставов просто умножьте массу каждого звена на его Якобиан, умножьте на силу притяжения в пространстве ( x , y , z ) и просуммируйте по каждому звену. Это суммирование даст общее влияние гравитации на систему.

 

Теперь можно учесть энергию в системе, вызванную инерцией и гравитацией, отлично!

Создание PD-контроллера в пространстве сочленений

Давайте использовать все знания для создания простого PD-контроллера в пространстве суставов. Управление должно быть простым и ясным, потому что, как только эффекты гравитации и инерции устраняются, можно притворяться, что система ведёт себя почти линейно. Это означает, что также возможно управление каждым суставом независимо, т.к. их движения больше не влияют друг на друга. Таким образом, в нашей системе управления возможен отдельный PD-контроллер для каждого сочленения.

Вышеупомянутая нелинейность, что остаётся в динамике системы, обусловлена эффектом Кориолиса и центробежной силы. Для модели матрицы масс у реальных роботов трудно точно зафиксировать величины моментов инерции. Часто величины модели для робота выбираются из САПР, а затем вручную выполняется тонкая настройка. Их можно учесть, но если моменты инерции неверны, контроллер может внести нестабильность в систему, поэтому лучше просто их не устранять. Т.к. они будут не учтены в нашем контрольном сигнале, большую часть времени, пока цикл обратной связи очень короткий, всё будет хорошо.

Переписав динамику системы, представленную в самом верху, с точки зрения ускорения получаем:

В идеале управляющий сигнал должен быть построен

где  – желаемое ускорение системы. Это приведет к уравнению ускорения системы:

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

Используя стандартную формулу PD-управления, получаем желаемое ускорение:

где  и  – значения усиления, и управляющий сигнал полностью определен:

Мы успешно создали эффективный PD-контроллер в пространстве сочленений.

Выводы

Здесь рассмотрено создание PD-контроллера, который работает в пространстве сочленений руки робота, который может нейтрализовать эффекты инерции и гравитации. Устраняя эффекты инерции, можно независимо управлять каждым суставом, эффективно ортогонализируя их контроль, что делает PD-управление очень простым.

Также важно то, что все необходимые вычисления могут быть выполнены с помощью алгоритмов линейной сложности, т.ч. нет проблемы делать все вычисления быстро.

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


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

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




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