Transform Trajectory

Сгенерируйте траекторию между двумя однородными преобразованиями

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

  • Transform Trajectory block

Описание

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

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

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

Порты

Вход

расширить все

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

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

Матрица начального преобразования, заданная как однородное преобразование 4 на 4. Функция генерирует траекторию, которая начинается с начальной ориентации, T0 и переходит к конечной ориентации, TF.

Пример: trvec2tform([1 10 -1])

Зависимости

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

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

Матрица окончательного преобразования, заданная как гомогенное преобразование 4 на 4. Функция генерирует траекторию, которая начинается с начальной ориентации, T0 и переходит к конечной ориентации, TF.

Пример: trvec2tform([1 10 -1])

Зависимости

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

Типы данных: 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 на 4- m однородный матричный массив, где m количество точек, входящих в Time.

Преобразуйте скорости, возвращенные как 6-бай- m матрица, где m - число точек, входящих в Time. Каждая строка вектора является угловой и линейной скоростью преобразования как [wx wy wz vx vy vz]. w представляет скорость вращения, а v представляет линейную скорость.

Преобразуйте скорости, возвращенные как 6-бай- m матрица, где m - число точек, входящих в Time. Каждая строка вектора является угловым и линейным ускорением преобразования как [alphax alphay alphaz ax ay az]. alpha представляет угловое ускорение, а a представляет линейное ускорение.

Параметры

расширить все

Задайте External задать параметры Waypoints и Time points в качестве блока входов вместо параметров блоков.

Матрица начального преобразования, заданная как однородное преобразование 4 на 4. Функция генерирует траекторию, которая начинается с Initial transform и переходит к Final transform.

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

Матрица окончательного преобразования, заданная как гомогенное преобразование 4 на 4. Функция генерирует траекторию, которая начинается с Initial transform и переходит к Final transform.

Типы данных: 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 - Моделируйте модель с помощью MATLAB® интерпретатор. Эта опция сокращает время запуска, но имеет более низкую скорость симуляции, чем Code generation. В этом режиме можно отлаживать исходный код блока.

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

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

Примеры моделей

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

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

.
Введенный в R2019a