Траектория вращения

Сгенерируйте траекторию между двумя ориентациями

  • Библиотека:
  • Robotics System Toolbox / Утилиты

Описание

Блок Rotation Trajectory генерирует интерполированную траекторию между двумя матрицами вращения. Блок выводит вращение во времена, данные входом Time, который может быть скаляром или вектором.

Траектория вычисляется с помощью кватерниона сферическая линейная интерполяция (SLERP) и находит кратчайший путь между точками. Установите флажок Use custom time scaling, чтобы вычислить использование пользовательского времени, масштабировавшись. Блок использует линейное время, масштабируясь по умолчанию.

Начальные и окончательные значения считаются постоянные вне периода времени, заданного в параметре Time interval.

Порты

Входной параметр

развернуть все

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

Типы данных: single | double

Начальная ориентация, заданная как четырехэлементный кватернион векторная или 3х3 матрица вращения. Функция генерирует траекторию, которая запускается при начальной ориентации, R0, и переходит к итоговой ориентации, RF.

Пример: [1 0 0 0]'

Зависимости

Чтобы включить этот вход, установите Waypoint source на External.

Чтобы задать кватернионы, установите параметр Rotation Format на Quaternion.

Чтобы задать матрицы вращения, установите параметр Rotation Format на Rotation.

Типы данных: single | double

Начальная ориентация, заданная как четырехэлементная векторная или 3х3 матрица вращения. Функция генерирует траекторию, которая запускается при начальной ориентации, R0, и переходит к итоговой ориентации, RF.

Пример: [0 0 1 0]'

Зависимости

Чтобы включить этот вход, установите Waypoint source на External.

Чтобы задать кватернионы, установите параметр Rotation Format на Quaternion.

Чтобы задать матрицы вращения, установите параметр Rotation Format на Rotation.

Типы данных: single | double

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

Пример: [0 10]

Зависимости

Чтобы включить этот вход, установите Waypoint source на External.

Типы данных: single | double

Моменты времени масштабирования времени, заданные как скаляр или n p - вектор элемента, где p является числом точек в течение времени, масштабируясь. По умолчанию время, масштабируясь является линейным масштабированием времени, охватывающим TimeInterval. Задайте фактические значения масштабирования времени в TimeScaling.

Если вход Time задан за один раз не заданный этими точками, интерполяция используется, чтобы найти правильное время масштабирования.

Зависимости

Чтобы включить этот параметр, установите флажок Use custom time scaling и установите Parameter source на External.

Чтобы задать скаляр, вход Time должен быть скаляром.

Типы данных: single | double

Вектор масштабирования времени и его первые две производные, заданные как три вектора элемента или 3 p матрицей, где m является длиной TSTime. По умолчанию время, масштабируясь является линейным масштабированием времени, охватывающим TimeInterval.

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

s(1,:) = [0 0.25 0.5 1 1 1] % Position
s(2,:) = [1    1   1 0 0 0] % Velocity
s(3,:) = [0    0   0 0 0 0] % Acceleration

Зависимости

Чтобы включить этот параметр, установите флажок Use custom time scaling и установите Parameter source на External.

Чтобы задать трехэлементный вектор, Time и входные параметры TSTime должны быть скаляром.

Типы данных: single | double

Вывод

развернуть все

Векторы ориентации, возвращенные как 4 m массивом кватерниона или 3 3 m матричным массивом вращения, где m является числом точек во входе к Time.

Зависимости

Чтобы получить массив кватерниона, установите параметр Rotation Format на Quaternion.

Чтобы получить матричный массив вращения, установите параметр Rotation Format на Rotation.

Угловая скорость ориентации, возвращенная как 3 m матрицей, где m является числом точек во входе к Time.

Угловое ускорение ориентации, возвращенное как 3 m матрицей, где m является числом точек во входе к Time.

Параметры

развернуть все

Выберите Rotation Matrix, чтобы задать Initial rotation и Final rotation как 3х3 матрицы вращения и получить ориентацию вывод (порт R) как матричный массив вращения. По умолчанию начальные и итоговые вращения заданы как четырехэлементные векторы кватерниона.

Задайте External, чтобы задать Initial rotation, Final rotation и параметры Time interval, когда блок вводит вместо параметров блоков.

Начальная ориентация, заданная как четырехэлементный кватернион векторная или 3х3 матрица вращения. Функция генерирует траекторию, которая запускается в Initial rotation и переходит к Final rotation.

Зависимости

Чтобы задать кватернионы, установите параметр Rotation Format на Quaternion.

Чтобы задать матрицы вращения, установите параметр Rotation Format на Rotation.

Типы данных: single | double

Итоговая ориентация, заданная как четырехэлементная векторная или 3х3 матрица вращения. Функция генерирует траекторию, которая запускается в Initial rotation и переходит к Final rotation.

Зависимости

Чтобы задать кватернионы, установите параметр Rotation Format на Quaternion.

Чтобы задать матрицы вращения, установите параметр Rotation Format на Rotation.

Типы данных: single | double

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

Типы данных: single | double

Включите, чтобы задать пользовательское время, масштабировавшись для траектории с помощью Parameter Source, Time scaling time и параметров Time scaling values.

Задайте External, чтобы задать Time scaling time и параметры Time scaling values, когда блок вводит вместо параметров блоков.

Зависимости

Чтобы включить этот параметр, установите флажок Use custom time scaling.

Моменты времени масштабирования времени, заданные как скаляр или p - вектор элемента, где p является числом точек в течение времени, масштабируясь. По умолчанию время, масштабируясь является линейным масштабированием времени, охватывающим Time interval. Задайте фактические значения масштабирования времени в Time scaling values.

Если вход Time задан за один раз не заданный этими точками, интерполяция используется, чтобы найти правильное время масштабирования.

Зависимости

Чтобы включить этот параметр, установите флажок Use custom time scaling.

Чтобы задать скаляр, вход Time должен быть скаляром.

Типы данных: single | double

Вектор масштабирования времени и его первые две производные, заданные как трехэлементный вектор или 3 p матрицей, где p является длиной Time scaling time. По умолчанию время, масштабируясь является линейным масштабированием времени, охватывающим Time interval.

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

s(1,:) = [0 0.25 0.5 1 1 1] % Position
s(2,:) = [1    1   1 0 0 0] % Velocity
s(3,:) = [0    0   0 0 0 0] % Acceleration

Зависимости

Чтобы включить этот параметр, установите флажок Use custom time scaling.

Чтобы задать трехэлементный вектор, Time и входные параметры TSTime должны быть скаляром.

Типы данных: single | double

  • Модель Interpreted execution — Simulate с помощью интерпретатора MATLAB®. Эта опция сокращает время запуска, но имеет более медленную скорость симуляции, чем Code generation. В этом режиме можно отладить исходный код блока.

  • Модель Code generation — Simulate с помощью сгенерированного кода C. В первый раз, когда вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска, но скорость последующих симуляций сопоставима с Interpreted execution.

Настраиваемый: нет

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2019a

Для просмотра документации необходимо авторизоваться на сайте