Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

quinticpolytraj

Genere trayectorias de quinto orden

Descripción

ejemplo

[q,qd,qdd,pp] = quinticpolytraj(wayPoints,timePoints,tSamples) genera un polinomio de quinto orden que alcanza un determinado conjunto de waypoints de entrada con los puntos de tiempo correspondientes. La función genera las posiciones, velocidades y aceleraciones de las muestras de tiempo dadas, tSamples. También devuelve la forma polinómica por tramos pp de la trayectoria polinómica con relación al tiempo.

[q,qd,qdd,pp] = quinticpolytraj(___,Name,Value) especifica parámetros adicionales como argumentos de par Name,Value utilizando cualquier combinación de las sintaxis anteriores.

Ejemplos

contraer todo

Utilice la función quinticpolytraj con un conjunto determinado de waypoints xy en 2D. También se proporcionan puntos de tiempo para los waypoints.

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

Especifique un vector de tiempo para el muestreo de la trayectoria. Realice el muestreo con un intervalo menor que los puntos de tiempo especificados.

tvec = 0:0.01:5;

Calcule la trayectoria quíntica. La función genera las posiciones de la trayectoria (q), la velocidad (qd), la aceleración (qdd) y los coeficientes polinómicos (pp) del polinomio quíntico.

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

Represente las trayectorias quínticas de las posiciones x e y. Compare la trayectoria con cada waypoint.

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

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

También puede verificar las posiciones reales en el plano 2D. Represente las diferentes filas del vector q y los waypoints como las posiciones x e y.

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

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

Argumentos de entrada

contraer todo

Los puntos de los waypoints de la trayectoria, especificados como una matriz de n por p, en la que n es la dimensión de la trayectoria y p es el número de waypoints.

Ejemplo: [1 4 4 3 -2 0; 0 1 2 4 3 1]

Tipos de datos: single | double

Los puntos de tiempo para waypoints de trayectoria, especificados como un vector de p elementos.

Ejemplo: [0 2 4 5 8 10]

Tipos de datos: single | double

Las muestras de tiempo de la trayectoria, especificadas como vector de m elementos. La posición de salida, q, la velocidad, qd, y las aceleraciones, qdd, se muestrean en estos intervalos de tiempo.

Ejemplo: 0:0.01:10

Tipos de datos: single | double

Argumentos de par nombre-valor

Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de los otros argumentos, pero el orden de los pares no importa.

Antes de R2021a, use comas para separar cada nombre y valor, y escriba Name entre comillas.

Ejemplo: 'VelocityBoundaryCondition',[1 0 -1 -1 0 0; 1 1 1 -1 -1 -1]

Las condiciones límite de velocidad de cada waypoint, especificadas como un par separado por comas compuesto por 'VelocityBoundaryCondition' y una matriz de n por p. Cada fila se corresponde a la velocidad en todos los waypoints de p para la variable respectiva en la trayectoria.

Ejemplo: [1 0 -1 -1 0 0; 1 1 1 -1 -1 -1]

Tipos de datos: single | double

Condiciones límite de aceleración de cada waypoint, especificadas como un par separado por comas compuesto por 'AccelerationBoundaryCondition' y una matriz de n por p. Cada fila se corresponde a la aceleración en todos los waypoints de p para la variable respectiva en la trayectoria.

Ejemplo: [1 0 -1 -1 0 0; 1 1 1 -1 -1 -1]

Tipos de datos: single | double

Argumentos de salida

contraer todo

Las posiciones de la trayectoria en las muestras de tiempo dadas en tSamples, devueltas como un vector de m elementos, donde m es la longitud de tSamples.

Tipos de datos: single | double

Las velocidades de la trayectoria en las muestras de tiempo dadas en tSamples, devueltas como vector.

Tipos de datos: single | double

Las aceleraciones de la trayectoria en las muestras de tiempo dadas en tSamples, devueltas como vector.

Tipos de datos: single | double

Polinomio por tramos, devuelto como una estructura que define el polinomio de cada sección de la trayectoria por tramos. Puede crear sus propios polinomios por tramos utilizando mkpp, o evaluar el polinomio en los tiempos especificados mediante ppval. La estructura contiene los siguientes campos:

  • form: 'pp'.

  • breaks: el vector de p elementos de los tiempos en los que la trayectoria por tramos cambia de forma. p es el número de waypoints.

  • coefs: matriz de n (p–1) por order para los coeficientes de los polinomios. n (p–1) es la dimensión de la trayectoria multiplicada por el número de pieces. Cada conjunto de n filas define los coeficientes del polinomio que ha descrito cada trayectoria variable.

  • pieces: p–1. El número de breaks menos 1.

  • order: El grado del polinomio +1. Por ejemplo, los polinomios cúbicos son de grado cuatro.

  • dim: n. La dimensión de las posiciones de los puntos de control.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2019a