Main Content

Polynomial Trajectory

Generar trayectorias polinómicas a través de waypoints

  • Biblioteca:
  • Robotics System Toolbox / Utilities

  • Polynomial Trajectory block

Descripción

El bloque Polynomial Trajectory genera trayectorias para desplazarse a través de waypoints en los puntos temporales especificados usando polinomios cúbicos, quínticos o B-spline. El bloque genera posiciones, velocidades y aceleraciones para lograr esta trayectoria en función de la entrada Time. En el caso de polinomios B-spline, los waypoints definen en realidad los puntos de control para la envolvente convexa del B-spline en lugar de los waypoints reales, pero el primer waypoint y el último se siguen encontrando.

Los valores iniciales y finales se mantienen constantes fuera del período de tiempo definido en Time points.

Puertos

Entrada

expandir todo

Punto de tiempo a lo largo de la trayectoria, especificado como un escalar o un vector. En general, cuando se especifica como un escalar, este valor se sincroniza con el tiempo de simulación y se usa para especificar el punto de tiempo para el muestreo de la trayectoria. El bloque genera un vector de las variables de la trayectoria en ese instante de tiempo. Si el tiempo se especifica como un vector, el bloque genera una matriz con cada columna correspondiente a cada elemento del vector.

Tipos de datos: single | double

Posiciones de los waypoints de la trayectoria en puntos de tiempo determinados, especificadas 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. Si especifica el Method como B-spline, esos waypoints definen realmente los puntos de control para la envolvente convexa del B-spline, pero el primer waypoint y el último se siguen encontrando.

Dependencias

Para activar esta entrada, establezca Waypoint Source en External.

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

Dependencias

Para activar esta entrada, establezca Waypoint Source en External.

Condiciones límite de velocidad para waypoints, especificadas como una matriz de n por p. Cada fila corresponde a la velocidad en cada uno de los waypoints de p para la variable respectiva en la trayectoria.

Dependencias

Para activar esta entrada, establezca Method en Cubic Polynomial o Quintic Polynomial y Parameter Source en External.

Condiciones límite de aceleración para waypoints, especificadas como una matriz de n por p. Cada fila corresponde a la aceleración en cada uno de los waypoints de p para la variable respectiva en la trayectoria.

Dependencias

Para activar este parámetro, establezca Method en Quintic Polynomial y Parameter Source en External.

Salida

expandir todo

Posición de la trayectoria, especificada como escalar, vector o matriz. Si especifica un escalar para la entrada Time con una trayectoria de n dimensiones, la salida es un vector con n elementos. Si especifica un vector de m elementos para la entrada Time, la salida es una matriz de n por m.

Tipos de datos: single | double

Velocidad de la trayectoria, especificada como un escalar, vector o matriz. Si especifica un escalar para la entrada Time con una trayectoria de n dimensiones, la salida es un vector con n elementos. Si especifica un vector de m elementos para la entrada Time, la salida es una matriz de n por m.

Tipos de datos: single | double

Aceleración de la trayectoria, especificada como un escalar, vector o matriz. Si especifica un escalar para la entrada Time con una trayectoria de n dimensiones, la salida es un vector con n elementos. Si especifica un vector de m elementos para la entrada Time, la salida es una matriz de n por m.

Tipos de datos: single | double

Parámetros

expandir todo

Especifique External para indicar los parámetros Waypoints y Time points como entradas de bloque en lugar de parámetros de bloque.

Posiciones de los waypoints de la trayectoria en puntos de tiempo determinados, especificadas 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. Si especifica el Method como B-spline, esos waypoints definen realmente los puntos de control para la envolvente convexa del B-spline, pero el primer waypoint y el último se siguen encontrando.

Dependencias

Para especificar este parámetro en la máscara del bloque, establezca Waypoint Source en Internal.

Puntos de tiempo para waypoints de trayectoria, especificados como un vector de p elementos, donde p es el número de waypoints.

Dependencias

Para especificar este parámetro en la máscara del bloque, establezca Waypoint Source en Internal.

Método para la generación de trayectorias, especificadas como Cubic Polynomial, Quintic Polynomial o B-Spline.

Especifique External para indicar los parámetros Velocity boundary conditions y Acceleration boundary conditions como entradas de bloque en lugar de parámetros de bloque.

Condiciones límite de velocidad para waypoints, especificadas como una matriz de n por p. Cada fila corresponde a la velocidad en cada uno de los waypoints de p para la variable respectiva en la trayectoria.

Dependencias

Para activar esta entrada, establezca Method en Cubic Polynomial o Quintic Polynomial.

Condiciones límite de aceleración para waypoints, especificadas como una matriz de n por p. Cada fila corresponde a la aceleración en cada uno de los waypoints de p para la variable respectiva en la trayectoria.

Dependencias

Para activar este parámetro, establezca Method en Quintic Polynomial.

  • Interpreted execution: simula el modelo utilizando el intérprete MATLAB®. Esta opción reduce el tiempo de inicio, pero ofrece una velocidad de simulación inferior a la obtenida mediante Code generation. Este modo permite depurar el código fuente del bloque.

  • Code generation: simula el modelo utilizando el código C generado. La primera vez que ejecuta una simulación, Simulink® genera código C para el bloque. El código C se reutiliza en simulaciones posteriores, siempre que el modelo no cambie. Esta opción requiere tiempo de inicio adicional, pero la velocidad de las simulaciones posteriores es comparable a la obtenida mediante Interpreted execution.

Sugerencias

Para lograr un mejor rendimiento, considere estas opciones:

  • Minimice el número de cambios de parámetros o waypoints.

  • Establezca el parámetro Waypoint source en Internal.

  • Establezca el parámetro Simulate using en Code generation. Para obtener más información, consulte Simulation Modes (Simulink).

Referencias

[1] Farin, Gerald E. Curves and Surfaces for Computer Aided Geometric Design: A Practical Guide. San Diego, CA: Academic Press, 1993.

Capacidades ampliadas

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

Historial de versiones

Introducido en R2019a