Есть ли формула для вектора вращения через вектор угловой скорости?

Теорема Эйлера о вращениях утверждает, что любое движение твердого тела с одной фиксированной точкой эквивалентно вращению вокруг некоторой оси, проходящей через эту фиксированную точку. Итак, давайте рассмотрим твердое тело с одной фиксированной точкой и в любой момент времени т позволять α ( т ) обозначают «вектор вращения» вращения, соответствующего движению твердого тела между временем т 0 и время т . Для тех, кто не знает, вектор вращения вращения — это вектор, величина которого равна углу вращения и который указывает вдоль оси вращения; см. эту статью в Википедии .

Теперь из-за некоммутативности вращения угловая скорость ю ( т ) в общем случае не равна производной по времени от α ( т ) как можно было бы интуитивно ожидать. Отношения между ними значительно сложнее:

ю "=" α ˙ 1 потому что α α 2 ( α × α ˙ ) + α грех α α 3 ( α × ( α × α ˙ ) )

Теперь это формула для вектора угловой скорости через вектор вращения и его производную по времени. Но мой вопрос: есть ли формула для вектора вращения через вектор угловой скорости? То есть, если бы вы знали, что ю ( т ) был на все времена т , можно ли вычислить, что α ( т ) для любого заданного значения значения т .

Если бы вращения были коммутативными, конечно, вы могли бы просто интегрировать ю ( т ) от т 0 к т . Но это не так, поэтому может потребоваться что-то более сложное. У меня была одна мысль, что в моем вопросе и ответе здесь я дал формулу для композиции двух векторов вращения. Итак, что вы можете сделать, это для каждого бесконечно малого интервала времени [ т , т + д т ] , вы можете взять вектор вращения движения твердого тела в течение этого интервала времени, который определяется выражением ю ( т )   д т (как вы можете видеть здесь ). И тогда в принципе можно было бы составить все эти бесконечно много ю ( т )   д т вместе. Но кто-нибудь знает, как это будет работать?

РЕДАКТИРОВАТЬ: Чтобы быть ясным, я хочу явное выражение для вектора вращения с точки зрения вектора угловой скорости, которое не ссылается на матрицы. Если бы кто-то хотел использовать матрицы, можно было бы преобразовать вектор угловой скорости в кососимметричную матрицу, использовать упорядоченную по времени экспоненту, чтобы получить матрицу вращения, использовать логарифмическую карту , чтобы получить кососимметричную матрицу, соответствующую α , а затем преобразовать его в вектор вращения. Но это не то, что я ищу; Я хочу формулу полностью с точки зрения векторных операций.

Есть причина, по которой люди используют кватернионы вместо векторов вращения.
@ ja72 Да, я знаю, что в этом отношении квотернионы имеют преимущества перед векторами вращения. Но я хочу посмотреть, сможем ли мы получить формулу для вектора вращения.
Обратите внимание, что упомянутая антисимметричная матрица 3 × 3 имеет вид
[ ( Икс у г ) × ] "=" [ 0 г у г 0 Икс у Икс 0 ]
если вы не хотите использовать тензорную нотацию для перекрестных произведений (как в статье). Вышеупомянутое дает
[ а × ] б а × б
@ ja72 Да, я знаю об этом. Какова твоя точка зрения?
Тензоры вызывают у меня головную боль. Я лучше разбираюсь в линейной алгебре, поэтому я думал, что будут и другие. Пытаюсь помочь.
@ ja72 Спасибо, я просто не понимаю, какое отношение это имеет к моему вопросу. Вы пытаетесь перевести векторное уравнение в моем вопросе в матричное уравнение?
Да, я перевожу в векторно-матричное уравнение.
К вашему сведению, формула, которую вы цитируете, является вариацией хорошо известной формулы Родригеса для С О ( 3 ) , который вы можете найти в конце моего ответа здесь , после того, как вы упростили выражение α × ( α × α ˙ ) со стандартными формулами тройного продукта
Приведенную формулу также можно записать в «более простом» виде, используя α "=" θ н , с θ величина α и н единичный вектор, указывающий в том же направлении, что и α . В этом случае угловая скорость также может быть записана как ю "=" θ ˙ н + грех θ н ˙ + ( 1 потому что θ ) н × н ˙ . Но это не поможет ответить на ваш вопрос, просто подумал, что вы можете найти это актуальным.
@fibonatic Спасибо, я этого не знал.

Ответы (4)

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

Давайте определим α ( т 0 , т ) как α ( т ) из вопроса, связанного с данным т 0 . Мы отождествляем вектор вращения с самим вращением. Для т я "=" т 0 + я   д т и т "=" т 0 + н   д т , имеем простой композицией последовательных вращений

α ( т 0 , т ) "=" я "=" н 1 0 α ( т я , т я + 1 ) .
Из этого вопроса/ответа мы знаем , что 2 α ( т , т ) "=" ю ( т ) для всех т . С использованием α ( т , т + д т ) "=" я + 2 α ( т , т )   д т + о ( д т ) "=" я + ю ( т )   д т + о ( д т ) , у нас есть
α ( т 0 , т ) "=" я "=" н 1 0 я + ю ( т я )   д т + о ( д т ) .
Это обеспечивает, кстати, численный метод выражения α с точки зрения ю .

В особом случае, когда все эти вращения коммутируют (пример общей оси), предел экспоненциальный: берется логарифм и предел, когда д т 0 , у нас есть

бревно ( α ( т 0 , т ) ) "=" я "=" н 1 0 ю ( т я )   д т + о ( д т ) т 0 т ю ( с )   д с ,
следовательно
α ( т 0 , т ) "=" опыт ( т 0 т ю ( с )   д с ) .

В общем некоммутативном случае журнал будет включать скобки Ли, начинающиеся с д т 2 [ ю ( т я ) ,   ю ( т Дж ) ] (ср. формулу Дынкина), и, кажется, требуется еще некоторое мужество.

РЕДАКТИРОВАТЬ: согласно приведенному ниже комментарию Кешава Шринивасана, приведенное выше выражение становится в общем некоммутативном случае

α ( т 0 , т ) "=" ОЕ [ ю ] ( т 0 , т ) "=" Т { е т 0 т ю ( с ) д с } ,
см. Упорядоченная экспонента для определения ОЕ [ ю ] ( т ) . Хотя это не точный ответ на вопрос, поскольку он включает матрицы вращения вместо требуемых векторов вращения.

Вы упускаете одну вещь: композиция векторов оси-угла не является простым произведением. Скорее это дается формулой, описанной в моем вопросе и ответе здесь: физика . ; в таком случае мы могли бы использовать упорядоченную по времени экспоненту, описанную в этой статье Википедии , а также ряд Дайсона .
Я не вижу, что я упускаю: поскольку я написал это («Мы отождествляем вектор вращения с самим вращением»), я использую не композицию векторов оси-угла, а композицию вращений (элементы группы С О ( 3 ) ). Можно свободно использовать любую форму, которая является наиболее удобной, вектор вращения или матрицу вращения, важен только результат. Вы видите что-то неправильное в формуле первого состава, дающей α ( т 0 , т ) ? Я не понимаю вашего последнего замечания, разве нахождение матрицы вращения не эквивалентно нахождению вектора вращения?
Weill, я хочу явную формулу для вектора вращения в терминах вектора угловой скорости, я не хочу преобразовывать, чтобы преобразовывать в матрицу вращения и преобразовывать обратно.
Я так и не понял вашей мысли, элементарно извлечь вектор вращения из матрицы вращения и наоборот.
Ну, посмотрите на формулу, приведенную на мой вопрос, она связывает вектор угловой скорости и вектор вращения без упоминания матриц вообще. Именно такую ​​формулу я и ищу.
В любом случае проблема, которую вы пытаетесь решить в своем ответе, уже решена; см. две статьи Википедии, на которые есть ссылки в моем предыдущем комментарии.
Но в таком случае разве ваша проблема не решена? Я имею в виду, что по модулю изменения переменного вектора вращения / матрицы вращения вы дали ответ на свою проблему. Похоже, мы расщепляем волосы.
Что ж, если вы сможете перевести экспоненциальную зависимость во времени в формулу, полностью основанную на векторах, а не на матрицах, это будет удовлетворительным ответом на мой вопрос.
Хорошо, я добавил редактирование в свой ответ, чтобы прояснить это (надеюсь, что это так) - Приложение: вы не были бы счастливы, если бы ю ( т ) выше было заменено матрицей ( ю ( т ) ) ? Просто маленькая шутка, если позволите...
Если кому-то когда-нибудь будет интересно, я удалил этот ответ несколько дней назад, думая, что произошла ошибка, но, наконец, я думаю, что все в порядке (хотя он не соответствует последнему требованию из части вопроса EDIT), поэтому я восстановил его.

Я полностью согласен с пользователем ja72, чтобы отказаться от векторной записи и теоретически работать с ложью. Были представлены α и ю как 3 × 3 кососимметричные матрицы в алгебре Ли с о ( 3 ) ; тогда полный оборот равен 3 × 3 матрица ортогонального вращения опыт ( α ( т ) ) а мгновенная угловая скорость равна ю "=" д т ( е α ( т ) опыт ( α ( т + т ) ) | т "=" 0 . Как матрицы, α и ю представлять действия перекрестных произведений в векторной записи: это то, что ja72 имеет в виду в своем комментарии:

Обратите внимание, что упомянутая антисимметричная матрица 3 × 3 имеет вид [ ( Икс у г ) × ] "=" [ 0 г у г 0 Икс у Икс 0 ] если вы не хотите использовать тензорную нотацию для перекрестных произведений (как в статье). Вышеупомянутое дает [ а × ] б а × б

Мы можем делать то, что вы хотите, используя общую формулу для производной члена группы Ли ю "=" д т ( е α ( т ) опыт ( α ( т + т ) ) | т "=" 0 это сформулировано и доказано как теорема 1.5 в разделе 1.2 Россмана «Группы Ли: введение через линейные группы»:

ю ( т ) "=" к "=" 0 ( 1 ) к а д ( α ( т ) ) к ( к + 1 ) ! α ˙ ( т )

Обозначение а д ( α ( т ) ) к α ˙ ( т ) означает повторение отображения скобки Ли α ˙ [ α , α ˙ ] для к итерации.

Поскольку оператор:

к "=" 0 ( 1 ) к а д ( α ( т ) ) к ( к + 1 ) !

является тождественным оператором в т "=" 0 (когда не было ротации и опыт ( α ( т ) ) "=" я д ) и поскольку его определитель является непрерывной функцией т , существует некоторый ненулевой интервал времени [ 0 , ϵ ] в котором оператор может быть инвертирован. Итак, если вам дано ю ( т ) то для некоторого ненулевого интервала времени вы можете интегрировать (возможно, численно):

α ˙ ( т ) "=" ( к "=" 0 ( 1 ) к а д ( α ( т ) ) к ( к + 1 ) ! ) 1 ю ( т )

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

Если вы хотите работать с матрицами, это может помочь: вы можете найти матрицу вращения с точки зрения матрицы угловой скорости, используя экспоненту, упорядоченную по времени: en.wikipedia.org/wiki/Ordered_exponential И затем вы просто берете журнал матрицы вращения, чтобы получить α матрица.
@KeshavSrinivasan Это эквивалентная процедура - использование серии Peano-Baker (называемой серией Dyson в физике элементарных частиц) является другой. Описанный выше метод особенно хорошо подходит для простой интеграции DE. Действительно, инвертированная матрица представляет собой упорядоченный по времени интеграл логарифмической функции.
В любом случае экспонента с упорядоченным временем, серия Дайсона и ваш подход - это не совсем то, что я ищу в ответе. Мне нужна явная формула для вектора вращения в терминах углового вектора таким образом, чтобы не ссылаться на матрицы. (Хотя можно использовать матрицы при выводе, как это делает Ашер Перес при выводе формулы в моем вопросе.)
@KeshavSrinivasan Тогда вы должны явно указать это требование в своем вопросе.
@KeshavSrinivasan Более того, чтобы преобразовать приведенное выше в векторную формулу, вы найдете ряд Тейлора для обратной матрицы с точки зрения степеней а д ( α ) а затем обратите внимание, что а д ( α ) к ю поскольку матричное выражение эквивалентно 2 к α × ( α × ( α × ю ) ) с к перекрестные произведения. Таким образом, у вас будет бесконечный ряд, который можно упростить до линейной комбинации ю , α и α × ю за счет многократного использования формулы тройного продукта

Ответ имеет большое значение для навигационного сообщества. После этой статьи «вектор вращения» иногда называют «вектором Борца». , которая привлекла внимание к этой конкретной проблеме, а результат вывода повторен ниже.

Использование обозначений α как вектор вращения, θ "=" | α | как величина вектора вращения, × векторное перекрестное произведение и ю как угловая скорость тела по отношению к инерциальному пространству, разрешенная в рамке тела (то есть то, что будет измерять гироскоп):

α ˙ "=" ю + 1 2 α × ю + 1 θ 2 [ 1 θ грех θ 2 ( 1 потому что θ ) ] α × ( α × ю ) θ ± н π , н "=" 1 , 2 , 3 , . . .

Шустер подробно описывает несколько способов вывода этого уравнения.

Для практического применения уравнения см. главу 3.4 Кима , который использует его для получения инерциальной навигационной петли.

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

Борц, Дж., «Новая математическая формулировка бесплатформенной инерциальной навигации», IEEE Transactions on Aerospace and Electronic Systems, 1971, vol7, p61-66.

Шустер, М. «Кинематическое уравнение для вектора вращения», IEEE Transactions on Aerospace and Electronic Systems, 1993, том 29, стр. 263-267.

Ким, Дж. «Автономная навигация для бортовых приложений», докторская диссертация, Сиднейский университет, 2004 г.

Этот вектор оси угла θ "=" θ е ^ имеет производную, основанную на цепном правиле

θ ˙ "=" θ ˙ е ^ + θ е ^ ˙ "=" θ ˙ е ^ + θ ю × е ^

Так что у вас есть это

ю × е ^ "=" θ ˙ θ ˙ е ^ θ

Но что такое θ ˙ ? Вы найдете его с

θ ˙ "=" е ^ θ ˙

Итак, теперь у вас есть это выражение

ю × θ "=" θ ˙ е ^ ( е ^ θ ˙ )

...Это то, что я сделал...