Можно измерять поворот рамки в различных форматах. К ним относятся угол оси, кватернион и преобразование. Различные форматы доступны через блок Transform Sensor и, в ограниченной степени, в блоках соединения [1]. Выбор формата измерения зависит от модели. Выберите наиболее удобный для приложения формат.
Поворот - относительная величина. Поворот одного кадра имеет значение только по отношению к другому кадру. Таким образом, блоки с возможностью измерения поворота требуют двух кадров для выполнения измерения: измеренных и опорных кадров. В этих блоках порт кадра толкателя идентифицирует измеренный кадр; порт базового кадра идентифицирует опорный кадр измерения.
Simscape™ Multibody™ определяет форматы поворота в соответствии со стандартными условными обозначениями. В некоторых случаях существует несколько конвенций. Это относится, например, к кватерниону. Чтобы правильно интерпретировать измерения вращения, просмотрите определения форматов вращения.
Угол оси - один из более простых форматов измерения поворота. Этот формат использует два параметра для полного описания поворота: вектор оси и угол. Полезность формата ось-угол вытекает непосредственно из теоремы Эйлера о повороте. Согласно теореме, любое 3-D вращение или последовательность вращения можно описать как чистое вращение вокруг одной фиксированной оси.

Чтобы измерить поворот кадра в формате «ось-угол», используйте блок «Датчик преобразования». Диалоговое окно блока содержит отдельные параметры Ось (Axis) и Угол (Angle), которые можно выбрать для отображения соответствующих портов физического сигнала (PS) (обозначенных осями и q соответственно). Поскольку параметры «ось-угол» перечислены отдельно, можно выбрать измерение оси, угла или и того, и другого.

Вывод оси представляет собой 3D единичный вектор в виде [ax, ay, az]. Этот единичный вектор кодирует направление вращения согласно правому правилу. Например, рама, вращающаяся против часовой стрелки вокруг оси + X, имеет ось вращения [1 0 0]. Рама, вращающаяся в направлении по часовой стрелке вокруг той же оси, имеет ось вращения [-1 0 0].
Выход угла - это скалярное число в диапазоне 0-λ. Это число кодирует степень вращения вокруг измеряемой оси. По умолчанию угол измеряется в радианах. Можно изменить единицы измерения угла в блоке PS-Simulink Converter, используемом для взаимодействия с блоками Simulink ®.
Кватернион - представление вращения, основанное на гиперкомплексных числах. Кватернион состоит из скалярной части, S, и вектора, V, part. скалярная часть кодирует угол поворота, а векторная часть кодирует ось вращения.
Ключевым преимуществом кватернионов является пространство параметров без сингулярности. Математические сингулярности, присутствующие в угловых последовательностях Эйлера, приводят к потере вращательных степеней свободы. Это явление известно как карданный замок. В Simscape Multibody карданная блокировка вызывает числовые ошибки, которые приводят к сбою моделирования. Отсутствие сингулярностей означает, что кватернионы более устойчивы для целей моделирования.
Чтобы измерить поворот кадра в формате кватерниона, используйте:
Блок датчика преобразования при измерении поворота между двумя общими кадрами. Меню Rotation диалогового окна содержит параметр Quaternion, который можно выбрать для отображения соответствующего порта физического сигнала (с меткой Q).

Блок соединения, имеющий сферический примитив при измерении 3-D поворота между двумя каркасами соединения. Меню Sensing диалогового окна содержит параметр Position, который можно выбрать для отображения соответствующего порта физического сигнала (который также помечен как Q). Дополнительные сведения см. на странице вхождения блока Сферическое соединение (Spherical Joint).

Выход кватерниона представляет собой четырехэлементный вектор строки, SV), где:
start2)
и
(
δ - угол поворота, а [Ux, Uy, Uz] - единичный вектор оси вращения. Обратите внимание, что для любого данного вращения существует два кватерниона. Они являются негативами друг друга, но представляют одно и то же вращение. Например, кватернионы [1
0
0
0] и [-1
0
0
0] оба представляют поворот идентичности.
Преобразование вращения представляет собой матрицу 3 × 3, которая кодирует вращение кадра. В терминах осей [x, y, z] B базового кадра оси [x, y, z] F ведомого кадра являются:
xyz] F
Каждый столбец матрицы содержит координаты оси кадра толкателя, разрешенные в базовом кадре. Например, первый столбец содержит координаты оси X кадра толкателя, как определено в базовом кадре. Аналогично, второй и третий столбцы содержат координаты осей Y и Z соответственно. Работа с вектором с матрицей вращения преобразует координаты вектора из кадра-толкателя в базовый кадр.
С помощью блока «Преобразовать датчик» можно измерить поворот кадра в виде матрицы поворота. Диалоговое окно для этого блока содержит опцию Transform, которая при выборе открывает физический сигнальный порт с меткой R. Используйте этот порт для вывода матричного сигнала вращения, например, для обработки и анализа в подсистеме Simulink - после преобразования выходного физического сигнала в сигнал Simulink через блок PS-Simulink Converter.

[1] Сварное соединение является исключением