exponenta event banner

quinticpolytraj

Создание траекторий пятого порядка

Описание

пример

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

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

Примеры

свернуть все

Используйте quinticpolytraj функция с заданным набором ППМ 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] = quinticpolytraj(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-по-p. Каждая строка соответствует скорости во всех p ППМ для соответствующей переменной на траектории.

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

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

Граничные условия ускорения для каждой ППМ, указанные как разделенная запятыми пара, состоящая из 'VelocityBoundaryCondition' и матрицу n-по-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: p-1. Количество разрывов минус 1.

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

  • dimN. Размеры позиций контрольных точек.

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2019a