Сгенерируйте траектории с трапециевидными скоростными профилями
[ генерирует траекторию через данный набор входа waypoints, которые следуют за трапециевидным скоростным профилем. Функциональные выходные положения, скорости и ускорения на данных выборках времени, q,qd,qdd,tSamples,pp] = trapveltraj(wayPoints,numSamples)tSamples, на основе конкретного количества выборок, numSamples. Функция также возвращает кусочный полином pp форма полиномиальной траектории относительно времени.
[ задает дополнительные параметры с помощью q,qd,qdd,tSamples,pp] = trapveltraj(wayPoints,numSamples,Name,Value)Name,Value парные аргументы.
Используйте trapveltraj функция с данным набором 2D xy waypoints. Моменты времени для waypoints также даны.
wpts = [0 45 15 90 45; 90 45 -45 15 90];
Вычислите траекторию для данного количества выборок (501). Функциональные выходные параметры положения траектории (q), скорость (qd), ускорение (qdd), временной вектор (tvec), и полиномиальные коэффициенты (pp) из полинома, который достигает waypoints использование трапециевидных скоростей.
[q, qd, qdd, tvec, pp] = trapveltraj(wpts, 501);
Постройте траектории для x-и y-положений и trapezoial скоростного профиля между каждым waypoint.
subplot(2,1,1) plot(tvec, q) xlabel('t') ylabel('Positions') legend('X','Y') subplot(2,1,2) plot(tvec, qd) xlabel('t') ylabel('Velocities') legend('X','Y')

Можно также проверить фактические положения в 2D плоскости. Постройте отдельные строки q вектор и waypoints как x-и y-положения.
figure plot(q(1,:),q(2,:),'-b',wpts(1,:),wpts(2,:),'or')

wayPoints — Waypoints для траекторииТочки для waypoints траектории, заданной как n-by-p матрица, где n является размерностью траектории и p, являются количеством waypoints.
Пример: [1 4 4 3 -2 0; 0 1 2 4 3 1]
Типы данных: single | double
numSamples — Количество выборок в выходной траекторииКоличество выборок в выходной траектории, заданной как положительное целое число.
Типы данных: single | double
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'PeakVelocity',5По причине трапециевидного скоростного профиля можно только установить самое большее два из следующих параметров.
'PeakVelocity' — Пиковая скорость скоростного профиляПиковая скорость сегмента профиля, заданного как разделенная запятой пара, состоящая из 'PeakVelocity' и скаляр, вектор или матрица. Эта пиковая скорость является самой высокой скоростью, достигнутой во время трапециевидного скоростного профиля.
Скалярное значение применяется ко всем элементам траектории и между всем waypoints. n - вектор элемента применяется к каждому элементу траектории между всем waypoints. n (p –1) матрица применяется к каждому элементу траектории для каждого waypoint.
Типы данных: single | double
'Acceleration' — Ускорение скоростного профиляУскорение скоростного профиля, заданного как разделенная запятой пара, состоящая из 'Acceleration' и скаляр, вектор или матрица. Это ускорение задает постоянное ускорение от нулевой скорости до PeakVelocity значение.
Скалярное значение применяется ко всем элементам траектории и между всем waypoints. n - вектор элемента применяется к каждому элементу траектории между всем waypoints. n (p –1) матрица применяется к каждому элементу траектории для каждого waypoint.
Типы данных: single | double
'EndTime' — Длительность каждого сегмента траекторииДлительность каждого p –1 сегмент траектории, заданный как разделенная запятой пара, состоящая из 'EndTime' и скаляр, вектор или матрица.
Скалярное значение применяется ко всем элементам траектории и между всем waypoints. n - вектор элемента применяется к каждому элементу траектории между всем waypoints. n (p –1) матрица применяется к каждому элементу траектории для каждого waypoint.
Типы данных: single | double
'AccelTime' — Длительность ускоряющей фазы скоростного профиляДлительность ускоряющей фазы скоростного профиля, заданного как разделенная запятой пара, состоящая из 'EndTime' и скаляр, вектор или матрица.
Скалярное значение применяется ко всем элементам траектории и между всем waypoints. n - вектор элемента применяется к каждому элементу траектории между всем waypoints. n (p –1) матрица применяется к каждому элементу траектории для каждого waypoint.
Типы данных: single | double
q — Положения траекторииПоложения траектории на данных выборках времени в tSamples, возвращенный как n-by-m матрица, где n является размерностью траектории, и m равен numSamples.
Типы данных: single | double
qd — Скорости траекторииСкорости траектории на данных выборках времени в tSamples, возвращенный как n-by-m матрица, где n является размерностью траектории, и m равен numSamples.
Типы данных: single | double
qdd — Ускорения траекторииУскорения траектории на данных выборках времени в tSamples, возвращенный как n-by-m матрица, где n является размерностью траектории, и m равен numSamples.
Типы данных: single | double
pp — Кусочные полиномыКусочные полиномы, возвращенные как массив ячеек структур, который задает полином для каждого раздела кусочной траектории. Если все элементы траектории совместно используют те же пропуски, массив ячеек является одной структурой кусочного полинома. В противном случае массив ячеек имеет элементы n, которые соответствуют каждому из различных элементов траектории (размерности). Каждая структура содержит поля:
form: 'pp'.
breaks: p - вектор элемента времен, когда кусочная траектория изменяет формы. p является количеством waypoints.
coefs: n (p –1)-by-order матрица для коэффициентов для полиномов. n (p –1) является размерностью времен траектории количество pieces. Каждый набор строк n задает коэффициенты для полинома, который описал каждую переменную траекторию.
pieces: p –1. Количество пропусков минус 1.
order: Степень полинома + 1. Например, кубические полиномы имеют порядок 4.
dimN. Размерность положений контрольной точки.
Можно создать собственные кусочные полиномы с помощью mkpp, или оцените полином в требуемые времена с помощью ppval.
pp — Кусочный полиномКусочный полином, возвращенный как структура, которая задает полином для каждого раздела кусочной траектории. Можно создать собственные кусочные полиномы с помощью mkpp, или оцените полином в требуемые времена с помощью ppval. Структура содержит поля:
form: 'pp'.
breaks: p - вектор элемента времен, когда кусочная траектория изменяет формы. p является количеством waypoints.
coefs: n (p –1)-by-order матрица для коэффициентов для полиномов. n (p –1) является размерностью времен траектории количество pieces. Каждый набор строк n задает коэффициенты для полинома, который описал каждую переменную траекторию.
pieces: p –1. Количество пропусков минус 1.
order: Степень полинома + 1. Например, кубические полиномы имеют порядок 4.
dimN. Размерность положений контрольной точки.
[1] Линчуйте, Кевин М. и Франк К. Парк. Современная робототехника: механика, планируя и управляет. Кембридж: Издательство Кембриджского университета, 2017.
[2] Spong, Марк В., Сет Хатчинсон и М. Видьясэгэр. Моделирование робота и управление. John Wiley & Sons, 2006.
bsplinepolytraj | cubicpolytraj | quinticpolytraj | rottraj | transformtraj | trapveltraj
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.