Сгенерируйте траекторию между двумя гомогенными преобразованиями
Robotics System Toolbox / Утилиты
Блок Transform Trajectory генерирует интерполированную траекторию между двумя однородными матрицами преобразования. Блок выводит преобразование во времена, данные входом Time, который может быть скаляром или вектором.
Траектория вычисляется с помощью кватерниона сферическая линейная интерполяция (SLERP) для вращения и линейной интерполяции для перевода. Этот метод находит кратчайший путь между положениями и вращениями преобразования. Установите флажок Use custom time scaling, чтобы вычислить траекторию с помощью пользовательского времени, масштабировавшись. Блок использует линейное время, масштабируясь по умолчанию.
Начальные и окончательные значения считаются постоянные вне периода времени, заданного в Time interval.
Time
— Момент времени вдоль траекторииМомент времени вдоль траектории в виде скаляра или вектора. В общем случае, когда задано как скаляр, это значение синхронизируется со временем симуляции и используется, чтобы задать момент времени для выборки траектории. Блок выводит вектор из переменных траектории в тот момент вовремя. Если время задано как вектор, блок выводит матрицу с каждым столбцом, соответствующим каждому элементу вектора.
Типы данных: single
| double
T0
— Начальная матрица преобразованияНачальная матрица преобразования в виде гомогенного преобразования 4 на 4. Функция генерирует траекторию, которая запускается при начальной ориентации, T0, и переходит к итоговой ориентации, TF.
Пример: trvec2tform([1 10 -1])
Чтобы включить этот параметр, установите Waypoint source на External
.
Типы данных: single
| double
TF
— Итоговая матрица преобразованияИтоговая матрица преобразования в виде гомогенного преобразования 4 на 4. Функция генерирует траекторию, которая запускается при начальной ориентации, T0, и переходит к итоговой ориентации, TF.
Пример: trvec2tform([1 10 -1])
Чтобы включить этот параметр, установите Waypoint source на External
.
Типы данных: 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
tform
— Гомогенные матрицы преобразованияГомогенные матрицы преобразования, возвращенные как 4 4 m однородным матричным массивом, где m является входом числа точек к Time.
vel
— Преобразуйте скоростиПреобразуйте скорости, возвращенные как 6 m матрицей, где m является входом числа точек к Time. Каждая строка вектора является угловой и линейной скоростью преобразования как [wx wy wz vx vy vz]
. w представляет скорость вращения, и v представляет линейную скорость.
alpha
— Преобразуйте ускоренияПреобразуйте скорости, возвращенные как 6 m матрицей, где m является входом числа точек к Time. Каждая строка вектора является угловым и линейным ускорением преобразования как [alphax alphay alphaz ax ay az]
. alpha представляет угловое ускорение, и a представляет линейное ускорение.
Waypoint source
— Источник для waypointsInternal
(значение по умолчанию) | External
Задайте External
чтобы задать Waypoints и параметры Time points как, блок вводит вместо параметров блоков.
Initial transform
— Начальная матрица преобразованияtrvec2tform([1 10 -1])
(значение по умолчанию) | гомогенное преобразование 4 на 4Начальная матрица преобразования в виде гомогенного преобразования 4 на 4. Функция генерирует траекторию, которая запускается в Initial transform и переходит к Final transform.
Типы данных: single
| double
Final transform
— Итоговая матрица преобразованияeul2tform([0 pi pi/2])
(значение по умолчанию) | гомогенное преобразование 4 на 4Итоговая матрица преобразования в виде гомогенного преобразования 4 на 4. Функция генерирует траекторию, которая запускается в Initial transform и переходит к Final transform.
Типы данных: 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.