XXVII Jornadas de Automática Interacción Hombre-Robot trabajando cooperativamente en una celda de desensamblado automático. Carolina Díaz, Santiago Puente, Fernando Torres Grupo de Automática, Robótica y Visión Artificial-DFISTS-Universidad de Alicante Ap.99 C.P. 03080, San Vicente del Raspeig [email protected], [email protected], [email protected] Resumen El sistema propuesto en este artículo plantea incluir a un ser humano en una celda de desensamblado automático para que trabaje en forma cooperativa y coordinada con un manipulador robótico. Se desarrolla un planificador de tareas, encargado de asignar y coordinar las acciones para que se ejecuten correctamente, libre de colisiones y evitando cualquier tipo de daño físico a la persona incluida en la celda. Palabras Clave: robots cooperativos, interacción hombre-robot, desensamblado, planificador de tareas. 1 INTRODUCCIÓN El valor de muchas entidades colaborando entre si, trabajando en grupo ha sido probado desde mucho tiempo atrás en distintas áreas. Como por ejemplo en la naturaleza un grupo de predadores trabajando coordinadamente en equipo pueden lograr cazar a un animal que los supera muchas veces en tamaño, o en la milicia un grupo de hombres con habilidades especificas y recursos limitados se unen para crear grupos con una increíble capacidad. Estos ejemplos buscan demostrar, como ya es sabido, que un grupo de entidades con habilidades similares o distintas coordinadas para trabajar en equipo pueden producir un grupo con destrezas y capacidades mayores que la suma de sus partes [11] 216 trabajando coordinadamente si pueden lograrlo; compartir información y recursos; mayor tolerancia a fallos; y asistirse entre si para distintas tareas en general, son otras de las ventajas que se podrían mencionar Al investigar en el plano de trabajos cooperativos con manipuladores robóticos, lo primero que se puede distinguir son dos grandes grupos en lo que a esto refiere: Tareas cooperativas entre dos o más robots manipuladores. [2], [4], [13], [6]. (Fig.1). Tareas cooperativas entre manipuladores robóticos con el hombre [11], [9], [7], [15], [16]. (Fig.2) La diferencia notable que define a estos dos grupos es: cuando se realizan tareas cooperativas entre manipuladores robóticos y el hombre se debe contar con considerables sensores externos e internos a fin de evitar que la persona pueda sufrir algún daño físico. Esto es lo que se conoce como sinergia, que se produce al trabajar en forma cooperativa el resultado que se obtiene es considerablemente mayor que la suma de cada una de las entidades participantes. Figura 1: Trabajo Cooperativo robot-robot. Las tareas cooperativas en el ámbito de la robótica en general ya sea entre robots móviles, o robots manipuladores, han tenido mucho crecimiento dadas las ventajas que las mismas ofrecen, como son las de realizar tareas que un solo robot sería imposible realizar, esta razón es la primera y la mas obvia ya que por ejemplo, un robot solo no puede trasladar una viga que exceda su capacidad de carga, pero dos En la Fig. 1 se observa dos manipuladores robóticos trabajando coordinadamente en una celda de desensamblado automático; mientras un manipulador sujeta la lectora de CD el otro simultáneamente la desatornilla para poder separar la lectora de la carcasa externa del PC. Mediante la intervención de dos entidades colaborando entre si, en esta aplicación, se obtiene una reducción de los tiempos Almería 2006 - ISBN: 84-689-9417-0 XXVII Jornadas de Automática totales del desensamblado, y a su vez un aprovechamiento máximo del sistema en general. En la Fig. 2 se muestra colaborando entre si un manipulador robótico y una persona para el traslado de un ordenador; se aprecia como se aprovecha la mayor capacidad de carga que poseen los manipuladores para este tipo de tareas. robóticos se encuentran aislados mediante un vallado de seguridad evitando así cualquier posible interacción con los operarios, esto se realiza de esta forma principalmente por seguridad para los humanos que trabajan dentro de este ambiente [3], [10], [8]. En el presente articulo se desarrolla, teniendo como prioridad la integridad física del ser humano, un planificador de tareas cooperativas que permita interactuar a los manipuladores robóticos con los seres humanos dentro de una celda de desensamblado. El artículo se organiza de la siguiente forma: primero se realiza una introducción al área de los manipuladores cooperativos enfocándose en la interacción humano-robot. A continuación se realiza una descripción de la arquitectura del proceso. Y posteriormente se desarrolla el planificador de tareas cooperativas entre humano robot. Seguidamente se explican las aplicaciones practican. Para finalizar con las conclusiones y las propuestas de los trabajos futuros. 2 ARQUITECTURA DEL PROCESO La arquitectura del proceso es la siguiente: Figura 2: Trabajo cooperativo hombre- robot. También es importante destacar que en las tareas donde se precisa la intervención del ser humano son, por lo general, el tipo de aplicaciones donde la persona posee mayor sensibilidad para realizarlas; entonces seria muy complicado remplazarlo por un robot manipulador ya que directamente carece de ciertas habilidades para las cuales las personas están más dotadas. Lo que se busca entonces es que los manipuladores se transformen en asistentes inteligentes capaces de asistir al humano en todo tipo de tareas, aprovechando los recursos y características positivas y minimizando, con la colaboración entre si, las características negativas. Una característica muy importante a tener en cuenta es que cuando se efectúan tareas en forma cooperativa y coordinada existe una intersección entre las áreas de trabajo de los manipuladores y de las personas. Ya que se encuentran en la misma celda de trabajo ejecutando acciones simultáneamente en un mismo producto. En el presente artículo se muestran las ventajas de incluir una persona trabajando en forma cooperativa con un manipulador robótico dentro de una celda de desensamblado automático. Hasta la actualidad en la mayoría de ambientes industriales los manipuladores Almería 2006 - ISBN: 84-689-9417-0 Tareas a Realizar Depósitos de Almacenar Planificador de Tareas Espacios de Trabajo Planificador de Trayectorias Control de Posición y de Visión Control P Robot Control A-10yy Sentencias Persona SCORBOT Entorno Figura 3: Arquitectura del proceso La base de datos contiene toda la información de los productos a desensamblar, el modelo geométrico, y todos los componentes del producto que se encuentran representados en el modelo jerárquico [14] que es en el que se basa el planificador de tareas. Luego al planificador cuenta con la información de la 217 XXVII Jornadas de Automática posición de cada depósito y la localización de las áreas de trabajo correspondientes a las entidades que trabajan dentro de la celda. Esta información es muy importante para evitar colisiones entre manipulador y hombre, (Fig. 4). Después se realiza un control de posición y visión para determinar el correcto funcionamiento del sistema, y se adjudican los comandos y las sentencias a las entidades que intervienen para lograr el correcto desensamblado del producto. E1 E12 E2 En este artículo se propone realizar una combinación de los dos últimos ítems, controlando el peligro mediante el control de visión y posición, y otorgándole a la persona que se incluye dentro de la celda de desensamblado una formación sobre los peligros de trabajar coordinadamente con un manipulador robótico. Los peligros se ven reducidos considerablemente al realizar una planificación de tareas adecuada. El planificador es el encargado de determinar a quien le corresponde la ejecución de cada acción y en que preciso momento para poder lograr un desensamblado exitoso en el menor tiempo posible, y lo más importante, libre de colisiones. En [14] dado el modelo relacional de un producto se obtiene un grafo jerárquico que representa la estructura y los enlaces de los componentes que lo conforman. Partiendo de este grafo se extraen las reglas que permiten desensamblar dicho producto, con las cuales se construyen los árboles decisión que permiten planificar adecuadamente la tarea para que se ejecute de forma cooperativa. Fig. 5 Figura 4: Esquema espacios de trabajo hombre-robot Quitar Tapa El planificador de tareas es el encargado de determinar la secuencia de ordenes a seguir por el manipulador y por la persona que intervienen en la tarea de desensamblado, buscando obtener el máximo aprovechamiento de todos los recursos, y minimizar el tiempo total de desensamblado de un determinado producto. 2.1 Separa “bola” de “Carc. Ext.” R1 Quitar Tornillo 1 Planificador de tareas cooperativas El planificador utilizado es el desarrollado en [16] para dos o mas robots cooperando entre si. Cabe destacar que las modificaciones que se utilizan a la hora de introducir a una persona en la celda de trabajo son mínimas en este bloque, como se vera posteriormente en las aplicaciones practicas. Donde resulta necesario incluir mayores modificaciones es, sobre todo, en el bloque de control y posición para que permita monitorizar los movimientos del humano y del el o los robots incluidos en la celda. Para disminuir el riesgo dentro de una celda de trabajo donde interactúan robots y humanos existen tres formas según [1]: • Rediseñar la celda de trabajo de manera tal que se elimine el peligro. • Controlar el peligro mediante sensores eléctricos o limites de seguridad físicos • Advertir y entrenar al operador humano del peligro durante la operación con el manipulador. Separar “Carc. Ext.” de m6 Cortar Cable R3 Quitar “Ejes” R2 Quitar “Placa CI" Figura 5: Grafo para desensamblar un ratón de PC Recorriendo este grafo de forma ordenada se obtiene las reglas a aplicar para obtener un desensamblado cooperativo del producto: Regla 1= Quitar Tapa + Separar Bola + Quitar Tornillo + Separar Carcaza Externa. 218 Almería 2006 - ISBN: 84-689-9417-0 XXVII Jornadas de Automática Regla 2 = Cortar Cable + Quitar Placa CI. Regla 3 = Quitar Ejes. Luego modelando estas reglas y dependiendo del tipo de tarea a ejecutar se construyen los árboles de decisión que determinan el orden y la asignación de la ejecución de las distintas acciones. Trabajando en un ambiente cooperativo, y teniendo en cuanta los espacios de trabajo y sus respectivas intersecciones se definen dos tipos de tareas: • Tareas Comunes o Conjuntas: son aquellas en las que se requiere dos o más entidades trabajando directamente en el mismo objeto. • Tareas Paralelas: son aquellas en las cuales cada entidad realiza una tarea distinta en distintos objetos paralela y simultáneamente. De forma general: del grafo dirigido se obtienen reglas, éstas se dividen en tareas a realizar T, cada tarea está formada por acciones A, a cada acción se le asocia una herramienta H y a estas acciones se pueden dividir a su vez en sub-acciones, lo cual permitiría lograr diferentes niveles de granularidad mediante la expansión de los nodos. Teniendo en cuenta lo anteriormente descrito y para plantear los árboles de decisión y modelar el sistema de forma general hay que considerar los conjuntos que se definen a continuación: Reglas = T1 → T2 → .... → Tm Nro. de Robots = ⎡⎣ R1 , R2 ,..., Ri ,..., R j ⎤⎦ Nro. de Personas = ⎡⎣ P1 , P2 ,..., Pi ,..., Pj ⎤⎦ Se pueden agregar acciones especiales de acuerdo a las características de la celda. Como por ejemplo dada la celda de trabajo que se utiliza para realizar las aplicaciones cuenta con un intercambiador de herramientas y una mesa giratoria que le otorga mayor flexibilidad al sistema permitiendo mover el producto a desensamblar al área de trabajo que convenga. Estas dos acciones se denotan como: - Acción de intercambiar herramientas = AInterc. - Acción de girar la mesa = AGiro. A cada acción se le asocia una herramienta determinada es decir por ejemplo, para destornillar se necesita el desatornillador, para coger cosas, la pinza y así sucesivamente por lo que la cantidad de herramientas con que se cuente es la misma que las diferentes acciones que se pueden realizar. Por lo tanto, existe un conjunto de n herramientas como n son las acciones: Herramientas = [ H1 , H 2 ,..., H n ] Para tareas donde cooperan robot y humano a la hora de planificar se debe tener en cuanta que al humano se le asignan acciones que por sus cualidades y habilidades este es el mas idóneo para realizar entonces la opción de intercambiar herramienta en este caso no se considera, ya que como es obvio las manos que son la herramienta con que un operario ejecuta determinada acción. Teniendo en cuanta estos conjuntos y según el tipo de tarea se construyen los árboles que determinan la asignación optimas de las acciones como se planeta en [16].Para determinar el camino optimo se asignan pesos dentro del árbol según las características propias de cada robot o humano que intervienen en el proceso, y según lo que se busque optimizar. Tipo de tarea = [Tc, Tp ] donde: Tc: Tarea conjuntas. Tp: Tarea paralela. Tareas = [T1 , T2 ,..., Tm ] las tareas se dividen en acciones. Acciones = [ A1 , A2 ,..., An ] cada acción se puede dividir en sub-acciones ⇒ A1 = ⎡⎣ A11 , A12 ,..., A1 p ⎤⎦ A2 = ⎡⎣ A21 , A22 ,..., A2 q ⎤⎦ Ar = [ Ar1 , Ar 2 ,..., Ars ] 3 EJEMPLO DE APLICACIÓN Modelando la Regla 1 del modelo relacional para un ratón de PC (Fig.5) se obtiene: Regla 1= Quitar Tapa + Separar Bola + Quitar Tornillo + Separar Carcaza Externa. Se sub-divide en dos tareas: T1 = Quitar Bola = Quitar Tapa+Separar Bola. T2 = Separar Carc. Externa = Quitar Tornillo+Separar Carc. Focalizando en ejecutar la tarea uno ( T1 ), esta se divide en dos acciones: T1 = Sujetar ratón + Extraer bola. donde: A1 = Coger con Pinzas A2 = Extraer con Manos Almería 2006 - ISBN: 84-689-9417-0 219 XXVII Jornadas de Automática La A1 = A11 + A12 se sub-divide en dos acciones: donde: A11 = Sujeto Raton En la Fig. 7 se muestra la secuencia real para la ejecución de la tarea uno: A12 = Depositar Bola La A2 = A21 + A22 se sub-divide en dos acciones: donde: A21 = Extraer Tapa A22 = Depositar Tapa El árbol donde se asignan las acciones uno y dos no se muestra aquí dado que la asignación resulta obvia para una celda de trabajo donde solo intervienen un manipulador robótico y una sola persona, queda claro que: R1 → A1 al robot se asigna la acción uno. P1 → A2 a la persona se asigna la acción dos. Y al ser una tarea de Tipo Conjunta el área de trabajo debe ser la intersección E12 . (Fig.4) Para planificar la tarea uno ( T1 ) se construye el árbol de decisión mostrado en la Fig. 6 R1 ⇔ H1 ? NO SI ERROR R1 A11 P1 = A2 ? SI NO ERROR P1 A21 P1 A22 R1 A11 FIN Figura 6: Árbol de decisión T1 . En la Fig. 6 se observa que se vuelve a preguntar por la asignación para otorgarle mayor robustez al sistema. Aquí también se aprecia como la subacción A12 correspondiente a depositar la bola no se realiza por motivos de seguridad hasta que la acción A22 que ejecuta la persona ha finalizado. 220 Figura 7: Secuencia real T1 . 4 CONCLUSIONES Se plantea la interacción de manipuladores robóticos con humanos dentro de una celda de desensamblado automático mediante el uso del planificador de tareas desarrollado en [16]. Se busca proveer un sistema seguro y flexible de cooperación entre robot y operador humano que puede convertirse en un prometedor camino para alcanzar mayor productividad en la industria. Por otra parte, la inclusión de robots para asistir al operador humano en determinadas tareas industriales, reduciría la fatiga y aumentaría la precisión, en áreas donde sólo el humano puede aportar experiencia, conocimiento global y comprensión en la ejecución de la tarea. Se ha desarrollado un planificador de tareas cooperativas versátil y flexible adaptable a variables Almería 2006 - ISBN: 84-689-9417-0 XXVII Jornadas de Automática tipos de celdas, y también para tareas cooperativas donde cooperan robot-humano y robot- robot. Se observa que las modificaciones que se realizan en el bloque de la planificación de tareas para adaptarlo a tareas cooperativas entre hombre-robot son mínimas. [7] Hägele M., Schaaf W., Helms E., (2002) “Robot Assistants at Manual Workplaces: Effective Co-operation and Safety Aspects”. Proceedings of the 33rd International Symposium on Robotics. Valiéndose de esto se plantea como trabajo futuro ampliar el uso del planificador de tareas a otro tipo de aplicaciones como pueden ser robots de servicios, donde esta probado el gran potencial de trabajar cooperativamente entre robots y humanos. [8] Ikuta K and Nokata M., (2003). “Safety evaluation method of desing and control for human care robots”. The International Journal of Robotics Research. Vol. 22, pp. 281-297. Agradecimientos Este trabajo esta financiado por el proyecto del Ministerio de Educación y Ciencia “Diseño, implementación y experimentación de escenarios de manipulación inteligentes para aplicaciones de ensamblado y desensamblado automático” (DPI2005-06222), y por el proyecto de la Generalitat Valenciana “Desensamblado automático cooperativo para el reciclado de productos” (GV05/003). Referencias [1] Burke J., Murphy R., Rogers E., Scholtz J., Lumelsky V., (2003). “Final Report for the DARPA/NSF Interdisiplinary study on HumanRobot Interaction”. Transaction IEEE Systems, Man, and Cybernetics. Part A, Vol. 34, No. 2 [2] Caccavale F., Natale C., Siciliano B., Villani L., (1999). “Achieving a Cooperative Behaviour in a Dual Arm Robot System via a Modular Control Structure. Journal of Intelligent Robotic Systems Special issue on Humanoid Robotics and Biorobotics Editor Jadran Lenarcic. [3] Corke P. I. (1999). “Safety of advance robots in human enviroments”. Proceeding of the IARP 1999. [4] Costa Castelló R., Basañez Villaluenga L., (2004) “Planificación de Movimientos y Control de Fuerzas en entornos Multi-robot”. Copyright 2004 CEA-IFAC. [5] Diaz C., Puente S., Torres F., (2006). “Task Planner for a Cooperative Disassembly Robotic System”. Proceeding of the 12th IFAC Symposium on Information Control Problems in Manufacturing. [6] Fonseca N., Tenreiro J., (2003) “Fractional-Order Position/Force Control of Two Cooperating Manipulators”. Proceedings of IEEE International Conference on Computational Cybernetics. ICCC 2003 Almería 2006 - ISBN: 84-689-9417-0 [9] Kumar R., Berkelman P., Gupta P., Barnes A., Jensen S., Whitcom L., Taylor H., (2000). “Preliminary Experiments in Cooperative Human/Robot Force Control for Robot Assisted Microsurgical Manipulation”. Proceedings of IEEE International Conference on Robotics and Automation, ICRA 2000. [10] Kulic D. and Croft E, (2005). “Safe Planning for Human-Robot Interaction”. Journal of Robotics System. pp. 433-436 [11] Navarro-Serment, L, R. Grabowski, C Paredis, P Khosla, (2002). “Millibotspag”. IEEE Robotics & Automation Magazine.Vol 9, No. 4, pp 31-40. [12] Rahman M., Ikeura R., Mizutani. K.,(2000) “Control Characteristics of Two Humans in Cooperative Task and its Application to Robot Control”. Proceeding of the 26th Annual Conference of the Industrial Electronics Society, IECON 2000. [13] Tinós R., Terra M., Bergrman M., (2002). “Dynamic Load-Carrying Capacity of Cooperative Manipulators with Passive Joints”. Proceeding del Congreso Brasilero de Automática 2002. [14] Torres, F., S. Puente, R. Aracil (2003). Disassembly planning based on precedence relations among assemblies. The International Journal of Advanced Manufacturing Technology.Vol. 21. No. 5. pp. 317-327. [15] Woern H., Laengle T.,(1998) “Cooperation Between Human Beings and Robot Systems in an Industrial Enviroment”. Proc. of the IEEE Intern. Conf. on Robotics and Automation. [16] Yokoyama K., Handa H., Isozumi T., Fukase Y., Kaneko K., Kanehiro F., Kawai Y., Tomita F., Hirukawa H.,(2003) “Cooperative Works by a Human and a Humanoid Robot”. Proceedings of the 2003 IEEE International Conference on Robotics & Automation Taipei, Taiwan. 221