Сгенерируйте траекторию между двумя ориентациями
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 матрицы вращения и получить ориентацию выход (порт R) как матричный массив вращения. По умолчанию начальные и итоговые вращения заданы как четырехэлементные векторы кватерниона.
Waypoint source
— Источник для waypointsInternal
(значение по умолчанию) | External
Задайте External
чтобы задать Initial rotation, Final rotation и параметры Time interval как, блок вводит вместо параметров блоков.
Initial rotation
— Начальная ориентация
(значение по умолчанию) | четырехэлементный вектор кватерниона | 3х3 матрица вращенияНачальная ориентация в виде четырехэлементного кватерниона векторная или 3х3 матрица вращения. Функция генерирует траекторию, которая запускается в Initial rotation и переходит к Final rotation.
Чтобы задать кватернионы, установите параметр Rotation Format на Quaternion
.
Чтобы задать матрицы вращения, установите параметр Rotation Format на Rotation
.
Типы данных: single
| double
Final rotation
— Итоговая ориентация
(значение по умолчанию) | четырехэлементный вектор | 3х3 матрица вращенияИтоговая ориентация в виде четырехэлементной векторной или 3х3 матрицы вращения. Функция генерирует траекторию, которая запускается в Initial rotation и переходит к Final rotation.
Чтобы задать кватернионы, установите параметр Rotation Format на Quaternion
.
Чтобы задать матрицы вращения, установите параметр Rotation Format на Rotation
.
Типы данных: single
| double
Time interval
— Времена начала и конца для траектории
(значение по умолчанию) | двухэлементный векторВремена начала и конца для траектории в виде двухэлементного вектора.
Типы данных: single
| double
Use custom time scaling
— Включите пользовательское время, масштабируясьoff
(значение по умолчанию) | on
Включите, чтобы задать пользовательское время, масштабировавшись для траектории с помощью Parameter Source, Time scaling time и параметров Time scaling values.
Parameter source
— Источник для waypointsInternal
(значение по умолчанию) | External
Задайте External
чтобы задать Time scaling time и параметры Time scaling values как, блок вводит вместо параметров блоков.
Чтобы включить этот параметр, установите флажок Use custom time scaling.
Time scaling time
— Моменты времени масштабирования времени
(значение по умолчанию) | скаляр | 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] Линчуйте, Кевин М. и Франк К. Парк. Современная робототехника: механика, планирование и управление. Издательство Кембриджского университета, 2017.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.