P4 - Generación de trayectorias
OBJETIVO: queremos mover el robot entre posiciones del espacio de trabajo siguiendo trayectorias concretasA) Trayectorias lineales en el espacio articular B) Trayectorias polinómicas en el espacio articular
En la anterior fase ya movimos el robot entre 4 posiciones del espacio cartesiano. Vamos a revisar cómo hicimos para pasar de un punto a otro en el tiempo, es decir, cómo generamos la trayectoria (se recomienda revisar los apuntes y comprobar que se comprende con ayuda del siguiente test).
En nuestra última simulación movimos el robot entre cuatro diferentes posiciones (x,y,z) que definimos con cuidado para asegurarnos de que eran alcanzables (ver script parametros_cinematinv.m) :
La función Repeating Sequence Interpolated se encargó de generar valores discretos (cada 0.01s) que conectan las 4 coordenadas de una manera, y en un periodo de tiempo que pudimos definir:
Con la IK convertimos dichas posiciones en referencias de posición angular para cada eje motor. Como muestreamos a 0.01s, en cada ciclo de 20s se calcularon 2000 IK que se pasaron como referencias al sistema de control cada eje, y producen los correspondientes picos de corriente en los motores:
Tras revisar los apuntes entenderemos las consecuencias que tiene el perfil "rectangular" que hemos generado como referencia. Comenta en el siguiente cuestionario dichos efectos.
En lugar de interpolar las posiciones cartesianas, podemos calcular sus IKs e interpolar las 4 posiciones articulares resultantes.
El resultado final es similar, como se ve en las referencias y en las corrientes de los motores, pero la simulación es mucho más ligera:
La generación de trayectorias rectangulares presenta el problema de demandar perfiles agresivos de par a los accionamientos, como discutimos en los apuntes. Otras interpolaciones como las polinómicas son más suaves en este sentido.
En simulink disponemos de un bloque "Polynomial Trajectory" que nos calcula interpolaciones polinomiales configurables:
En la simulación probamos una interpolación polinomial cúbica. Las transiciones entre los puntos [0 6 12 18]s de cambio de referencia son más suaves.
Como consecuencia, las corrientes de los motores ya no presentan los picos en los cambios de referencia (excepto en el arranque que aún se hace en escalón).
Los perfiles de velocidades y aceleraciones se corresponden con la interpolación utilizada (ver apuntes), y los utilizaremos más adelante cuando queramos generar trayectorias en el robot con velocidades controladas.