cubicpolytraj

Сгенерируйте полиномиальные траектории третьего порядка

Описание

пример

[q,qd,qdd,pp] = cubicpolytraj(wayPoints,timePoints,tSamples) генерирует полином третьего порядка, который достигает заданного множества входа путевых точек с соответствующими временными точками. Функция выводит положения, скорости и ускорения в заданные временные выборки, tSamples. Функция также возвращает кусочный полином pp форма полиномиальной траектории относительно времени.

[q,qd,qdd,pp] = cubicpolytraj(___,Name,Value) задает дополнительные параметры следующим Name,Value пара аргументов с использованием любой комбинации предыдущих синтаксисов.

Примеры

свернуть все

Используйте cubicpolytraj функция с заданным набором 2-D точек пути xy. Также приведены временные моменты для путевых точек.

wpts = [1 4 4 3 -2 0; 0 1 2 4 3 1];
tpts = 0:5;

Задайте временной вектор для выборки траектории. Выборка с меньшим интервалом, чем заданный временными точками.

tvec = 0:0.01:5;

Вычислите кубическую траекторию. Функция выводит положения траектории (q), скорость (qd), ускорение (qdd) и полиномиальные коэффициенты (pp) кубического полинома.

[q, qd, qdd, pp] = cubicpolytraj(wpts, tpts, tvec);

Постройте график кубических траекторий для x - и y-положений. Сравните траекторию с каждой путевой точкой.

plot(tvec, q)
hold all
plot(tpts, wpts, 'x')
xlabel('t')
ylabel('Positions')
legend('X-positions','Y-positions')
hold off

Figure contains an axes. The axes contains 4 objects of type line. These objects represent X-positions, Y-positions.

Можно также проверить фактические положения в 2-D плоскости. Постройте график отдельных строк q вектор и точки пути как x- и y - положения.

figure
plot(q(1,:),q(2,:),'-b',wpts(1,:),wpts(2,:),'or')
xlabel('X')
ylabel('Y')

Figure contains an axes. The axes contains 2 objects of type line.

Входные параметры

свернуть все

Точки для точек пути траектории, заданные как n -by - p матрица, где n - размерность траектории, а p - количество точек пути.

Пример: [1 4 4 3 -2 0; 0 1 2 4 3 1]

Типы данных: single | double

Временные точки для точек пути траектории, заданные как p элемент.

Пример: [0 2 4 5 8 10]

Типы данных: single | double

Временные выборки для траектории, заданные как m элемент. Положение выхода, q, скорость, qd, и ускорения, qdd, отбираются в эти временные интервалы.

Пример: 0:0.01:10

Типы данных: single | double

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'VelocityBoundaryCondition',[1 0 -1 -1 0 0; 1 1 1 -1 -1 -1]

Граничные условия скорости для каждой путевой точки, заданные как разделенная разделенными запятой парами, состоящая из 'VelocityBoundaryCondition' и матрицу n -by p. Каждая строка соответствует скорости во всех путевых точках p для соответствующей переменной в траектории.

Пример: [1 0 -1 -1 0 0; 1 1 1 -1 -1 -1]

Типы данных: single | double

Выходные аргументы

свернуть все

Положения траектории в заданный момент выборок в tSamples, возвращенный как m-вектор, где m - длина tSamples.

Типы данных: single | double

Скорости траектории в заданный момент выборок в tSamples, возвращается как вектор.

Типы данных: single | double

Ускорения траектории в заданный момент выборок в tSamples, возвращается как вектор.

Типы данных: single | double

Кусочно-полиномиальный, возвращенный как структура, которая задает полином для каждого участка кусочно-траектории. Вы можете создать свои собственные кусочные полиномы, используя mkpp, или вычислите полином в заданное время, используя ppval. Структура содержит поля:

  • form: 'pp'.

  • breaks: p элемент времени, когда изменяется кусочно-линейная траектория. p - количество путевых точек.

  • coefs: n (p -1) -by- order матрица для коэффициентов для полиномов. n (p -1) - размерность траектории, умноженная на количество pieces. Каждый набор n строк определяет коэффициенты для полинома, который описал каждую переменную траекторию.

  • pieces: <reservedrangesplaceholder0>–1. Количество пропусков минус 1.

  • order: Степень полинома + 1. Для примера кубические полиномы имеют порядок 4.

  • dim: n. Размерность положений контрольной точки.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2019a