Применение нетрадиционных (ненормированных) кватернионов для управления ориентацией твердого тела.
Автор: В.В. Цисарж, Р.И. Марусик
Ненормированные кватернионы
Обобщенная функция
Пример математического моделирования управления ориентацией твердого тела
Ненормированные кватернионы
Эта статья является 17-м параграфом 19-й главы книги «Математические методы компьютерной графики», авторами которой являются В.В. Цисарж и Р.И. Марусик.
В данном параграфе рассматривается вопрос использования нетрадиционных (ненормированных) кватернионов на примере решения задач пространственной ориентации твердого тела, а также устанавливается их связь с традиционными кватернионами (с параметрами Родрига-Гамильтона), которые в настоящее время широко используются в игровой индустрии, а также для решения различных задач пространственной угловой ориентации твердого тела.
Заметим, что в задачах управления пространственной ориентацией твердого тела (ТТ) широкое применение находят классические нормированные кватернионы вращения вида:
L = l0 + l,
(9.1)
где l0 - скалярная часть, l - векторная часть кватерниона L, причём l0=cos(f/2), l=lk - трехмерный вектор вращения с модулем |l|=l=sin(f/2), k - орт Эйлеровой оси конечного вращения (поворота) ТТ на угол f из диапазона 0<=f<=2p. Скалярный параметр l0 и три координаты ln (n=1,3), вектора l определяют конечное вращение или пространственную ориентацию ортов jn некоторого подвижного базиса J, связанного с ТТ, относительно некоторого опорного (неподвижного) ортонормированного координатного базиса I с ортами in и началом, совпадающим с началом базиса J. Параметры lm (m=0,3) называют преимущественно в англоязычной литературе параметрами Эйлера, а в русскоязычной литературе - параметрами Родрига-Гамильтона. Эти параметры связаны условием нормировки
||L||=l02+l12+l22+l32=1,
(9.2)
где ||L|| - норма кватерниона L.
При этом модуль кватерниона L также равен единице, т.е. |L|=(||L||)1/2=1.
Кинематические дифференциальные уравнения для используемых в задачах ориентации ТТ собственных параметров Родрига-Гамильтона как функций времени t могут быть представлены в скалярно - векторной записи
(9.3)
где w=w(t) - вектор мгновенной угловой скорости вращения ТТ или базиса J, как векторная функция времени t; (l∙w), lxw - соответственно скалярное и векторное произведения векторов l, w; l' - локальная производная вектора l по времени t в базисе J.
Уравнения (19.3) могут быть переписаны в виде одного линейного кватернионного дифференциального уравнения
L'=1/2 (L · W),
(9.4)
где знак (·) - знак кватернионного умножения, W=W(t)=(0+w) - кватернион угловой скорости.
При решении проблем управления ориентацией ТТ особый интерес представляет задача управления трехосной ориентацией, в результате решения которой тело должно быть переведено из любого начального пространственного положения в конечное положение устойчивого равновесия, определяемого условиями:
а) f=0; w=0; б) f=2p; w=0;
(9.5)
где w=|w| - модуль вектора w угловой скорости.
Следует отметить, что для решения этой задачи может быть применен прямой (второй) метод Ляпунова, использующий определенно положительные функции Ляпунова.
В ряде работ рассматриваются соответственно определенно положительные функции вида:
2V1=c [ (l02-1)2+l12+l22+l32]+(J*w · J*w), (c>0)
(9.6)
V2=(1-l02)+w · J*w=1/2[ (l02-1)2+l12+l22+l32]+w · J*w,
(9.7)
2V3=4a(1-l0)+(w · J*w), (a>0),
(9.8)
где J* - оператор инерции твердого тела.
При этом параметры lm считаются функциями времени, т.е. lm=lm(t), и в качестве дифференциальных уравнений возмущенного движения при условиях равновесия (9.5) используются кинематические уравнения (9.3) или (9.4) и динамические уравнения Эйле-ра.
Функции (9.6) - (9.8) в этих работах называются функциями Ляпунова при соответствующем выборе управлений, но не оговаривается в пространствах каких переменных эти функции определены.
Из теории устойчивости движения известно, что любая определенно положительная функция Ляпунова V(x1, ..., xe), заданная в пространстве переменных x1, ..., xe, должна обращаться в нуль для любого момента времени t только в том случае, когда x1=...=xe=0, т.е. должно выполняться необходимое условие
V(0, ..., 0)=0
(9.9)
При этом дифференциальные уравнения возмущенного движения должны записываться в переменных x1, ..., xe.
В связи с необходимостью выполнения условия (9.9) приведенные примеры (9.6 ) - (9.8) не могут рассматриваться, строго говоря, как “кватернионные” функции Ляпунова, определенные в пространстве кватернионных параметров lm (как компонент кватерниона L или соответственно параметров lm, wn. В положениях равновесия (9.5) при l1=l2=l3=0 параметр l0 не может быть равен нулю (9.2) и, следовательно, не будет выполнено условие (9.9).
Рассмотрим далее использование новых (нетрадиционных) ненормированных кватернионов вращения, на основе компонент которых можно было бы строить кватернионные функции Ляпунова, удовлетворяющие условию (9.9) в положениях равновесия (9.5).
Для этого введем в рассмотрение обобщенный ненормированный кватернион вращения следующего вида
X=x0+x=Xf L,
(9.10)
где L - нормированный кватернион (9.1), Xf=|X| - модуль кватерниона X(|X|!=1) как произвольная скалярная функция угла вращения, т.е.
Xf = X(f) = (x02+x12+x22+x32)1/2.
(9.11)
Здесь xn(n=1,3) - координаты произвольного вектора вращения x в базисе J.
Скаляр x0 и вектор x кватерниона (9.11) определяются соотношениями
x0(f)=x0=Xf l0, x=Xf l=xf k,
(9.12)
где xf=|x| - модуль вектора x, причем xf=Xf l.
Из этих соотношений находим модуль Xf:
(9.13)
Тогда скалярный параметр x0 и модуль xf вектора x оказываются взаимосвязанными следующими аналитическими соотношениями:
(9.14)
(9.15)
Норма ||X|| кватерниона X определяется как квадрат модуля Xf:
(9.16)
Из (9.10) следует обратное соотношение
(9.17)
другими словами, нормированный кватернион (9.1) может быть получен из любого ненормированного кватерниона X (при Xf != 0) в результате его нормировки (деления на модуль ненормированного кватерниона).
Из выражений (9.13) - (9.15) следует, что любая из функций Xf, x0, xf может быть выбрана произвольно, а остальные две функции определяются через выбранную функцию однозначно. Следовательно, однозначно может быть определен из (9.10) конкретный ненормированный кватернион вращения.
Соотношение (9.10) совместно c (9.13) - (9.15) определяют множество новых ненормированных кватернионов вращения, принципиальное отличие которых от классических нормированных кватернионов вида (9.1) в том, что их нормы не постоянны и являются некоторыми функциями угла вращения, который, в свою очередь, может быть функцией времени t, т.е. f=f(t).
Параметр x0 и три координаты xn вектора x в базисе J будут определять множества новых кватернионных параметров xm (m=0,3) ориентации ТТ, существенно отличающихся от параметров lm Эйлера или Родрига - Гамильтона в зависимости от выбора конкретных функций Xf, x0 или xf.
С точки зрения построения определенно положительных функций Ляпунова для задач управления ориентацией ТТ будут представлять особый интерес ненормированные кватернионы, получаемые из (9.10), с модулями, обращающимися в нуль при f=0 или f=2p (т.е. в положениях равновесия (9.5)).
Примерами таких кватернионов могут служить два ненормированных кватерниона Q и P следующего вида:
Q=q0+q=Qf L,
(9.18)
где
Отметим, что модуль Qf кватерниона Q, модуль qf вектора q и параметр q0 обращаются в нуль при f=0, а модуль P[symbol f] кватерниона P, модуль p[symbol f] вектора p и параметр p0 обращаются в нуль при f=2p.
Кинематические дифференциальные уравнения для обобщенного собственного кватерниона X могут быть легко получены в скалярно - векторном виде (аналогичном виду уравнений (9.3) на основе обобщенного векторного кинематического уравнения
(9.22)
это локальная производная вектора x=x(t) в базисе J,
Вводя в уравнении (9.22) замену (9.14), получаем обобщенное дифференциальное уравнение для векторной части собственного кватерниона (9.10)
(9.23)
где
(9.24)
Обобщенное дифференциальное кинематическое уравнение для скалярного параметра x0 получаем в результате дифференцирования по времени функции (9.14)
(9.25)
Совокупность нелинейных уравнений (9.23), (9.25) может быть представлена в виде одного обобщенного нелинейного кватернионного уравнения следующего вида
(9.26)
где W*=w0+w, w0=2dx(x · w), W —кватернион угловой скорости в (9.4).
В частном случае, например, когда xf=l=sin(f/2), из (2.15) получаем dx=0 и из уравнений (9.23) - (9.26) следуют классические линейные уравнения (9.3) или (9.4).
Для приведенных примеров (9.18), (9.20) новых ненормированных кватернионов кинематические дифференциальные уравнения получаем, исходя из обобщенных уравнений (9.23), (9.25), соответственно в виде
a)
(9.27)
(9.28)
где
б)
(9.29)
(9.30)
где
(9.31)
Система уравнений (9.27) - (9.30) допускает, очевидно, первый интеграл с учетом (9.19) и (9.21)
Qf+Pf=½.
(9.32)
Далее, используя обобщенный ненормированный кватернион (9.10), введем в рассмотрение кватернионную определенно положительную функцию общего вида
V(X, w)=V=Vx+Vw ,
(9.33)
где
(9.34)
||X|| — норма (9.16) кватерниона (9.10), а слагаемое Vw определяется, например, как скалярное произведение векторов в функции (9.8).
(9.35)
Заметим, что функция V(X,w) должна допускать так же бесконечно малый высший предел. Будем полагать, что удовлетворяется условие (9.9) для функции
Vx=V(x0, x1, x2, x3).
(9.36)
Производную по времени находим в виде:
(9.37)
где
Далее для производной
используем выражение
и в результате из (9.37), получим
(9.38)
Производную находим из (9.35) в результате дифференцирования и последующего использования известных динамических уравнений Эйлера
(9.39)
где вектор u будем рассматривать как некоторый произвольный вектор управляющего момента.
Суммируя (9.38), (9.39), получаем
(9.40)
где
(9.41)
Далее выберем в (9.41) обобщенное представление вектора u в следующей форме:
u=Dw -a Xf X'f k
(9.42)
или, учитывая (9.12), в виде
(9.43)
где D - симметрический оператор.
Тогда из (9.40) получаем
(9.44)
17 апреля 2004 (Обновление: 12 июня 2009)