Сгенерируйте траекторию между двумя ориентациями
Robotics System Toolbox/Утилиты
Блок Rotation Trajectory генерирует интерполированную траекторию между двумя матрицами поворота. Блок выводит вращение в моменты времени, заданные Time входа, который может быть скаляром или вектором.
Траектория вычисляется с помощью кватернионной сферической линейной интерполяции (SLERP) и находит кратчайший путь между точками. Установите флажок Use custom time scaling для вычисления с помощью пользовательского масштабирования времени. Блок использует линейное масштабирование времени по умолчанию.
Начальное и окончательное значения остаются постоянными вне периода времени, заданного в параметре Time interval.
Time
- Временная точка вдоль траекторииВременная точка вдоль траектории, заданный как скаляр или вектор. В целом, когда это значение задано как скаляр, это значение синхронизируется со временем симуляции и используется, чтобы задать время, точку для дискретизации траектории. Блок выводит вектор переменных траектории в этот момент времени. Если время задано как вектор, блок выводит матрицу с каждым столбцом, соответствующим каждому элементу вектора.
Типы данных: single
| double
R0
- Начальная ориентацияНачальная ориентация, заданная как четырехэлементный вектор кватерниона или матрица вращения 3 на 3. Функция генерирует траекторию, которая начинается с начальной ориентации, R0 и переходит к конечной ориентации, RF.
Пример: [1 0 0 0]'
Чтобы включить этот вход, установите Waypoint source равным External
.
Чтобы задать кватернионы, задайте Rotation Format параметр Quaternion
.
Чтобы задать матрицы поворота, задайте Rotation Format параметра Rotation
.
Типы данных: single
| double
RF
- Конечная ориентацияНачальная ориентация, заданная как вектор с четырьмя элементами или матрица поворота 3 на 3. Функция генерирует траекторию, которая начинается с начальной ориентации, R0 и переходит к конечной ориентации, RF.
Пример: [0 0 1 0]'
Чтобы включить этот вход, установите Waypoint source равным External
.
Чтобы задать кватернионы, задайте Rotation Format параметр Quaternion
.
Чтобы задать матрицы поворота, задайте Rotation Format параметра Rotation
.
Типы данных: single
| double
TimeInterval
- Начальное и конечное время для траекторииНачальное и конечное время для траектории, заданное как двухэлементный вектор.
Пример: [0 10]
Чтобы включить этот вход, установите Waypoint source равным External
.
Типы данных: single
| double
TSTime
- Временные точки масштабированияВременные временные точки масштабирования, заданные как скалярный или n p -элементный вектор, где p - число точек для масштабирования во времени. По умолчанию масштабирование по времени является линейным масштабированием по времени, охватывающим TimeInterval. Задайте фактические значения масштабирования времени в TimeScaling.
Если вход Time задан в момент времени, не заданный этими точками, интерполяция используется, чтобы найти правильное время масштабирования.
Чтобы включить этот параметр, установите флажок Use custom time scaling и установите Parameter source равным External
.
Чтобы задать скаляр, вход Time должен быть скаляром.
Типы данных: single
| double
TimeScaling
- Вектор масштабирования во времени и первые две производныеВектор масштабирования времени и его первые две производные, заданные как трехэлементный вектор или 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
R
- Векторы ориентации Векторы ориентации, возвращенные как массив с 4 байтами m кватернионами или матрица поворота с 3 на 3 m байтами, где m - число точек во входе к Time.
Чтобы получить массив кватерниона, задайте Rotation Format параметра Quaternion
.
Чтобы получить матричный массив поворота, задайте Rotation Format параметра Rotation
.
omega
- Ориентация скорости вращенияСкорость вращения ориентации, возвращенная как 3-бай- m матрица, где m - число точек во входе к Time.
alpha
- Угловое ускорение ориентацииУгловое ускорение ориентации, возвращаемое как 3-бай- m матрица, где m - число точек во входе к Time.
Rotation format
- Формат ориентацииQuaternion
(по умолчанию) | Rotation Matrix
Выберите Rotation Matrix
чтобы задать Initial rotation и Final rotation как матрицы вращения 3 на 3 и получить выход ориентации (port R) как массив матриц поворота. По умолчанию начальное и окончательное вращение заданы как четырехэлементные кватернионные векторы.
Waypoint source
- Источник для путевых точекInternal
(по умолчанию) | External
Задайте External
чтобы задать Initial rotation, Final rotation и Time interval параметры как блок входы вместо параметров блоков.
Initial rotation
- Начальная ориентация[1 0 0 0]'
(по умолчанию) | четырехэлементный вектор кватерниона | матрицей вращения 3 на 3Начальная ориентация, заданная как четырехэлементный вектор кватерниона или матрица вращения 3 на 3. Функция генерирует траекторию, которая начинается с Initial rotation и переходит к Final rotation.
Чтобы задать кватернионы, задайте Rotation Format параметр Quaternion
.
Чтобы задать матрицы поворота, задайте Rotation Format параметра Rotation
.
Типы данных: single
| double
Final rotation
- Конечная ориентация[0 0 1 0]'
(по умолчанию) | вектор с четырьмя элементами | матрица вращения 3 на 3Конечная ориентация, заданная как вектор с четырьмя элементами или матрица поворота 3 на 3. Функция генерирует траекторию, которая начинается с Initial rotation и переходит к Final rotation.
Чтобы задать кватернионы, задайте Rotation Format параметр Quaternion
.
Чтобы задать матрицы поворота, задайте Rotation Format параметра Rotation
.
Типы данных: single
| double
Time interval
- Начальное и конечное время для траектории[0 10]
(по умолчанию) | двухэлементный векторНачальное и конечное время для траектории, заданное как двухэлементный вектор.
Типы данных: single
| double
Use custom time scaling
- Включите пользовательское масштабирование времениoff
(по умолчанию) | on
Позволяет задать пользовательское масштабирование времени для траектории с помощью параметров Parameter Source, Time scaling time и Time scaling values.
Parameter source
- Источник для путевых точекInternal
(по умолчанию) | External
Задайте External
задать параметры Time scaling time и Time scaling values в качестве блока входов вместо параметров блоков.
Чтобы включить этот параметр, установите флажок Use custom time scaling.
Time scaling time
- Временные точки масштабирования2:0.1:3
(по умолчанию) | скалярный вектор | p -элементВременные моменты масштабирования, заданные как скалярный или p вектор, где p - число точек для масштабирования во времени. По умолчанию масштабирование по времени является линейным масштабированием по времени, охватывающим Time interval. Задайте фактические значения масштабирования времени в Time scaling values.
Если вход Time задан в момент времени, не заданный этими точками, интерполяция используется, чтобы найти правильное время масштабирования.
Чтобы включить этот параметр, установите флажок Use custom time scaling.
Чтобы задать скаляр, вход Time должен быть скаляром.
Типы данных: single
| double
Time scaling values
- Вектор масштабирования во времени и первые две производные[0:0.1:1; ones(1,11); zeros(1,11)]
(по умолчанию) | трехэлементный вектор | 3-бай- m матрицаВектор масштабирования во времени и его первые две производные, заданные как трехэлементный вектор или 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
Simulate using
- Тип выполняемой симуляцииInterpreted execution
(по умолчанию) | Code generation
Interpreted execution
- Моделируйте модель с помощью MATLAB® интерпретатор. Эта опция сокращает время запуска, но имеет более низкую скорость симуляции, чем Code generation
. В этом режиме можно отлаживать исходный код блока.
Code generation
- Моделируйте модель с использованием сгенерированного кода C. Первый раз, когда вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С повторно используется для последующих симуляций, пока модель не меняется. Эта опция требует дополнительного времени запуска, но скорость последующих симуляций сопоставима с Interpreted execution
.
Настраиваемый: Нет
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.