Generación de trayectorias

Documentos relacionados
6 DINAMICA DEL CUERPO RIGIDO

Problemas de Espacios Vectoriales

7. Práctica. 7.1.Estudio de Levas Introducción

Contenido. Prefacio... Acerca de los autores...

EJERCICIOS DE CONTROL POR COMPUTADOR BOLETIN V: SISTEMAS DISCRETOS (I)

ROBOTICA por OLLERO BATURONE Editorial Marcombo. Foreword Prólogo Prefacio del autor

TSTC. Dpt. Teoría de la Señal, Telemática y Comunicaciones Tema 2 CINEMÁTICA DE MANIPULADORES

TSTC. Dpt. Teoría de la Señal, Telemática y Comunicaciones. Robótica Industrial. Universidad de Granada

TSTC. Dpt. Teoría de la Señal, Telemática y Comunicaciones Tema 1 INTRODUCCIÓN A LA ROBÓTICA

Tema 7: Derivada de una función

Cinemática del Robot. CI-2657 Robótica M.Sc. Kryscia Ramírez Benavides

1 Control Óptimo. 1.1 Introducción Problema típico de control óptimo

Una forma fácil de recordar esta suma (regla de Sarrus): Primero vamos a estudiar algunas propiedades de los determinantes.

CINEMÁTICA I - Movimiento Vectorial

DERIVADAS PARCIALES Y APLICACIONES

MECÁNICA CLÁSICA CINEMATICA. FAyA Licenciatura en Química Física III año 2006

Base y Dimensión de un Espacio Vectorial

, la ley anterior se convierte en la ecuación de movimiento de la partícula: una ecuación diferencial para la posición r,

Ecuaciones Diferenciales. Conceptos Generales

Matemáticas II Bachillerato Ciencias y Tecnología 2º Curso ESPACIO AFÍN Introducción Ecuaciones de la recta...

PROGRAMA INSTRUCCIONAL ROBOTICA

2. El conjunto de los números complejos

ROBÓTICA I. Cinemática Directa

Introducción al cálculo numérico. Método de Euler

Preliminares Problemas de Valor Inicial Problemas de Contorno ECUACIONES DIFERENCIALES ORDINARIAS

ANÁLISIS Y DISEÑO DE SISTEMAS DE CONTROL PARA ROBOTS

Visión artificial y Robótica Modelos de movimiento y mapas. Depto. de Ciencia de la Computación e Inteligencia Artificial

Apéndice sobre ecuaciones diferenciales lineales

EJEMPLOS DE APLICACIÓN DE LA INTEGRACIÓN APROXIMADA DE LAS ECUACIONES DIFERENCIALES DE EQUILIBRIO

2015, Año del Generalísimo José María Morelos y Pavón

Aplicaciones Lineales. Diagonalización de matrices.

Análisis II Análisis matemático II Matemática 3.

1. Curvas Regulares y Simples

Selección de un Robot Industrial. Prof. J. Milland

Control y programación de robots

Algebra lineal y conjuntos convexos

Tema 3: Espacios vectoriales

Problemas de Selectividad de Matemáticas II Comunidad de Madrid (Resueltos) Isaac Musat Hervás

Sistemas de Ecuaciones Lineales y Matrices

PRACTICAS SEÑALES Y SISTEMAS

Nombre de la asignatura: Ingeniería Mecatrónica. Clave de la asignatura: MCM Horas teoría-horas práctica-créditos: 3-2-8

7.- Teorema integral de Fourier. Transformada de Fourier

Funciones reales de variable real

1. Características del movimiento

Bajo estas hipótesis la ley de Newton permite escribir las ecuaciones del cohete (ver Figura 1.1) como. = m(t) g + T (t), = g + dx dt (0) = v 0.

DERIVADAS 1.- TASA DE VARIACIÓN MEDIA DE UNA FUNCIÓN. Antes de dar la definición veamos unos ejemplos:

MÉTODO NUMÉRICO HEURÍSTICO PARA EL CÁLCULO DE RAÍCES DE POLINOMIOS

2. Distancia entre dos puntos. Punto medio de un segmento

INDICE 1. Desigualdades 2. Relaciones, Funciones, Graficas 3. La Línea Recta 4. Introducción al Cálculo. Límites

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO

SISTEMAS DE ECUACIONES. Un sistema de m ecuaciones lineales con n incógnitas, x 1, x 2,, x n es un conjunto de m igualdades de la forma:

2.004 MODELISMO, DINÁMICA Y CONTROL II Primavera Soluciones del boletín de problemas 6

Abril 2012 MÉTODO ANALÍTICO PARA LA OBTENCIÓN DEL COEFICIENTE DE ARRASTRE DE LOS CUERPOS QUE SE MUEVEN LIBREMENTE EN EL AIRE.

4. Control Vectorial. 1. Modelo dinámico del motor de inducción. 2. Control vectorial del motor de inducción. 3. Control vectorial Directo

FISICA 1º y 2º BACHILLERATO TRABAJO Y ENERGÍA

Derivadas. Derivabilidad

Dinámica. Carrera: MTM Participantes Representante de las academias de ingeniería Mecatrónica de los Institutos Tecnológicos.

1. Producto escalar. Propiedades Norma de un vector. Espacio normado. 1.2.Ortogonalidad. Ángulos. 1.4.Producto escalar en V 3.

Esta expresión polinómica puede expresarse como una expresión matricial de la forma; a 11 a 12 a 1n x 1 x 2 q(x 1, x 2,, x n ) = (x 1, x 2,, x n )

Teoría Tema 9 Ecuaciones del plano

1 SISTEMAS DE ECUACIONES LINEALES. MÉTODO DE GAUSS

Diagonalización de matrices

EJERCICIOS DE ÁLGEBRA LINEAL TEMA 1 ESPACIOS VECTORIALES

TEMA 2: DERIVADA DE UNA FUNCIÓN

Guía de Problemas. CINEMÁTICA de la MARCHA. Introducción

Mecánica de Fluidos. Análisis Diferencial

1. Matrices. Operaciones con matrices

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

INTERVALOS Y SEMIRRECTAS.

Resuelve. Unidad 4. Vectores en el espacio. BACHILLERATO Matemáticas II. Diagonal de un ortoedro y volumen de un paralelepípedo.

TEOREMAS GENERALES DE LA DINÁMICA DEL PUNTO MATERIAL

Universidad Politécnica de Madrid Escuela de Ingenieros Industriales. RoboTenis

Límite de una Función

La recta en el plano.

f: D IR IR x f(x) v. indep. v. dependiente, imagen de x mediante f, y = f(x). A x se le llama antiimagen de y por f, y se denota por x = f -1 (y).

Tensores cartesianos.

Sistemas de ecuaciones lineales dependientes de un parámetro

DEFINICIONES Y CONCEPTOS (SISTEMAS DE PERCEPCIÓN - DTE) Curso

Matemáticas. Si un error simple ha llevado a un problema más sencillo se disminuirá la puntuación.

18 Experimentos aleatorios. Sucesos y espacio muestral. Frecuencia y probabilidad de un suceso.

Tema 9. SISTEMAS COMBINACIONALES PROGRAMABLES SISTEMAS COMBINACIONALES PROGRAMABLES NO UNIVERSALES

Tema Contenido Contenidos Mínimos

EJERCICIOS PAU MATEMÁTICAS II ARAGÓN Autor: Fernando J. Nora Costa-Ribeiro Más ejercicios y soluciones en fisicaymat.wordpress.com

El estudio del movimiento de los cuerpos generalmente se divide en dos fases, por conveniencia: la cinemática y la dinámica.

Representación en el espacio de estado. Sistemas Control Embebidos e Instrumentación Electrónica UNIVERSIDAD EAFIT

Las funciones. 1. Constantes y variables.- Constante es una letra o símbolo que representa un número fijo y determinado.

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.

2. Formas cuadráticas. Expresiones diagonales. Clasificación respecto a su signo.

Integral de Fourier y espectros continuos

Capítulo 3. Polinomios

Continuidad de las funciones. Derivadas

Matrices y Sistemas Lineales

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

Derivada y diferencial

Transcripción:

Generación de trayectorias Félix Monasterio-Huelin 14 de octubre de 216 Índice Índice 1 Índice de Figuras 1 Índice de Tablas 1 1. Introducción 2 2. Generación de trayectorias cúbicas conocidos los puntos inicial y final 6 2.1. Velocidades inicial y final nulas............................. 6 3. Generación de trayectorias cúbicas conocidos los puntos inicial, final y un punto intermedio 8 3.1. Velocidad inicial y final nulas, y continuidad en velocidad y aceleración en un punto intermedio........................................ 1 A. Generación de trayectorias cúbicas conocidos los puntos inicial, final y un punto intermedio 14 Bibliografía 15 Índice de Figuras 1.1. Esquema de bloques general del sistema de control.................. 2 1.2. Robot en tres posiciones y orientaciones distintas: {Q, R )}: Inicial; {Q v, R v }: Intermedia; {Q f, R f }: Final................................ 3 1.3. Trayectoria en el espacio cartesiano........................... 3 1.4. Esquema de bloques, con generación de trayectorias en el espacio cartesiano..... 4 1.5. Esquema de bloques, con generación de trayectorias en el espacio de articulaciones. 4 1.6. Trayectorias cúbicas con un punto intermedio, en el espacio de configuraciones... 5 2.1. Trayectoria cúbica y discretizaciones en adelanto.................... 7 3.1. Trayectoria cúbica con un punto intermedio (roja) y sin punto intermedio (azul)... 11 3.2. Trayectoria cúbica con un punto intermedio (roja) y sin punto intermedio (azul): q i (t v ) > q i (t f )...................................... 11 3.3. Trayectorias cúbicas con un punto intermedio..................... 12 Índice de Tablas 1

1. Introducción Entenderemos por Generación de Trayectorias la representación de las coordenadas generalizadas como funciones del tiempo, q i (t) para todo i = 1, 2,, n, de tal manera que se satisfagan ciertas condiciones orientadas a la realización de tareas [1]. Normalmente las tareas de un robot manipulador se definen en el espacio cartesiano, es decir, como la evolución temporal de la posición y orientación del extremo de la mano, {d n (t), R6 (t)}. Un robot manipulador no es tan solo un mecanismo que tiene una movilidad definida por sus grados de libertad, sino un sistema complejo formado por actuadores que permiten realizar movimientos controlados. En este escrito supondremos que se dispone de un sistema de control realimentado asociado a cada uno de los grados de libertad del robot, que satisface, al menos, una especificación de diseño de los controladores: el seguimiento de señales de referencia, es decir, que la salida, q i (t), de cada uno de los sistemas de control realimentado coincida en el régimen permanente con señales de referencia prefijadas, q ri (t). q r (t) + Controladores Motores Mecanismo q(t) Cinemática Directa {d 6 (t),r6 (t)} Sensores Figura 1.1: Esquema de bloques general del sistema de control En la Figura 1.1 se muestra el esquema de bloques de un sistema de control realimentado típico de los robots manipuladores. En ella las ĺıneas dobles indican entradas o salidas vectoriales. El objetivo de esta clase de controladores realimentados es que q(t) q r (t) en cada instante de tiempo continuo t. Puesto que este objetivo es físicamente imposible, ya que exigiría una respuesta instantánea, los controladores se diseñan de tal manera que se produzca esa convergencia con un régimen transitorio breve. No es posible resolver el problema de control para cualquier señal de referencia, por lo que es común resolverlo para señales de referencia polinómicas de un grado finito prefijado, es decir, para señales de referencia de la forma q ri (t) = a i + a i1 t + a i2 t 2 + + a ip t p, donde p es un parámetro de diseño de los sistemas de control; normalmente p 3. El objetivo de este escrito es definir señales de referencia que permitan un movimiento suave del robot. Por comodidad de notación se eliminará, en lo sucesivo, el subíndice r cuando no se preste a confusión. 2

z Q v y Q f Q x Figura 1.2: Robot en tres posiciones y orientaciones distintas: {Q, R )}: Inicial; {Q v, R v }: Intermedia; {Q f, R f }: Final En la Figura 1.2 se muestra al robot de seis grados de libertad en tres posiciones y orientaciones distintas. La idea es generar trayectorias, en el dominio del tiempo, de la coordenada generalizada de cada articulación, que permita al robot ir de una posición y orientación a otra: {Q, R } {Q v, R v } {Q f, R f }. Hay dos formas principales de resolver el problema de la generación de trayectorias. La primera consiste en definir la trayectoria del extremo de la mano, como por ejemplo la que se muestra en la Figura 1.3. z Q v y Q f Q x Figura 1.3: Trayectoria en el espacio cartesiano Este método exige resolver el problema cinemático inverso en cada instante de tiempo, lo que supone utilizar un hardware suficientemente potente, además de controladores sofisticados, debido a que no existe ninguna garantía de que las señales de referencia de los sistemas de control sean funciones suaves. En cualquier caso, existen técnicas de diseño de controladores basados en señales de referencia cartesianas que no responden al esquema de bloques de la Figura 1.1. 3

{Q,R } {Q v,r v } {Q f,r f } Generación Trayectorias Cartesianas {Q r (t),r r (t)} Cinemática Inversa q r (t) Controladores Motores Mecanismo q(t) Cinemática Directa {d 6 (t),r6 (t)} Sensores Figura 1.4: Esquema de bloques, con generación de trayectorias en el espacio cartesiano En la Figura 1.4 se muestra un esquema de bloques con una generación de trayectorias en el espacio cartesiano. En este escrito no se estudia este método. No obstante, es conveniente entender que en algunas aplicaciones es necesario fijar la trayectoria en el espacio cartesiano, al menos en cuanto a la orientación de la mano. Por ejemplo, cuando deba trasladarse un objeto, como una taza de café, de un lugar a otro sin que se derrame. {Q,R } {Q v,r v } {Q f,r f } Cinemática Inversa Cinemática Inversa Cinemática Inversa q(t ) q(t v ) q(t f ) Generación Trayectorias Articulaciones q r (t) Controladores Motores Mecanismo q(t) Cinemática Directa {d 6 (t),r6 (t)} Sensores Figura 1.5: Esquema de bloques, con generación de trayectorias en el espacio de articulaciones El segundo método, que es el que abordaremos en este escrito, consiste en definir trayectorias en el espacio de configuraciones, que satisfagan la condición de que el robot pase por cierta posiciones y orientaciones prefijadas. En la Figura 1.5 se muestra un esquema de bloques con una generación de trayectorias en el espacio de configuraciones. Con este método solo es necesario resolver el problema cinemático inverso para las posiciones y orientaciones prefijadas. Los resultados de este problema servirán como condiciones de contorno para la generación de trayectorias de articulación suaves. 4

q(t) 3 q 1 (t) 2 q 2 (t) 1 q 3 (t) q 1 2 3 4 5 t 4 (t) q 5 (t) 1 q 6 (t) 2 t v = 2, s; t f = 5, s q(t) 5 4 3 2 1 1 2 3 4 5 t 1 2 3 q 1 (t) q 2 (t) q 3 (t) q 4 (t) q 5 (t) q 6 (t) 3 t v = 4, s; t f = 5, s (a) Coordenadas generalizadas (b) Coordenadas generalizadas z t v = 2, s; t f = 5, s t v = 4, s; t f = 5, s Q v y Q f Q x (c) Trayectorias en el espacio cartesiano Figura 1.6: Trayectorias cúbicas con un punto intermedio, en el espacio de configuraciones En la Figura 1.6 se muestran las curvas generadas para cada articulación q i (t), así como la trayectoria que se ha producido en el espacio cartesiano. Con este método no se tiene en cuenta ninguna restricción sobre la posición y orientación del extremo de la mano en cada instante de tiempo, excepto en un conjunto de posiciones y orientaciones predefinidas. Las curvas de las Figuras 1.6a y 1.6b se han obtenido siguiendo la técnica que se explica en la Sección 3. Con esta técnica es necesario especificar el instante de tiempo de paso por el punto intermedio, t v, además del instante de tiempo de paso por el punto final t f. En la Figura 1.6c se muestran dos trayectorias generadas en el espacio cartesiano, una cuando se ha especificado t v = 2 s, y la otra cuando se ha especificado t v = 4 s. Las discrepancias que se aprecian entre los didujos del robot y el trazado de las trayectorias se deben a problemas numéricos de la presentación gráfica, debidos a las limitaciones computacionales del editor de textos que se está utilizando. Las trayectorias en el espacio cartesiano se han obtenido resolviendo el problema cinemático directo a partir de las trayectorias generadas en el espacio de articulaciones q r (t), con una discretización de 25 puntos, por lo que deben considerarse aproximadas. Como las funciones q i (t) generadas son funciones polinómicas de grado tres, y por lo tanto funciones suaves, es decir, derivables en todo instante de tiempo, las trayectorias generadas en el espacio cartesiano también serán funciones suaves, debido a que la cinemática directa representa una función vectorial continua y derivable. Por lo tanto, el punto no derivable que se aprecia en la Figura 1.6c para t v = 4, solo puede ser debido a errores numéricos. En la práctica, suelen existir limitaciones en los rangos de variación de las coordenadas de articulación, debido a limitaciones mecánicas. Las técnicas que se desarrollan en este escrito para la generación de trayectorias de articulación, no tienen en cuenta estas limitaciones mecánicas. Puede apreciarse en las curvas de las Figuras 1.6a y 1.6b que los movimientos exigidos cuando t v = 4 s requieren un rango de valores de los ángulos de articulación mayor que en el caso en que se especifique t v = 2 s. Por lo tanto, la selección del valor de t v puede ser muy importante en cada aplicación 5

práctica, llegando incluso a ser necesario considerar más de una posición y orientación intermedias. Sin embargo, en este escrito solo se estudia el caso de un único punto intermedio, pero se explica la metodología que debe seguirse para obtener las trayectorias de articulación para más de un punto intermedio. 2. Generación de trayectorias cúbicas conocidos los puntos inicial y final El problema que se plantea es definir las coordenadas generalizadas en forma de polinomios cúbicos dependientes del tiempo t, sujeto a las siguientes restricciones conocidas q i (t) = a i + a i1 t + a i2 t 2 + a i3 t 3 (2.1) C = {t, t f, q i (t ), q i (t f ), q i (t ), q i (t f )} (2.2) El problema así planteado conduce al siguiente sistema de ecuaciones lineales, q i (t ) = a i + a i1 t + a i2 t 2 + a i3 t 3 q i (t f ) = a i + a i1 t f + a i2 t 2 f + a i3t 3 f q i (t ) = a i1 + 2a i2 t + 3a i3 t 2 q i (t f ) = a i1 + 2a i2 t f + 3a i3 t 2 f (2.3a) (2.3b) (2.3c) (2.3d) Este sistema puede representarse en la siguiente forma matricial T a = g (2.4) donde a = a i a i1 a i2 a i3 q i (t ) g = q i (t f ) q i (t ) q i (t f ) 1 t t 2 t 3 T = 1 2t 3t 2 1 t f t 2 f t 3 f 1 2t f 3t 2 f (2.5a) (2.5b) (2.5c) Los parámetros del polinomio cúbico se obtienen invirtiendo la matriz T, a = T 1 g (2.6) En la siguiente Subsección se desarrolla este problema para un caso particular, cuando se impone que las velocidades inicial y final sean nulas. Se obtiene, asímismo una versión discretizada útil para ser programada en un computador. 2.1. Velocidades inicial y final nulas Supongamos que t =, y que el manipulador se encuentra inicalmente detenido, es decir q i () =, en alguna configuración conocida, q i () para i = 1, 2, n, y que, además se impone la 6

condición de que el manipulador se detenga, en el instante de tiempo final t f, es decir q i (t f ) =, en alguna configuración conocida, q i (t f ) para i = 1, 2 n. El conjunto de restricciones es, entonces, Por lo tanto, C = {, t f, q i (), q i (t f ),, } (2.7) q i () = a i q i () = = a i1 q i (t f ) = a i + a i1 t f + a i2 t 2 f + a i3t 3 f q i (t f ) = = a i1 + 2a i2 t f + 3a i3 t 2 f Expresando las dos últimas ecuaciones en forma matricial, [ ] [ ] 1 tf ai2 = q i(t f ) q i () 2 3t f a i3 t 2 f se obtiene la solución, [ ] ai2 = q [ i(t f ) q i () 1 tf a i3 t 2 2 3t f f [ ] 1 ] 1 [ ] 1 = q i(t f ) q i () t 3 f [ 3tf t f 2 1 ] [ ] 1 (2.8a) (2.8b) (2.8c) (2.8d) (2.9) (2.1) En resumen, a i a i1 a i2 = a i3 q i () 3α i t f 2α i (2.11) donde α i = q i(t f ) q i () t 3 f (2.12a) Entonces, q i (t) = q i () + 3α i t f t 2 2α i t 3 (2.13) Vamos a deducir, a continuación, una ecuación discreta de la trayectoria, con el fin de que pueda ser fácilmente programada. Para ello puede hacerse t = kt, con k =, 1, 2, y siendo T un periodo de muestreo constante. q i (t) 1,5 1,5 Continua:t f = 5 s T = 5 s T = 2,5 s T =,5 s 1 2 3 4 5 t q i () =,17453 rad ; q i (t f ) = 1,3899 rad Figura 2.1: Trayectoria cúbica y discretizaciones en adelanto En la Figura 2.1 se presenta un ejemplo de trayectoria cúbica y su discretización en adelanto, para diferentes valores del periodo de muestreo, T. A continuación se explica cómo obtener la discretización en adelanto. 7

Supongamos que t f = NT, donde N N. Entonces, haciendo t = kt, con k =, 1, 2,, N, donde q i (k) = q i () + β i (3N 2k)k 2 (2.14) β i = q i(n) q i () N 3 = T 3 α i (2.15) Hay que tener en cuenta que el muestreo supone, por razones de causalidad, que los intervalos en los que se retiene el valor de la trayectoria, sean [k, k + 1), con k = 1, 2,, N, es decir, cerrados por la izquierda y abiertos por la derecha. Sin embargo, es posible realizar una programación con anticipación, es decir, considerando que los intervalos son (k 1, k], con k = 1, 2,, N. Esto tiene sentido en este caso de generación de trayectorias, ya que la trayectoria es conocida, además de que será la referencia de un controlador del manipulador tal que la respuesta en régimen permanente no será instantánea, sino que demorará un tiempo llamado tiempo de establecimiento. De esta manera se garantiza que en cada intervalo de muestreo el sistema ya haya sido controlado, es decir, que la salida de cada articulación del robot haya alcanzado el valor deseado q i (k). Esto último es cierto siempre que el controlador sea perfecto, lo que no suele ser el caso. Pero aún así, al programar una referencia anticipada se evita un retardo de un periodo de muestreo en la salida del sistema. Para la programación en adelanto puede utilizarse la siguiente expresión, válida en cada intervalo de tiempo continuo (kt, (k + 1)T ] con k =, 1, 2,, N 1, q i (k) = q i () + β i (3N 2(k + 1)) (k + 1) 2, k {, 1,, N 1} (2.16) No vamos a entrar aquí a estudiar cómo debe seleccionarse el periodo de muestreo T, sino tan solo a comentar un hecho importante. Si T es excesivamente elevado en relación a la respuesta dinámica del sistema, se apreciará un movimiento a saltos del manipulador. Esto depende del tipo de controlador que se haya programado y de la respuesta mecánica del robot. Por lo tanto, en general, debe seleccionarse un valor suficientemente pequeño. Puede verse también que, al ser β i inversamente proporcional a N 3, cuanto mayor sea N menor será el valor de β i y por lo tanto, el de q i (k) q i (). Es decir, que cuanto menor sea T más se aproximará la curva discreta al polinomio cúbico. No obstante, la anticipación supone que las restricciones sobre las velocidades, impuestas en su diseño, no se cumplirán completamente. Que el manipulador siga la trayectoria discreta generada depende, en buena parte, de cómo haya sido diseñado el controlador. 3. Generación de trayectorias cúbicas conocidos los puntos inicial, final y un punto intermedio El problema que se plantea es definir las coordenadas generalizadas en forma de polinomios cúbicos dependientes del tiempo t, que conectan de manera suave puntos intermedios, sin que el robot se detenga en ellos. Estudiaremos exclusivamente el caso de un único punto intermedio que debe producirse en el instante de tiempo t = t v. Es decir, la trayectoria estará compuesta por dos polinomios cúbicos, q i (t) = { ai + a i1 t + a i2 t 2 + a i3 t 3, t [t, t v ] b i + b i1 t + b i2 t 2 + b i3 t 3, t [t v, t f ] (3.1a) (3.1b) sujeto a las siguientes restricciones conocidas C = {t, t v, t f, q i (t ), q i (t v ), q i (t f ), q i (t ), q i (t f )} (3.2) junto con ciertas condiciones de continuidad entre segmentos. Las condiciones de continuidad pueden ser elegidas de diferentes formas: 1. Especificando la velocidad q i (t v ) obtenida resolviendo el problema cinemático inverso de velocidad. 8

2. Especificando la velocidad q i (t v ) mediante algún criterio heurístico, como por ejemplo, un valor medio entre las pendientes de segmentos lineales que unen los puntos [q i (t ), q i (t v )] y [q i (t v ), q i (t f )] cuando sean del mismo signo, y un valor nulo cuando sean de distinto signo,, sgn(m 1 ) sgn(m 2 ) q i (t v ) = m 1 + m 2, 2 sgn(m 1 ) = sgn(m 2 ) donde sgn(x) representa la función signo de x, y (3.3a) (3.3b) m 1 = q i(t v ) q i (t ) t f1 m 2 = q i(t f ) q i (t v ) t f2 (3.4a) (3.4b) donde t f1 = t v t y t f2 = t f t v. 3. Imponiendo restricciones de continuidad en la velocidad y en la aceleración en t = t v, q i (t v ) y q i (t v ), a i1 + 2a i2 t v + 3a i3 t 2 v = b i1 + 2b i2 t v + 3b i3 t 2 v 2a i2 + 6a i3 t v = 2b i2 + 6b i3 t v (3.5a) (3.5b) Los dos primeros enfoques conducen al siguiente sistema de ecuaciones lineales, q i (t ) = a i + a i1 t + a i2 t 2 + a i3 t 3 q i (t f ) = b i + b i1 t f + b i2 t 2 f + b i3t 3 f q i (t v ) = a i + a i1 t v + a i2 t 2 v + a i3 t 3 v q i (t v ) = b i + b i1 t v + b i2 t 2 v + b i3 t 3 v q i (t ) = a i1 + 2a i2 t + 3a i3 t 2 q i (t f ) = b i1 + 2b i2 t f + 3b i3 t 2 f q i (t v ) = a i1 + 2a i2 t v + 3a i3 t 2 v q i (t v ) = b i1 + 2b i2 t v + 3b i3 t 2 v (3.6a) (3.6b) (3.6c) (3.6d) (3.6e) (3.6f) (3.6g) (3.6h) Este sistema puede representarse como dos sistemas de ecuaciones en forma matricial, T 1 a = g 1 T 2 b = g 2 (3.7a) (3.7b) 9

donde a = b = a i a i1 a i2 a i3 b i b i1 b i2 b i3 q i (t ) g 1 = q i (t v ) q i (t ) q i (t v ) q i (t v ) g 2 = q i (t f ) q i (t v ) q i (t f ) 1 t t 2 t 3 T 1 = 1 2t 3t 2 1 t v t 2 v t 3 v 1 2t v 3t 2 v 1 t v t 2 v t 3 v T 2 = 1 2t v 3t 2 v 1 t f t 2 f t 3 f 1 2t f 3t 2 f (3.8a) (3.8b) (3.8c) (3.8d) (3.8e) (3.8f) Los parámetros de los polinomios cúbicos se obtienen invirtiendo las matrices T 1 y T 2, a = T1 1 g 1 (3.9) b = T2 1 g 2 (3.1) El tercer enfoque conduce al siguiente sistema de ecuaciones lineales, q i (t ) = a i + a i1 t + a i2 t 2 + a i3 t 3 q i (t f ) = b i + b i1 t f + b i2 t 2 f + b i3t 3 f q i (t v ) = a i + a i1 t v + a i2 t 2 v + a i3 t 3 v q i (t v ) = b i + b i1 t v + b i2 t 2 v + b i3 t 3 v q i (t ) = a i1 + 2a i2 t + 3a i3 t 2 q i (t f ) = b i1 + 2b i2 t f + 3b i3 t 2 f a i1 + 2a i2 t v + 3a i3 t 2 v = b i1 + 2b i2 t v + 3b i3 t 2 v 2a i2 + 6a i3 t v = 2b i2 + 6b i3 t v (3.11a) (3.11b) (3.11c) (3.11d) (3.11e) (3.11f) (3.11g) (3.11h) En la siguiente subsección se desarrolla este último método para el caso en que las velocidades inicial y final sean nulas. 3.1. Velocidad inicial y final nulas, y continuidad en velocidad y aceleración en un punto intermedio Cuando las velocidades inicial y final son nulas, es decir, q i (t ) = q i (t f ) =, es más conveniente expresar los polinomios cúbicos en la forma siguiente: q i (t) = { ai + a i1 (t t ) + a i2 (t t ) 2 + a i3 (t t ) 3, t [t, t v ] b i + b i1 (t f t) + b i2 (t f t) 2 + b i3 (t f t) 3, t [t v, t f ] (3.12a) (3.12b) 1

De esta manera a i = q i (t ) b i = q i (t f ) a i1 = b i1 = quedando el problema reducido a la obtención de cuatro parámetros en vez de ocho, { qi (t ) + a i2 (t t ) 2 + a i3 (t t ) 3, t [t, t v ] q i (t) = q i (t f ) + b i2 (t f t) 2 + b i3 (t f t) 3, t [t v, t f ] (3.13a) (3.13b) (3.13c) (3.13d) (3.14a) (3.14b) q i (t) 1,5 1 q i (t v ) (2,.785) t v = 2 s; t f = 5 s t f = 5 s,5 q i () =,8727 rad ; q i (t v ) =,78539 rad ; q i (t f ) = 1,3899 rad 1 2 3 4 5 t t v Figura 3.1: Trayectoria cúbica con un punto intermedio (roja) y sin punto intermedio (azul) q i (t) 1,5 q i (t v ) 1 (2,1.39) t v = 2, s; t f = 5, s t f = 5 s,5 q i () =,8727 rad ; q i (t v ) = 1,3899 rad ; q i (t f ) =,78539 rad 1 2 3 4 5 t t v Figura 3.2: Trayectoria cúbica con un punto intermedio (roja) y sin punto intermedio (azul): q i (t v ) > q i (t f ) En la Figura 3.1 se muestran dos curvas con el fin de compararlas. La curva roja representa la trayectoria formada por dos segmentos cúbicos que pasan por un punto intermedio, siguiendo las ecuaciones dadas por 3.14. La curva azul, es la trayectoria cúbica teniendo en cuenta únicamente los puntos inicial y final, como se ha estudiado en la Sección 2. En la Figura 3.2 se muestran, de nuevo, las dos curvas, pero en el caso en que el punto intermedio q i (t v ) > q i (t f ). A continuación se indican las funciones que definen los parámetros de cada segmento de la trayectoria. Llamaremos t f1 = t v t (3.15a) t f2 = t f t v (3.15b) 11

Imponiendo las condiciones de continuidad, se obtienen las cuatro ecuaciones que definen el problema, q i (t v ) = q i (t ) + a i2 t 2 f1 + a i3t 3 f1 q i (t v ) = q i (t f ) + b i2 t 2 f2 + b i3t 3 f2 2a i2 t f1 + 3a i3 t 2 f1 = 2b i2t f2 3b i3 t 2 f2 2a i2 + 6a i3 t f1 = 2b i2 + 6b i3 t f2 (3.16a) (3.16b) (3.16c) (3.16d) En el Apéndice A se demuestra que donde a i3 = α i1 + α i2 t f2 t f1 (t f1 + t f2 ) b i3 = α i1 α i2 t f1 t f2 (t f1 + t f2 ) a i2 = 3 α i1 + 2α i2 t f2 2 t f1 + t f2 b i2 = 3 α i1 2α i2 t f1 2 t f1 + t f2 α i1 = 2(q i(t v ) q i (t )) t f1 + 2(q i(t v ) q i (t f )) t f2 α i2 = q i(t v ) q i (t ) 2t 2 f1 q i(t v ) q i (t f ) 2t 2 f2 (3.17a) (3.17b) (3.17c) (3.17d) (3.18a) (3.18b) q i (t) 3 2,5 q i (t v ) 2 1,5 q i (t v ) 1 q i (t v ),5 1 2 3 4 5 t t v t v t v Figura 3.3: Trayectorias cúbicas con un punto intermedio En la Figura 3.3 se muestra una colección de trayectorias cúbicas con un punto intermedio, para diferentes valores de q i (t v ) y t v. Las curvas de color verde se han realizado para t v = t f /2, con q i (t v ) = q i (t f )/2 y q i (t v ) = 2q i (t f ). Las curvas de color azul se han realizado con q i (t v ) = q i (t f ). 12

Los polinomios cúbicos dados por 3.14 pueden escribirse, haciendo t = kt, en la siguiente forma discreta, q i (k) = { qi () + a i2k 2 + a i3k 3, k {, 1, 2,, N 1 } q i (N) + b i2(n k) 2 + b i3(n k) 3, k {N 1, N 1 + 1,, N} (3.19a) (3.19b) con t f1 = N 1 T, t f2 = N 2 T, N = N 1 + N 2 y donde y β i1 = 2(q i(n 1 ) q i ()) N 1 + 2(q i(n 1 ) q i (N 1 + N 2 )) N 2 β i2 = q i(n 1 ) q i () 2N 2 1 q i(n 1 ) q i (N 1 + N 2 ) 2N 2 2 a i3 = β i1 + β i2 N 2 NN 1 b i3 = β i1 β i2 N 1 NN 2 a i2 = 3 β i1 + 2β i2 N 2 2 N b i2 = 3 β i1 2β i2 N 1 2 N (3.2a) (3.2b) (3.21a) (3.21b) (3.21c) (3.21d) Puede obtenerse una expresión discretizada en adelanto válida en los intervalos de tiempo continuo (kt, (k + 1)T ], modificando la ecuación 3.19, q i (k) = { qi () + a i2(k + 1) 2 + a i3(k + 1) 3, k {, 1, 2,, N 1 1} q i (N) + b i2(n k 1) 2 + b i3(n k 1) 3, k {N 1, N 1 + 1,, N 1} (3.22a) (3.22b) 13

A. Generación de trayectorias cúbicas conocidos los puntos inicial, final y un punto intermedio Cuando las velocidades inicial y final son nulas, q i (t ) = q i (t f ) =, es más conveniente expresar los polinomios cúbicos en la forma siguiente: q i (t) = { ai + a i1 (t t ) + a i2 (t t ) 2 + a i3 (t t ) 3, t [t, t v ] b i + b i1 (t f t) + b i2 (t f t) 2 + b i3 (t f t) 3, t [t v, t f ] (A.1a) (A.1b) De esta manera a i = q i (t ) b i = q i (t f ) a i1 = b i1 = (A.2a) (A.2b) (A.2c) (A.2d) quedando el problema reducido a la obtención de cuatro parámetros en vez de ocho. Llamaremos t f1 = t v t t f2 = t f t v (A.3a) (A.3b) Imponiendo las condiciones de continuidad, se obtienen las cuatro ecuaciones que definen el problema, q i (t v ) = q i (t ) + a i2 t 2 f1 + a i3t 3 f1 q i (t v ) = q i (t f ) + b i2 t 2 f2 + b i3t 3 f2 2a i2 t f1 + 3a i3 t 2 f1 = 2b i2t f2 3b i3 t 2 f2 2a i2 + 6a i3 t f1 = 2b i2 + 6b i3 t f2 (A.4a) (A.4b) (A.4c) (A.4d) Las dos primeras ecuaciones pueden ser escritas en la forma, q i (t v ) q i (t ) t 2 f1 q i (t v ) q i (t f ) t 2 f2 = a i2 + a i3 t f1 (A.5a) = b i2 + b i3 t f2 (A.5b) (A.5c) Sustituyendo en las dos segundas, 2(q i (t v ) q i (t )) t f1 + a i3 t 2 f1 = 2(q i(t v ) q i (t f )) t f2 b i3 t 2 f2 (A.6a) q i (t v ) q i (t ) t 2 f1 + 2a i3 t f1 = q i(t v ) q i (t f ) t 2 f2 + 2b i3 t f2 (A.6b) Llamemos Entonces, α i1 = 2(q i(t v ) q i (t )) t f1 + 2(q i(t v ) q i (t f )) t f2 α i2 = q i(t v ) q i (t ) 2t 2 f1 q i(t v ) q i (t f ) 2t 2 f2 a i3 t 2 f1 + b i3t 2 f2 = α i1 a i3 t f1 b i3 t f2 = α i2 (A.7a) (A.7b) (A.8a) (A.8b) 14

Resolviendo, y a i2 = q i(t v ) q i (t ) t 2 f1 b i2 = q i(t v ) q i (t f ) t 2 f2 a i3 = α i1 + α i2 t f2 t f1 (t f1 + t f2 ) b i3 = α i1 α i2 t f1 t f2 (t f1 + t f2 ) a i3 t f1 = q i(t v ) q i (t ) t 2 f1 b i3 t f2 = q i(t v ) q i (t f ) t 2 f2 + α i1 + α i2 t f2 t f1 + t f2 + α i1 α i2 t f1 t f1 + t f2 (A.9a) (A.9b) (A.1a) (A.1b) Puede comprobarse que, α i1 2 + 2α i2t f2 = (q i (t v ) q i (t )) t f1 + t f2 t 2 f1 α i1 2 2α i2t f1 = (q i (t v ) q i (t f )) t f1 + t f2 t 2 f2 (A.11a) (A.11b) Entonces a i2 = 3 α i1 + 2α i2 t f2 2 t f1 + t f2 b i2 = 3 α i1 2α i2 t f1 2 t f1 + t f2 (A.12a) (A.12b) Por ultimo, podemos comprobar que α i1 + 2α i2 t f2 = (t f2 + 2t f1 )(q i (t v ) q i (t )) t 2 f1 + q i(t v ) q i (t f ) t f2 α i1 2α i2 t f1 = q i(t v ) q i (t ) t f1 + (2t f2 + t f1 )(q i (t v ) q i (t f )) t 2 f2 α i1 + α i2 t f2 = (4t f1 + t f2 )(q i (t v ) q i (t )) 2t 2 f1 + 3 q i (t v ) q i (t f ) 2 t f2 α i1 α i2 t f1 = 3 q i (t v ) q i (t ) + (4t f2 + t f1 )(q i (t v ) q i (t f )) 2 t f1 2t 2 f2 (A.13a) (A.13b) (A.13c) (A.13d) Bibliografía [1] J. Craig, Introduction to Robotics. Mechanics & Control. Addison-Wesley Publishing Company, Inc., 1986. 15