Вращательные измерения

Обзор обнаружения вращения

Можно измерить вращение системы координат в различных форматах. Они включают угол оси, кватернион, и преобразовывают. Различные форматы доступны через блок Transform Sensor и, ограниченно, в блоках соединений [1]. Выбор формата измерения зависит от модели. Выберите формат, который является самым удобным для приложения.

Измерение вращения

Вращение является относительным количеством. Вращение одной системы координат значимо только относительно другой системы координат. По сути, блоки с возможностью обнаружения вращения требуют, чтобы две системы координат сделали измерение: измеренный и системы координат. В этих блоках порт системы координат последователя идентифицирует измеренную систему координат; порт базовой системы координат идентифицирует систему координат измерения.

Simscape™ Multibody™ задает форматы вращения согласно стандартным соглашениям. В некоторых случаях больше чем одно соглашение существует. Дело обстоит так, например, кватерниона. Чтобы правильно интерпретировать измерения вращения, рассмотрите определения форматов вращения.

Измерения угла оси

Угол оси является одним из более простых форматов измерения вращения. Этот формат использует два параметра, чтобы полностью описать вращение: вектор оси и угол. Полноценность формата угла оси следует непосредственно от теоремы вращения Эйлера. Согласно теореме, любая 3-D последовательность вращения или вращения может быть описана как чистое вращение вокруг одной фиксированной оси.

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

Ось выход является 3D единичным вектором в форме [ax, ay, az]. Этот единичный вектор кодирует направление вращения согласно правилу правой руки. Например, система координат, вращающаяся в направлении против часовой стрелки о +X оси, имеет ось вращения [1 0 0]. Система координат, вращающаяся в направлении по часовой стрелке о той же оси, имеет ось вращения [-1 0 0].

Угол выход является скалярным номером в области значений 0–π. Этот номер кодирует степень вращения вокруг измеренной оси. По умолчанию угол измеряется в радианах. Можно измениться, угловые модули в блоке PS-Simulink Converter раньше взаимодействовали через интерфейс с блоками Simulink®.

Измерения кватерниона

Кватернион является представлением вращения на основе гиперкомплексных чисел. Кватернион составлен из скалярной части, S, и вектора, V, части. Скалярная часть кодирует угол вращения, и векторная часть кодирует вращательную ось.

Главным преимуществом кватернионов является пространство параметров без сингулярности. Математическая сингулярность, которая присутствует в последовательностях Угла Эйлера, результате в потере вращательных степеней свободы. Это явление известно как блокировку карданова подвеса. В Simscape Multibody блокировка карданова подвеса вызывает числовые ошибки, которые приводят к отказу симуляции. Отсутствие сингулярности означает, что кватернионы более устойчивы в целях симуляции.

Чтобы измерить вращение системы координат в формате кватерниона, используйте:

  • Блок A Transform Sensor при измерении вращения между двумя общими системами координат. Меню Rotation диалогового окна содержит параметр Quaternion, который можно выбрать, чтобы осушить соответствующий порт физического сигнала (пометил Q).

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

Кватернион выход является четырехэлементным вектором-строкой, Q=(SV), где:

S=cos(θ2)

и

V=[UxUyUz]sin(θ2)

θ является углом вращения и [Ux, Uy, Uz] является единичным вектором вращательной оси. Обратите внимание на то, что для любого данного вращения, существует два кватерниона. Они - отрицательные стороны друг друга, но представляют то же вращение. Например, кватернионы [10 0 0 ] и [-10 0 0 ] оба представляют единичное вращение.

Преобразуйте измерения

Вращение преобразовывает, 3×3 матрица, которая кодирует вращение системы координат. В терминах осей базовой системы координат [x, y, z] B, оси системы координат последователя [x, y, z] F:

[xyz]B=[rxxrxyrxzryxryyryzrzxrzyrzz][xyz]F

Каждый столбец матрицы содержит координаты оси системы координат последователя, разрешенной в базовой системе координат. Например, первый столбец содержит координаты Оси X системы координат последователя, как разрешено в базовой системе координат. Точно так же вторые и третьи столбцы содержат координаты Y и осей Z, соответственно. Работа на векторе с матрицей вращения преобразовывает векторные координаты от системы координат последователя до базовой системы координат.

Можно обнаружить вращение системы координат в терминах матрицы вращения использование блока Transform Sensor. Диалоговое окно для этого блока содержит опцию Transform, которая, когда выбрано осушает порт физического сигнала, пометил R. Используйте этот порт, чтобы вывести матричный сигнал вращения, например, для обработки и анализа в Подсистеме Simulink — после преобразования выходного физического сигнала к Сигналу Simulink через блок PS-Simulink Converter.

Связанные примеры

Больше о


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