Сгенерируйте траектории с трапециевидными скоростными профилями
[q,qd,qdd,tSamples,pp] = trapveltraj(wayPoints,numSamples)
[q,qd,qdd,tSamples,pp] = trapveltraj(wayPoints,numSamples,Name,Value)
[
генерирует траекторию через данный набор входа 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
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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
Время окончания
Длительность каждого сегмента траекторииДлительность каждого 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.
dim :
n. Размерность положений контрольной точки.
Можно создать собственные кусочные полиномы с помощью 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.
dim :
n. Размерность положений контрольной точки.
[1] Линчуйте, Кевин М. и Франк К. Парк. Современная робототехника: механика, планируя и управляет. Кембридж: Издательство Кембриджского университета, 2017.
[2] Spong, Марк В., Сет Хатчинсон и М. Видьясэгэр. Моделирование робота и управление. John Wiley & Sons, 2006.
bsplinepolytraj
| cubicpolytraj
| quinticpolytraj
| rottraj
| transformtraj
| trapveltraj
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.