Содержание


  1. Что такое тензор и для чего он нужен?
  2. Векторные и тензорные операции. Ранги тензоров
  3. Криволинейные координаты
  4. Динамика точки в тензорном изложении
  5. Действия над тензорами и некоторые другие теоретические вопросы
  6. Кинематика свободного твердого тела. Природа угловой скорости
  7. Конечный поворот твердого тела. Свойства тензора поворота и способ его вычисления
  8. О свертках тензора Леви-Чивиты
  9. Вывод тензора угловой скорости через параметры конечного поворота. Применяем голову и Maxima
  10. Получаем вектор угловой скорости. Работаем над недочетами
  11. Ускорение точки тела при свободном движении. Угловое ускорение твердого тела
  12. Параметры Родрига-Гамильтона в кинематике твердого тела
  13. СКА Maxima в задачах преобразования тензорных выражений. Угловые скорость и ускорения в параметрах Родрига-Гамильтона
  14. Нестандартное введение в динамику твердого тела
  15. Движение несвободного твердого тела
  16. Свойства тензора инерции твердого тела
  17. Зарисовка о гайке Джанибекова
  18. Математическое моделирование эффекта Джанибекова


Введение



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


Рис.1. Углы Эйлера — параметры, знакомые каждому, кто занимался компьютерной графикой и моделированием пространственного движения тел. И каждый, кому они знакомы, знает, насколько проблематичным бывает их использование.


Обычно углы поворота используют совместно с декартовой системой координат, при этом говорят, что связанная система координат может быть совмещена с базовой путем трех последовательных поворотов вокруг её осей. При этом каждый следующий поворот осуществляется вокруг оси, полученной после предыдущего поворота. Кроме того, следующий поворот не должен происходить вокруг оси, относительно которой совершен предыдущий поворот. В связи с этим существует 12 различных комбинаций углов поворота, самыми известными из которых являются углы Эйлера (рисунок 1). Базовую систему координат поворачивают на угол image вокруг оси Z (угол прецессии), затем на угол image вокруг оси X (угол нутации), и снова вокруг оси Z на угол image (угол собственного вращения) до совмещения её со связанной системой координат.

Использование углов Эйлера всем хорошо — их число совпадает с числом вращательных степеней свободы твердого тела, а значит они не порождают избыточных уравнений связей. Но, даже не прибегая к громоздким формулам, по рисунку 1, можно догадаться, где кроется проблема.



image

Рис. 2. Знаменитые кинематические уравнения Эйлера. Я, в своё время, хлебнул с ними долгих и кропотливых отладок

Существует два значения угла нутации, при которых происходит вырождение кинематических уравнений Эйлера (рисунок 2) — image и image. Предположим, что угол нутации принял одно из этих значений — тогда угол прецессии и угол собственного вращения описывают поворот вокруг одной и той же оси Z и принципиально неразличимы друг от друга. При использовании кинематических уравнений Эйлера мы получаем ноль в знаменателе и NaN в фазовых координатах. Приплыли, процедура интегрирования рухнула.

Другой вариант углов поворота — самолетные углы: image — рыскание, image — тангаж и image — крен (рисунок 3).


Рис. 3. Самолетные углы — один из практических способов определения ориентации летательного аппарата в пространстве


Данные параметры поворота вырождаются при тангажах image, при этом неразличимы становятся крен и рыскание. Матерые симуляторщики знают, как сходит с ума КПП при выходе на крутые тангажи.

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

Однако, ещё великий Леонард Эйлер ввел в рассмотрение четыре параметра, которые не имеют вырождения. На его публикацию по этому поводу тогдашний научный мир особого внимания не обратил. Данная идея, независимо от Эйлера была развита Олидом Родригом, а в работах Уильяма Гамильтона получила окончательное теоретическое обоснование. Встречайте —

1. Кватернионы и действия над ними



Кватернионом называют число вида

image


где image называют компонентами кватерниона. Сами числа (1) образуют множество гиперкомплексных чисел image, включающее в себя все действительные image числа и множество комплексных чисел image. Математики эпохи, когда работал Гамильтон, уже знали о комплексных числах и о том, как построенные на их основе методы позволяют решать задачи планиметрии и естественным было желание расширить понятие комплексного числа для применения подобных методов к пространственным задачам. Проблема была в том, что добавление второй мнимой единицы не решало проблемы. Гамильтону пришла в голову мысль, что подобные расширенные комплексные числа могут быть не трех-, а четырехкомпонентными. Работая в этом направлении, в порыве вдохновения на одной из прогулок он вывел правило умножения таких чисел, что окончательно сложило мозаику новорожденной теории.

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

image


а их попарные произведения хорошо описываются диаграммой


Рис. 4. Диаграмма перемножения мнимых единиц в кватернионе


смысл которой прост — если перемножать пары мнимых единиц в порядке, указанном стрелкой, то получается третья мнимая единица со знаком "+". Если порядок перемножения изменить на противоположный — получится третья мнимая единица со знаком "-". Не напоминает правило векторного перемножения ортов в декартовых координатах? Это оно и есть, то есть мы получаем

image


Пользуясь этими правилами перемножим два кватерниона

image


Ого! Не слабо, но мы смело приводим подобные слагаемые

image


и, ну наверняка вы видите тут до боли знакомые действия над векторами. Пусть у нас будут заданы векторы

image


тогда каждый кватернион можно представить парой скаляр-вектор

image


а результат их умножения

image


Не трудно просто сравнить эту формулу с результатом умножения, которое мы выполнили, при этом считая мнимые единицы ортами декартова базиса. Таким образом, кватернионы включают в себя и векторы трехмерного пространства, и например, кватернионы вида image и image, будут скалярами, и их произведение эквивалентно произведению скалярных величин

image


А кватернионы вида image и image называются векторными кватернионами, и их произведение

image


дает скалярное, со знаком минус, и векторное произведение составляющих их векторов.

Из-за наличия в результате произведения векторного умножения, операция умножения кватернионов не коммутативна

image


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

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

image


о связанной с ним операции вычисления нормы

image


и операции вычисления обратного кватерниона

image


И ещё одно полезное свойство, касающееся сопряжения произведения кватернионов

image


Кроме того, норма обратного кватерниона — величина обратная норме исходного

image


Эти операции имеют непосредственное отношение к тому, для чего в наши дни используют гиперкомплексные числа

2. Кватернион как линейный оператор поворота



Теперь посмотрим на вот такой фокус. Пусть image — один кватернион, а image — другой кватернион. Докажем небольшую теорему

Преобразование вида image не меняет нормы кватерниона image.


Проверяется это утверждение прямым вычислением

image


Действительно, норма кватерниона не изменяет при подобном преобразовании. А если кватернион image будет векторным кватернионом, то не изменится норма вектора, которым он определяется. То есть описанное преобразование над вектором, не меняет его длины, оно будет ортогональным, или преобразованием поворота! Дело за малым — выяснить, вокруг какой оси и на какой угол происходит поворот, определяемый конкретным кватернионом. Для этого возьмем (нам ведь никто не мешает так сделать) и представим кватернион image в виде

image


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

image


Никто не мешает делать нам эквивалентных преобразований, вот мы и делаем их. Теперь введем замену

image


На каком основании? Да на том, что сумма квадратов этих величин всегда даст единицу, а если это так, то никто не мешает представить данные величины как синус и косинус некоторого угла. Почему угол делим на два? Нам так хочется, потом это нам пригодится, ведь угол можно взять произвольный. Исходя из введенной замены мы можем переписать кватернион в виде

image


Заметим, что вектор image, введенный нами, является единичным, так как

image


В довершении позволим себе ещё одно допущение — пусть кватернион будет единичным, то есть

image


Теперь аккуратно выполним ортогональное преобразование над векторным кватернионом image

image


Теперь умножим результат (2) на обратный кватернион

image


Для того чтобы не загромождать текст «крокодилами» вычислим отдельно скалярную

image


и векторную часть

image


результата преобразования. В конечном итоге, на основании формул (3) и (4), проведя не сложные тригонометрические упрощения, приходим к выводу, что на выходе получается некоторый вектор

image


Так это же… формула конечного поворота Родрига! Выходит, что преобразование

image


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

image


эквивалентно повороту вектора вокруг оси, задаваемой ортом image на угол image. Угол поворота и вектор, вокруг которого происходит вращение можно рассчитать по компонентам кватерниона, исходя из замен, введенных нами выше.

Выводы



Мы убедились, что единичный кватернион, компоненты которого построены по формулам

image


определяет конечный поворот. Четыре параметра, которые мы привели и есть те самые параметры Родрига-Гамильтона, которые однозначно определяют ориентацию твердого тела в пространстве и не вырождаются при любых параметрах вращения. Например, если мы обнулим угол поворота, то орт оси вращения так же станет равен нулю. При повороте на любой конечный угол мы всегда можем рассчитать положение оси поворота.

Что же, а за окном тем временем рассвело… План данной статьи был несколько иным, и мы ни слова не сказали о тензорах. Да оно и к лучшему, зато мы теперь имеем четкое представление о том, что за хитрые параметры ориентации будем использовать в дальнейшем.

Благодарю за внимание!

Продолжение следует...

Комментарии (10)


  1. schit
    26.07.2015 21:06

    Зачем, учебники перепечатывать?


    1. maisvendoo Автор
      26.07.2015 21:29
      +1

      Какой учебник я перепечатал?


  1. schit
    26.07.2015 22:44

    Извините, Вы не перепечатали, а слегка итерпетировали(собрали и обобщили),

    Могу сказать компетентно, как работающий 12 лет в ЦУПе — СУД.


    1. maisvendoo Автор
      26.07.2015 22:52
      +3

      Да, я листал учебное пособие Самарского аэрокосмического университета за авторством Асланова. Да, и стиль картинки углов поворота я взял оттуда, мне понравился толковый чертеж. Самолетные углы изобразил сам в том же стиле.

      Упражнение с вензором кватерниона взято у Асланова. Однако у него совершенно по другому, в менее общей форме показано сохранение нормы кватерниона при преобразовании поворота. У него так же просто утверждается, что данное преобразование вращает вектор по конусу вокруг орта входящего в вензор, однако совершенно не показано, как кватернионное преобразование сводится к формуле Родрига для вектора.

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

      P.S.: Кстати с Родригом сидел до пяти утра, из-за того, что неверно выписал «бац минус цаб» и получал лишь часть формулы Родрига…


  1. schit
    26.07.2015 23:22

    В 1974 году Борис Черток на НПО «Энергия» по системам управления движением(СУД) основным был, вся математика управления на основе кватернионов была еще, когда Асланов еще начинающим аспирантом ходил.


    1. maisvendoo Автор
      26.07.2015 23:28

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


      1. schit
        26.07.2015 23:50

        У Чертока были работы в МФТИ — может найдешь, по НПО Энергия все под грифом секретно, еще есть работы Симоньянца — это в МВТУ кафедра М2(кафедра Челомея), но там больше с бифуркацей управления движением.


  1. EugeneKalentev
    27.07.2015 09:29

    Не большое уточнение,

    Базовую систему координат поворачивают на угол image вокруг оси Z (угол прецессии), затем на угол image вокруг оси X (угол нутации), и снова вокруг оси Z на угол image (угол собственного вращения) до совмещения её со связанной системой координат.

    Это описание не соответствует рисунку 1.
    Так первый поворот на угол image (угол прецесси) вокруг оси z0, далее поворот на угол image (угол нутации) вокруг не обозначенной линии (так называемая линия узлов), затем поворот на угол image (угол собственного вращения) вокруг оси z1.
    Для наглядности


    1. maisvendoo Автор
      27.07.2015 09:35

      вокруг не обозначенной линии

      Эта не обозначенная линия есть положение оси X (да, линия узлов) после поворота по углу прецессии. Так что поворот происходит вокруг оси X, ведь не сказано что это X0?

      Я же, вроде бы написал, что

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


      И если получать матрицу поворота для эйлеровых углов, то она будет равна произведению матриц элементарных поворотов вокруг осей ZXZ


      1. maisvendoo Автор
        27.07.2015 09:47

        И в представленном Вами видео наглядно показано, что происходит поворот, на угол нутации, вокруг нового положения оси X