Manipulación de Tres Robots Industriales Coordinados Fidel Chávez1, Jorge Gudiño1, Miguel Durán1, Norberto López1 (1) Facultad de Ingeniería Electromecánica (FIE), U. de C., Colima (México) ([email protected]) RESUMEN Este artículo muestra una aplicación de robots manipuladores industriales coordinados, que consiste en la manipulación de un objeto mediante la coordinación de tres brazos robot industriales, esta actividad se ve fácil para las personas, sin embargo hacerlo de manera automática no es sencillo, requiere de una sincronización de los tres robots para que puedan trabajar coordinadamente y evitar posibles colisiones. INTRODUCCIÓN En la actualidad se ha generalizado el uso de robots manipuladores en muchas aplicaciones que requieren movimientos repetitivos y de gran precisión lo que para una persona resulta demasiado complicado. Existe una gran diversidad de aplicaciones que pueden ser llevadas a cabo por un robot, pero hay ocasiones en las que se requieren más de un manipulador para realizar una tarea específica. En este artículo el hablar de robots cooperativos nos referimos a un grupo de robots realizando una tarea específica. Los manipuladores que no interaccionan con el ambiente se le conoce como robots en movimiento libre, y pueden ser modelados por un conjunto de ecuaciones diferenciales ordinarias no lineales. El caso contrario son los que interaccionan con el ambiente y se conocen como robots en movimiento restringido, los cuales pueden ser modelados por un conjunto de ecuaciones diferenciales algebraicas no lineales. Una gran parte de los manipuladores industriales se encuentran en este grupo [1,2,3]. Existe una gran diversidad de aplicaciones que podemos desarrollar con dos o más robots, estas actividades las podemos adecuar a nuestras necesidades dependiendo de la tarea a realizar. Los robots coordinados requieren de sincronización, para evitar las posibles colisiones. Por lo cual a continuación se describe un ejemplo de una actividad coordinada con robots. La Figura 1a muestra la coordinación de tres robots manipuladores industriales de seis grados de libertad y en la Figura 2b muestra la conexiones digitales en cada uno de los controladores. Figura 1a. Equipo experimental Figura 2b. Bus E/S digitales (DeviceNet) El experimento consiste en pasar un objeto de un manipulador a otro de forma cíclica, hasta dejarlo en un lugar, para ello se tiene que planear las trayectorias que consiste en programar un conjunto puntos para cada manipulador industrial, todo esto para evitar las posibles colisiones, se programó en el software del fabricante. El artículo describe en forma detallada en realizar una aplicación de robots coordinados, es decir la manipulación de tres brazos robot para trasladar una botella por cada uno de estos brazos, esta actividad puede resultar muy sencilla para la mayoría de las personas, sin embargo hacerlo automáticamente resulta más complicado de lo que parece, es por ello la realización de este artículo. Para esta aplicación, se realizó un control punto a punto, tres efectores finales como los que se muestra en Figura 2, que consisten en unas pinzas neumáticas para sujetar dicha botella, sin dejar un aspecto muy importante para la coordinación de los manipuladores el bus de comunicación que consiste en la intercomunicación del DeviceNet con el que cuenta cada uno de los robots industriales. Figura 1. Efectores Finales Los robots coordinados pueden jugar un papel muy importante en el desarrollo de tareas que por su dificultad o características fueran más complicadas de realizar que por un único robot [1]. Cada uno de los robots se puede representar como un agente, siendo este un sistema computacional que está situado en un entorno y que es capaz de realizar acciones autónomas en dicho entorno para alcanzar sus objetivos [2]. APLICACIÓN DE LOS ROBOTS COORDINADOS Hay varias aplicaciones que podemos desarrollar con un grupo de robots, pero dichas actividades pueden adecuarse a nuestras necesidades dependiendo de la tarea queremos realizar. Los robots coordinados requieren de un alto grado de sincronización, para evitar las posibles colisiones y evitar daños físicos entre ellos o el ambiente. Por lo que, a continuación se describe un ejemplo de una actividad coordinada con robots. La Figura 3 muestra el equipo experimental y el ejemplo de la aplicación de robots coordinados. Figura 2. Coordinación de robots PLANTEAMIENTO DE LA TAREA A REALIZAR El principal problema a considerar cuando de aplicaciones con robots coordinados se habla, es la planeación de trayectorias para cada uno de los manipuladores evitando así las colisiones. En la Figura 4 se ilustra la planeación de la tarea a ejecutarse por los manipuladores de manera coordinada, dicho proceso trata de imitar lo que conlleva a un grupo personas para trasladar un objeto de un lugar a otro pasando dicho objeto por cada una de las personas hasta llegar a su destino final. Tomar la botella Trasladar la botella Dejar la botella Figura 3 Diagrama de la tarea a realizar INTERFAZ DE COMUNICACIÓN Para la comunicación de los robots entre los manipuladores industriales utilizados en este proyecto se requiere un bus de datos que comunica a cada uno de los controladores de cada robot, esto permite la interacción de señales digitales entre cada manipulador que darán la pauta a que un robot espere instrucciones de los otros y continuar con la ejecución de sus movimientos, lo que conlleva a la coordinación. En la Figura 5 se ilustra el diagrama de comunicación de los robots. Bus de conexiones Figura 4. Diagrama de comunicación de los robots manipuladores DESCRIPCIÓN DEL EQUIPO EXPERIMENTAL Para llevar a cabo esta aplicación de robots coordinados se utilizó tres robots industriales. La Facultad de Ingeniería Electromecánica tiene un equipo experimental, que consta de tres manipuladores de la firma alemana KUKA, dos de ellos con modelo KR-16 y uno más KR 5 SIXX R850, cada manipulador cuenta con su propia unidad de control tal como se observa en la Figura 3, cada unidad de control cuenta con una computadora Windows XP Embedded, un panel de control KCP, un bus de datos que comunica a cada control y un software KSS V5.0. Cada robot tienen 6 grados de libertad, los KR-16 tienen una capacidad de carga de 16 kilogramos, cuentan con resolvers como sensores de posición siendo estos de mayor precisión mientras que el KR SIXX R850 una capacidad de 5 kilogramos y como sensores de posición cuenta con encoders ópticos, todos los robots tienen una repetitividad de mm, en la Figura 1a se muestra el equipo experimental. PROGRAMACIÓN DE LOS ROBOTS Los robots industriales con los que se trabaja en este proyecto tienen un tipo de programación a la cual se le conoce como programación punto a punto, que consiste en grabar una serie de posiciones de tal manera que formen una trayectoria deseada y el robot puede seguirlos para realizar una tarea y de esta manera culminar un proceso. En la Tabla 1 se describen los comandos o tipos de movimientos empleados para esta coordinación, donde describe los tipos de movimientos que los manipuladores realizan. Tabla 1 Comandos empleados en la tarea Movimiento PTP LIN CIR Descripción Punto a Punto el cual el robot realiza el mejor movimiento que a él le convenga para llegar de un punto a otro, sin importar seguir un patrón. Este es un movimiento lineal lo cual ocasiona que el robot mantenga una línea recta de un punto a otro, realizando las maniobras necesarias para que el efector final mantenga la posición en que se encuentra. Con este comendo se pueden obtener movimientos de manera circular, permitiendo poder evadir obstáculos. Para una correcta coordinación de los manipuladores se debe a un sistema de comunicación entre los tres manipuladores, es por ello que se realiza un enlace entre los módulos de entradas/salidas digitales conocidos como DeviceNet, para evitar colisiones de los robots o del entorno. El algoritmo utilizado es, un primer robot (el robot KR 5 SIXX R850) realiza un movimiento desde su posición inicial (HOME) hasta el lugar donde se encuentra la botella para posteriormente sujetarla y trasladarla a donde el segundo robot (el KR-16) estará esperando, y este la lleve a donde un tercer robot (KR-16) estará esperando para trasladarla a su destino final, durante el proceso los robots están intercambiando información por medio de señales digitales quienes dan la pauta para la coordinación de los mismos. La unidad de control de los robots KR-16 puede administrar un máximo de 4096 de entradas digitales y 4096 salidas digitales, mediante la cual se puede organizar una lógica tan extensa como sea posible y en el caso del robot KR 5 SIXX cuenta con 6 salidas y 2 entradas digitales disponibles, y así mantener la seguridad de los robots y de las personas. La Figura 1b muestra el puerto de comunicación de los robots KR-16 y la Figura 6 muestra el puerto del robot KR 5 SIXX R850. Figura 5. DeviceNet robot KR 5 SIXX R850 Al momento de trabajar con tres o más robots manipuladores se vuelve complicado debido a establecer ciertas condiciones que puedan dar los tiempos necesarios para evitar choques o accidentes entre ellos, para evitar las posibles colisiones se mandan señales digitales de un controlador a otro, esto con la finalidad de hacer que los robots dependan uno del otro, lo que pareciera que se dan ordenes entre sí, esto se evita al tener un solo controlador, esto es parte del proyecto de investigación que se trabaja actualmente en la Facultad. Para iniciar con la programación es importante conocer un comando fundamental, el cual un robot espera una señal del otro para continuar ejecutando sus movimientos, en la Tabla 2 se describen algunos comandos. Tabla 2. Comandos empleados para la coordinación de los robots Comando WAIT FOR WAIT Descripción Este comando permite decirle al robot que espere una señal para poder continuar. Permite dar tiempos entre un movimiento y otro dentro de un mismo programa. Con esto se vuelve fácil poder trabajar de manera coordinada con los dos robots industriales, debido que se crea una dependencia entre ellos, uno del otro. Por otra parte, son indispensables para evitar cualquier tipo de colisión o accidente entre ellos, por esta razón es importante conocer los comandos mostrados en la Tabla 2. Por otra parte, es importante declarar en cada manipulador los efectores finales, ya que permiten mover fácilmente el robot respecto al efector final, con la finalidad de precisar los movimientos en el programa. Se trabaja dentro de las coordenadas globales del robot, un robot es el maestro y los otros esclavos. Una vez declaradas los efectores finales en el controlador, se inicia la programación que consiste en grabar los movimientos necesarios para poder sujetar la botella al mismo tiempo que envía una primer señal a los otros dos manipuladores para que estos se posicionen en un punto cercano a donde tomaran la botella y quedarán en espera de una segunda señal, aquí es donde toma un papel importante los comandos mostrados en la Tabla 2. Una vez que el primer robot traslado la botella a donde está el segundo robot, este le envía una señal quedando este en espera de una señal de su parte para soltar y retirarse, y así el segundo robot continué hasta el tercer manipulador hasta lograr llevar a botella a su destino final donde este tercer robot enviara una señal al primer robot para repetir la tarea. Es aquí donde se observa la importancia que tiene la coordinación de los manipuladores que aunque son tareas fáciles para los humanos, trasmitirlo a los robots requiere de un alto grado de coordinación. RESULTADOS EXPERIMENTALES Este es un estado del arte del proyecto de investigación que la Facultad desarrolla actualmente, por lo que no se muestran gráficas del error de posición y del desempeño del controlador, debido a que el sistema es de arquitectura cerrada y no permite visualizar la señal de los sensores. Sin embargo, se aplica un ejemplo de lo que puede hacer el proyecto una vez concluido, los resultados de la coordinación es solamente visual. CONCLUSIONES Como se menciona en parte de este artículo, este trabajo es una aplicación futura del proyecto de investigación que la Facultad de Ingeniería Electromecánica actualmente desarrolla, que consiste en coordinar tres robots a través de un controlador no lineal y la planeación de trayectorias, así como la implementación de control háptico. Debido a la gran variedad de aplicaciones de los robots coordinados, se hace cada vez más necesario la elaboración de sistemas de interacción entre robots, esto para desarrollar actividades en forma conjunta, ya que de otra manera seria muy difícil que un sólo robot la realice. REFERENCIAS [1] Cole, A. Constrained motion of grasped objects by hybrid control. Proceedings of the 1990 IEEE International Conference on Robotics and Automation 1954–1960 (1990). [2] Liu, G., J. Li y Z. Li. Coordinated manipulation of objects by multifingered robotic hand in contact space and active joint space. IEEE International Conference on Robotics and Automation 4. 3743–3748 (2002). [3] Moran, O. y R. Monasterolo. Enseñanza-Aaprendizaje en robòtica, construcción como actividades de comprensión. Formación universitaria Vol. 2 no. 4. 31–36 (2009).