Это содержимое характерно для программного обеспечения Simscape™ Multibody™ First Generation. Функции первого поколения намечают, чтобы быть удержанными от использования и нужно избежать.
Вы представляете ориентацию тела Simscape Multibody путем определения ориентации ее системы координат центра тяжести (CS CG) оси относительно некоторого другого набора осей, или оси CS смежного тела или Мировые оси CS. Никакая переориентация не представлена “никаким вращением” или вращательной идентичностью.
Общее вращение тела в трех измерениях имеет три независимых степени свободы. Существует много эквивалентных и взаимозаменяемых способов представлять эти степени свободы. Тело и связанные блоки Датчика и RotationMatrix2VR Тела используют следующие представления. Страницы с описанием блока для этих блоков обсуждают специфичные для блока детали.
Представление угла оси вращения является самой основной формой. Задайте ось вращения n, затем вращайтесь правилом правой руки о той оси некоторым углом θ. Векторный n = (n x, n y, n z) является трехкомпонентным единичным вектором, где n·n = n x2 + n y2 + n z2 = 1. Ось n иногда называется eigenaxis.
Модели Simscape Multibody не делают прямое использование представления угла оси, но это - отправная точка для получения других форм. Это также используется экстенсивно в механических приложениях, таких как автоматизированное проектирование и робототехника.
Представление угла оси обычно пишется как с 4 векторами: [n x n y n z θ]. Из этих четырех чисел, три независимы, потому что n всегда имеет единичную длину. Остающаяся свобода в этом векторе позволяет вам задавать направление (два угла) и размер и смысл вращения вокруг той направленной оси (значение и знак θ).
Чтобы описать непрерывное вращение вовремя, обработайте n и θ как функции времени.
Кватернион представляет 3D вращение как четырехкомпонентный вектор - строку из единичной длины:
с q*q
= q v·qv + q s2 = 1. Это определение использует представление угла оси, заданное выше. Угол поворота приблизительно та ось является θ. Чтобы описать непрерывное вращение вовремя, обработайте n и θ как функции времени. В отличие от некоторых представлений вращения, кватернионы никогда не становятся сингулярными.
Представление угла оси также задает матрицу вращения R в экспоненциальной форме R = exp (θ n· J), где J k является действительными, антисимметричными матрицами и n· J = n xJ1 + n y J 2 + n z J 3. Матрица вращения R является ортогональной: RR T = R TR = I.
Матрицы J связаны с антисимметричным символом перестановки ɛijk.
Экспоненциальный R уменьшается до закрытой формы идентичностью Родрига:
где I является единичной матрицей и n·, J дают
Инверсия R идентична транспонировала R T. Можно также получить инверсию, заменив θ с θ или путем инвертирования направления n.
Чтобы описать непрерывное вращение вовремя, обработайте n и θ как функции времени.
Альтернативное представление для R должно вращать, по очереди, приблизительно три независимых оси, тремя независимыми Углами Эйлера. Полное вращение R, запускающийся в Мире, сочиняет путем умножения матриц последовательно слева:
BW R = R 3*R2*R1
Полное вращение R, запускающийся в CS тела, сочиняет путем умножения матриц последовательно справа:
WB R = R 1*R2*R3
Соглашение Угла Эйлера к
Вращайтесь об одной координатной оси тела (который вращает другие два).
Затем вращайтесь о второй координатной оси тела (вращаемый от ее первоначального направления) не идентичный первому.
Наконец, вращайтесь о другой координатной оси тела, не идентичной второму.
Таким образом существуют 3*2*2 = 12 возможных последовательностей вращения Угла Эйлера. Последовательности оси вращения Z-X-Z и Z-Y-X распространены. Углы поворота часто маркируются как θ1, θ2, θ3 или Φ, θ, Ψ как первые, вторые, и третьи углы, соответственно. Например,
BW R = R X (θ1) *R Y (θ2) *R Z (θ3)
WB R = R Z (Φ) *R X (θ) *R Z (Ψ)
Двумерное вращение вокруг фиксированной оси требует одного угла. Например, вращая x - и y - оси о z - ось Φ представлена
Чтобы описать непрерывное вращение вовремя, обработайте Углы Эйлера как функции времени. Представление Угла Эйлера сингулярно в определенных ограничивающих ситуациях. Такие особенности являются артефактами формы Угла Эйлера и не имеют никакого геометрического или физического значения.
Определенные блоки Simscape Multibody используют различные представления вращения.
Блок Body делает прямое использование Угла Эйлера, матрицы вращения и представлений кватерниона.
Блок Body Sensor использует матрицу вращения.
Блок RotationMatrix2VR использует матрицу вращения и формы угла оси.
Четыре представления вращения, представленные в этом разделе, эквивалентны. Можно представлять вращение одинаково хорошо с любым из них. Некоторые приложения, однако, имеют тенденцию способствовать одному представлению по другим, и определенные представления сингулярны в определенных пределах. Полезно знать, как преобразовать различные представления вращения друг в друга. Следующие сводные данные группируют формулы преобразования в одно место.
n единичного вектора оси вращения и угол поворота θ задают это представление, которое обсуждено подробно в Представлении Угла Оси. Это представление задает кватернион и матричные представления вращения:
Кватернион является векторно-скалярной парой, q
= [q по сравнению с q s], заданный Представлением Кватерниона. Можно восстановить представление угла оси от компонентов кватерниона:
Можно также создать эквивалентную матрицу вращения R из q.
Термин является векторным произведением q v с собой, 3х3 матрицей q v компоненты, умноженные друг на друга.
Матрица вращения R является ортогональной 3х3 матрицей: RR T = R TR = I, заданный в Матричном Представлении вращения. Можно инвертировать матричное представление вращения, чтобы получить эквивалентные представления для кватерниона q
= [q по сравнению с q s] и угол оси (n, θ)
TR трассировки матрицы является суммой своих диагональных элементов.
Матрицы J составляют с 3 векторами из матриц, заданных антисимметричным символом перестановки, (J j) ik = ɛijk. Смотрите Символ Перестановки и Векторное Векторное произведение для получения дополнительной информации.
Блок RotationMatrix2VR преобразовывает матрицу вращения в представление угла оси.
Представление Угла Эйлера вращения, заданного Представлением Угла Эйлера, выделяется от других трех, поскольку вы не можете вывести его от представления угла оси. Это зависит от выбора последовательности оси вращения, которая генерирует соглашения повторного определения. Представление Угла Эйлера, в определенных пределах, может также быть сингулярным. Соблюдите осторожность с выражениями Угла Эйлера.
Если вы выбираете соглашение и три угла, то вычисляете R, можно преобразовать R в другие представления при помощи Преобразования Матричного Представления Вращения выше. Но, учитывая девять компонентов R, необходимо найти Углы Эйлера путем инвертирования девяти уравнений, которые следуют из этого матричного уравнения. (Только три уравнения этих девяти независимы.) В некоторых случаях углы могут быть считаны из R контролем.
Например, выберите вращения относительно триады системы координат (CS) Тела, в обычно используемой последовательности оси вращения Z-X-Z, с Φ, θ, Ψ как соответствующие углы. Матрица вращения является WB R = R 1 (Φ) *R 2 (θ) *R 3 (Ψ),
В этом соглашении можно считать θ из R 33 компонента, затем найти Ψ от R 32 или R 31 компонент. Получите Φ из одного из других компонентов, с помощью cos2Φ + sin2Φ = 1, или путем умножения справа R 3ΨT, затем R 2θT. Второй метод приводит к уникальному решению для синуса и косинуса Φ.
Матрица вращения R задана в Представлениях Матричного Представления Движения и Вращения Тела.
Угловой вектор скорости ω является уровнем, на котором вращается вращающийся CS. R и антисимметричная матрица Ω задают ω:
Можно также выразить угловую скорость с точки зрения Углов Эйлера путем выбора определенного набора углов, чтобы представлять R. Смотрите Представление Угла Эйлера и Преобразование Представления Угла Эйлера.
Производная кватерниона также связана с угловой скоростью: