Robótica
Instituto Tecnológico Superior de Uruapan Trabajo: Investigación PLANIFICACIÓN DE TRAYECTORIAS “
”
Profesor: Dr. Gerardo Loreto Gómez
ROBÓTICA Carrera: INGENIERÍA MECATRÓNICA 2017
Semestre y grupo: 9° “A” Equipo: Benítez Magaña Osvaldo García Avilés Carlos Eduardo Acosta Frutis Noel Alejando Período Semestral: Agosto Diciembre 2017
a c i n ó r t a c e M a í r e i n e g
Robótica
1 Uruapan Michoacán 4-Dic-2017 4-Dic -2017
Robótica Contenido 6.1
Trayectorias paramétricas ........................... .......................................... ............................ ........................... ............................ ............................ ............................ .............. 6
6.1.1
Tipos de Trayectorias. ........................... ......................................... ............................ ............................ ............................ ............................ ............................ ................ .. 6
6.2
Perfil trapezoidal ............................ ......................................... ........................... ............................ ............................ ............................. ............................ ........................... .............. 8
6.3
Restricciones de trayectorias ........................... ......................................... ............................ ............................ ............................ ............................ ..................... ....... 11
Bibliografía ............................ .......................................... ............................ ............................ ............................ ............................ ............................ ........................... ............................ ........................ ......... 12
Figura 6.1.a Una trayectoria imposible i mposible de realizar .................................. ................................................ ............................ ............................ ............................ .............. 3 Figura 6.1.b. Una trayectoria no suave: requiere un impulso de aceleración ............................ .......................................... ..................... ....... 4 Figura 6.1.c Segmentos lineales con transición parabólica ........................... ......................................... ............................ ............................ ....................... ......... 5 Figura 6.3.a Robot no Holonómico ............................ .......................................... ............................ ............................ ............................ ............................ ............................ .............. 11 Figura 6.3.b Robot holonómico........................... ......................................... ............................ ............................ ............................ ............................ ............................ ..................... ....... 11
Robótica
2
Robótica
En una aplicación industrial estamos generalmente interesados en volver la herramienta desde la posición/orientación a una nueva posición/orientación. En operaciones de “coger y colocar ” no es importante saber que trayectoria sigue la herramienta desde un punto a otro (salvo si se desea optimizar el tiempo y evitar colisiones con posibles objetos en el espacio de trabajo). Hay otros casos, Sin embargo, en los cuales esencial seguir una trayectoria determinada. Ejemplos sencillos y prácticos a la vez son: soldadura autógena; corte de materiales; etc. Una trayectoria determinada puede aproximarse por pequeños lineales, en cuyo caso debe considerarse el error máximo permisible en clase trayectoria exacta y la aproximación para acá segmento. Para cada punto tendremos
= [0 1] Donde R es la submatriz 3x3 de rotación y p es el vector 3x1 de posición. Al conocerse las ecuaciones cinemáticas inversas, podemos determinar los valores de para cada punto ( , recordemos es variable de la articulación “i”). Es 2 entre necesario, además, saber la velocidad y la aceleración, y 2 puntos. Conviene, por lo tanto, considerar como una función continua de
/ /
tiempo. Para poder realizar una trayectoria, es necesario que esta sea “suave”, lo
cual significa que sea continua y que tenga primera derivada también continua. En efecto si tratamos de realizar una trayectoria como la de la Figura 6.1.a, esto 6.1.a, esto es imposible
Figura 6.1.a Una trayectoria imposible de realizar
Es fácil ver la imposibilidad de esta trayectoria si además de la posición (Angulo), consideramos la velocidad (angular) y la aceleración:
Robótica
3
Robótica
Figura 6.1.b. Una trayectoria no suave: requiere un impulso de aceleración aceleración
Una función impulso, como se recordará, tiene una amplitud infinita y dura cero. Claramente es imposible actuar un eslabón con la aceleración infinita durante un tiempo cero. Los fabricantes de los robots especifican la máxima aceleración tolerable y este es el factor más importante a tomar en cuenta cuando a tomar en cuenta cuando se planea una trayectoria Una posible solución al problema es requerir que la aceleración sea constante durante cierto periodo de tiempo, de manera que la aceleración constante máxima sea inferior a la máxima especificada por el fabricante. Para lograr esto, si la trayectoria se aproxima por segmentos lineales, debemos usar una función cuadrática que remplace a los segmentos rectos en puntos cercanos a los cambios de pendiente de estos tal como se indica en la Figura 6.1.c. Este 6.1.c. Este método lleva el nombre de “segmentos lineales con transición parabólica”.
Existen otras soluciones posibles, tales como el uso de polinomios cúbicos. [2] Aunque hemos usado el termino trayectoria más arriba, conviene definirlo formalmente: Trayectoria es una relación temporal de posición, velocidad y aceleración para cada uno de los grados de libertad del robot [1] Similarmente, definimos puntos vía: una secuencia de puntos que generan un trayecto continuo en el cual se controla la posición y orientación de la herramienta
Robótica
4
Robótica
Figura 6.1.c Segmentos lineales con transición parabólica
()
Como ya dijimos, conociendo para los puntos vía, podemos obtener los valores correspondientes de los para estos puntos. Para cada articulación se determina una función suave que pase por los puntos vía, empezando en el punto de partida y llegando a la meta deseada. Es importante que todas las articulaciones pasen de un punto vía otro punto vía en el mismo intervalo de tiempo. En la práctica se desea, generalmente, que la herramienta siga una trayectoria determinada determinada con una orientación también determinada. [2]
Robótica
5
Robótica
6.1 Trayectorias paramétricas Ejemplo de una trayectoria paramétrica ver figura 6.1_a Comportamiento de una trayectoria paramétrica ver Figura 6.1_b (abrir con google crome)
Definir el movimiento de un robot implica controlar dicho robot de manera que siga un camino preplanificado. El objetivo es por tanto establecer cuáles son las trayectorias que debe seguir cada articulación del robot a lo largo del tiempo para conseguir los objetivos fijados. La planificación de trayectorias presenta dos puntos fundamentalmente, estos son:
Control cinemático o planificación de trayectorias. Consiste en describir el movimiento deseado del manipulador como una secuencia de puntos en el espacio (con posición y orientación). El control cin emático interpola el camino deseado mediante una clase de funciones polinomiales y genera una secuencia de puntos a lo largo del tiempo.
Control dinámico o control de movimiento. Trata de conseguir que el robot siga realmente las trayectorias marcadas por el control cinemático teniendo en cuenta las limitaciones de los actuadores y el modelo dinámico del robot. Tal y como se estudió en la práctica 3, el modelo dinámico del robot es fuertemente no lineal, multivariable y acoplado. Este aspecto del control será abordado en la práctica 6 de simulación y control de robots.
El estudio de las trayectorias en el espacio cartesiano toma en cuenta el movimiento del efectuador final y no toma en cuenta lo que hacen las articulaciones. En cambio, el estudio de las trayectorias en el espacio de articulaciones, estudia cómo trabaja cada articulación independientemente sin tomar en cuenta que es lo que hagan las demás articulaciones. [3]
6.1.1
Tipos de Trayectorias.
La mejora tecnológica ha permitido que los robots puedan realizar trayectorias cada vez más complejas, al poder ser éstas calculadas previamente. Trayectorias punto a punto . En este tipo de trayectorias cada articulación se mueve independientemente, sin considerar el efecto del resto de las articulaciones. Dentro de este tipo se engloban las trayectorias con movimiento eje a eje y las de movimiento simultáneo de ejes. En las trayectorias con movimiento eje a eje en primer lugar se actúa sobre un motor, y cuando este ha finalizado su recorrido, se activa el siguiente motor. Este tipo de movimiento tiene como única ventaja el ahorro energético. Trayectorias coordinadas o isócronas isócronas En este tipo de trayectorias se procura que el movimiento de todos los actuadores sea coordinado e isocrona. Esto quiere decir que el actuador que tarda más tiempo en alcanzar la posición requerida ralentiza al resto, de manera que ningún movimiento acaba antes que el de otra articulación. El tiempo total invertido en el movimiento es el menor posible, y los requerimientos de velocidad y aceleración de los motores son menores que en otro tipo de movimiento. El inconveniente de este tipo de planificadores es que la trayectoria que describe el extremo del robot es desconocida a priori. El esquema de planificador que se explica en el siguiente apartado corresponde a este tipo de planificadores.
Robótica
6
Robótica Trayectorias continuas. En este tipo de trayectorias se pretende que el camino seguido por el extremo del robot sea conocido. Para ello las trayectorias articulares deben acomodarse conjuntamente. Cada articulación por separado parece tener un movimiento desordenado, sin embargo, el resultado es que el extremo se mueve siguiendo el camino previsto. [4] Ver video 6.1 ecuaciones paramétricas
Robótica
7
Robótica 6.2
Perfil trapezoidal 6.2.1
Introducción
Una vez definida la Discretización del espacio de búsqueda es necesario definir la conectividad que tienen los estados entre sí, mediante un conjunto de trayectorias primitivas que se calculan a priori , y de forma independiente al proceso de planificación. Este conjunto de trayectorias contiene todos los posibles movimientos realizables por el robot entre nodos vecino. El resultado de comprobar la conectividad entre todos los posibles estados de inicio y de fin es un conjunto de conexiones representada por un pequeño grafo dirigido, donde tanto los estados de inicio como los de fin están dentro del conjunto discreto de estados.
Figura 6.2.a. Planificación con diferentes resoluciones del espacio de estados.
Replicando la máscara de conexiones en intervalos regulares se forma una retícula, que permite ejecutar el algoritmo AD* de forma eficiente para estudiar el camino óptimo libre de obstáculos entre el nodo de inicio y de fin. Este proceso tiene en cuenta las simetrías de transformación, rotación y reflexión, con el fin de ahorrar tiempo de computación. El esquema de ejecución se detalla en los algoritmos 7 y 8. ver imagen 6.2-a y ver figura 6.2-b. 6.2-b.
6.2.2
Definición
Los perfiles de velocidad lineal y angular asociados a una trayectoria se han definido de forma trapezoidal. Estos perfiles recogen el conjunto de comandos a aplicar durante la ejecución de la trayectoria. Los perfiles trapezoidales permiten una mayor flexibilidad en las trayectorias generadas, puesto que constan de dos intervalos de tiempo de aceleración, y dos más en los que se mantiene una velocidad constante. Cada uno de los perfiles, velocidad lineal y angular, queda completamente descrito con 7 valores, tal y como se muestra en la figura 6.2.c.
Figura 6.2.b. 6.2.b. Niveles de vecindad para la generación de trayectorias primitivas.
Figura 6.2.c. Forma trapezoidal trapezoidal de los perfiles de velocidad asociados a las órdenes de c ontrol.
Para comprobar si dos estados del robot están conectados, es necesario generar todos los perfiles de velocidad lineal y angular cuyos valores inicial y final se corresponden con los estados que se están comprobando. Como el tiempo y la velocidad son variables continuas, el número de trapecios que pueden conectar los valores inicial y final es infinito. Por esta razón, es necesario realizar una Discretización en ambas, que mantenga la flexibilidad de los perfiles trapezoidales a la vez que se mantiene razonable el tiempo de computación necesario para estudiar la conectividad entre dos estados. Ésta se ha definido de la siguiente forma: Para las velocidades lineal y angular: se utilizan los mismos valores que pueden formar parte del conjunto de todos los estados discretos del robot.
Robótica
8
Robótica
Figura 6.2.d. Pesos asignados a las celdas del mapa según su estado.
Para el tiempo: en el intervalo [0 , [0 , tf ], las variables temporales que definen el trapecio ( t 1, 1, t 2, 2, t 3), 3), pueden tomar valores cada tc, tc, que es el tiempo entre comandos de control enviados al robot.
La generación de los puntos de la trayectoria se realiza aplicando los perfiles de velocidad al modelo de movimiento del robot. Las trayectorias generadas han sido obtenidas de tal forma que se minimice el tiempo empleado en realizar la conexión entre los dos estados del robot. Con la resolución utilizada en las variables de los estados del robot definida en la tabla 1, se obtiene un número de trayectorias muy elevado, superior a las 8.000. Sin embargo, es posible reducir este número significativamente, eliminando aquellas trayectorias con un coste superior a la combinación de otras trayectorias primitivas. Así, el número de trayectorias que se mantienen es cercano a las 5.000. En la figura 10 se pueden ver las trayectorias salientes, en azul, y las trayectorias entrantes, en rojo, para diferentes estados del robot. [6] Coordinación de caminos: Similar al método propuesto por (Siméon et al .,., 2002) en el caso de l a planificación sin trayectorias, Akella y Hutchinson (Akella y Hutchinson,2002) ofrecen una aproximación que sí construye trayectorias como la unión de un camino y un perfil de velocidad. Esta solución es válida para robots móviles y también en entornos puramente industriales, como celdas de soldadura y pintura en industrias automovilísticas. El problema se resuelve mediante técnicas de optimización, donde el tiempo es la magnitud a minimizar: se formula como programación lineal mixta entera, identificando condiciones necesarias y suficientes para la coordinación de robots sin colisiones. Diseñado para ambientes industriales con dos manipuladores, (Lee et al .,., 1995) presentan una técnica de coordinación de caminos bautizada como descomposición planificación-coordinación . Ésta se centra en la planificación de velocidades, por lo que no se concede excesiva importancia a la definición de caminos geométricos. Los perfiles de velocidad usados son trapezoidales, aunque son posibles otros siempre que cumplan las restricciones cinemáticas y dinámicas. La base del método es aañadir ñadir retrasos en los puntos intermedios entre segmentos del camino. Para ello se crea el Collected Coordination Space, Space , que incluye las regiones de colisión; sobre él se determina la curva de coordinación que garantizará la colisión sin que se modifique el camino geométrico, y sin que se alteren los perfiles de velocidad calculados inicialmente, ya que sólo se añaden tiempos de espera. Por último, Rude y otros (Rude et al., al., 1995) exponen un método que presta especial atención a la incertidumbre espacial en el movimiento de los vehículos, y que influye en la percepción que cada robot tiene del resto de integrantes del sistema multirrobot. Así, cada robot se modela, en el espaciotiempo global, como un vector de incertidumbre determinista, que se traduce en un hiper-elipsoide cuatridimensional; por otra parte, las trayectorias se representan como líneas, denominadas world lines o líneas del mundo. El problema de la planificación de trayectorias se resuelve si se consigue una configuración apta de las líneas del mundo que eviten la colisión, considerando que alrededor de cada línea debe establecerse una zona de exclusión
Robótica
9
Robótica correspondiente a la incertidumbre asociada. En caso de que un par de líneas interfieran, se genera un vector de desplazamiento temporal, que se añadirá a la trayectoria del robot que ha detectado la colisión, y que provocará una alteración tanto de su perfil geométrico como de su perfil temporal. [7] Ver video 6.2 brazo robótico controlando velocidad
Robótica
10
Robótica
6.3
Figura 6.3.a Robot no Holonómico
Restricciones de trayectorias
La cinemática de un robot establece la relación entre los movimientos de los actuadores y los movimientos que el robot realiza. Dependiendo de las variables independientes y dependientes que describen las ecuaciones de moviiento se tiene una descripción de cinemática directa o inversa. La cinemática directa permite determinar la posición final del robot conociendo la posición o configuración inicial y los movimientos realizados por los actuadores. Mediante la cinemática inversa es posible establecer los movimientos necesarios para lograr la transición del robot de una posición inicial a una final. Siendo w = [w1, w2, . . ., wm] T las posiciones y orientaciones del robot en el espacio de trabajo y θ = [θ1, θ2, . . ., θn] T los desplazamientos de los actuadores
en el espacio de configuraciones, entonces, la cinemática directa se puede definir mediante la expresión: w = f{ θ}
Figura 6.3.b Robot holonómico
y la cinemática inversa con la ecuación: w} θ = f −1 { w} Mediante la cinemática directa se puede pasar del espacio de configuraciones al espacio de trabajo mientras que la cinemática inversa permite pasar del espacio de trabajo al espacio de configuraciones. En un caso ideal sin importar la posición inicial del robot sería posible moverlo a cualquier posición y orientación, sin embargo, la forma y su cinemática facilita acceder a diferentes puntos del espacio de trabajo. Por lo anterior existen restricciones cinemáticas en relación a los grados de libertad que presenta el robot dando lugar a las siguientes clasificaciones: - Robot holonómico: Se presenta cuando los grados de libertad controlables son iguales a los grados de libertad efectivos, lo cual ocurre cuando los grados de libertad del robot están desacoplados. En un sentido práctico el sistema de control requerido presenta una baja complejidad, sin embargo, su implementación mecánica pu ede tener un costo elevado. elevado. Ver figura 6.3_a -
Robot no holonómico: Ocurre cuando el número de grados de libertad controlables son menos que los grados de libertad efectivos, este es un efecto que se tiene cuando los grados de libertad están acoplados requiriendo una mayor complejidad en su sistema de control. Ver figura 6.3_b [5]
Ver video 6.3 robótica trayectorias
Robótica
11
Robótica Bibliografía [1] Craig, J. J. (2006). Robotica. Mexico: Robotica. Mexico: Pearson educacion. [2] Iñigo Madrigal, R., & Vidal Idiarte, E. (2004). Robots industriales manipuladores . Mexico: . Mexico: Alfaomega. [3] Copalcua Rodriguez, A. (s.f). Importancia de la dinamica en los robots y aplicasiones en la industria . Apizaco. [4] Martinez Valdes, A. (s.f ). APLICACIÓN DE MATRICES DE TRANSFORMACIÓN EN EL CONTROL DE POSICIÓN CINEMATICO DE UN ROBOT ARTICULADO DE TRES GRADOS DE LIBERTAD. Ecatepec. [5]Espitia Cuchango, H. E. (2011). Propuesta de un algoritmo para la planeación de trayectorias. Bogota, Colombia. [6] Sieira, A. G. (julio de 2011). planificacion de movimiento en robotica movil utilizando reticulas de estado. santiago de compostela. [7] Martin, D. A. (Diciembre de 2004). Planificación de Trayectorias en Sistemas Multirrobot . Multirrobot .
Robótica
12