Tarea de Cambio de Bombilla en una Farola Publicación interna nº12 Jorge Pomares Gabriel J. García Grupo de Automática, Robótica y Visión Artificial Departamento de Física, Ingeniería de Sistemas y Teoría de la Señal T a r e a d e c a m b i o d e b o m b i l l a e n u n a f a ro l a 1.- Introducción En el presente documento se va a tratar una estrategia que permita resolver el cambio automatizado de una bombilla defectuosa en una farola. Para ello, se pretende resolver la tarea mediante un brazo robotizado, en un entorno no estructurado y real como podría ser la ubicación final de la luminaria en un espacio público. Las principales tareas que se deben acometer requieren el uso de distintas técnicas desarrolladas previamente por el grupo, tales como el control visual virtual, el seguimiento intemporal de trayectorias en el espacio imagen basado en control visual virtual o el control de fuerza. Para entender de forma correcta el proceso del cambio de la bombilla, en primer lugar se muestra en la Figura 1 la luminaria elegida para realizar las pruebas. Esta luminaria consta de dos elementos básicos: una base donde se sitúa el casquillo de la bombilla y una caperuza que cubre la bombilla. Figura 1: Lámpara utilizada para los experimentos del cambio de bombilla El primer paso para poder cambiar la bombilla es extraer la caperuza. Esta caperuza se extrae desenroscándola de la base. En el movimiento de desenroscado se llega a un tope que indica que la caperuza está libre. A partir de este momento se puede extraer en vertical la caperuza dejando a la vista la bombilla. El segundo paso será extraer la bombilla, para lo 1 AUROVA –Publicación Interna nº12 cual se procede a su desenroscado hasta que queda libre. El proceso inverso permitirá la colocación de una nueva bombilla para, finalmente, volver a colocar la caperuza enroscándola en la base. La Figura 2 muestra diversos detalles de la forma de fijación de la caperuza en la base. Figura 2: Base de la lámpara y caperuza Para realizar la tarea descrita de forma automatizada se va a utilizar un brazo robótico de 7 grados de libertad, un Mitsubishi PA10 (ver Figura 3). En su extremo tiene situada una mano de Barrett. Esta herramienta permite el agarre de objetos mediante 3 dedos. Para permitir la realización de la tarea en un entorno real no estructurado como es un laboratorio, se necesita añadir información sensorial al brazo robótico. Para ello, en el extremo se encuentran situados también dos sensores: un sensor de fuerza JR3 y una cámara monocromo PHOTONFOCUS. De esta forma, se dota al sistema de la capacidad de “ver” y “sentir”. La cámara se utilizará para realizar el control visual del robot, permitiendo de esta forma posicionar de forma flexible el robot respecto a los objetos con los que debe interactuar. El sensor de fuerza permitirá detectar las fuerzas que los objetos manipulados ejercen sobre el robot, permitiendo de esta forma actuar de una manera u otra cuando las fuerzas y pares se asemejan a las fuerzas y pares deseados. En la siguiente sección se tratará de forma precisa la estrategia adoptada para el cambio de la bombilla, estudiando cada fase de forma separada y explicando brevemente las distintas técnicas ya desarrolladas previamente que permiten resolver la tarea de forma satisfactoria. 2 T a r e a d e c a m b i o d e b o m b i l l a e n u n a f a ro l a Figura 3: Mitsubishi PA10 y elementos situados en la muñeca 2.- Esquema general de la tarea Para la resolución de la tarea del cambio de bombilla se pretende desarrollar una estrategia global que permita terminar la tarea incluso en situaciones en las que el robot deba interactuar con el entorno. En esta sección se muestra un esquema de las distintas fases a resolver para, de forma conjunta, conseguir el cambio de la bombilla. Las fases que resuelven la tarea son las siguientes: • Fase 1. Posicionamiento mediante seguimiento intemporal de trayectorias en el espacio imagen. Para posicionar la cámara del robot sobre el objeto con el que interactuar, se hace uso del seguimiento intemporal de trayectorias basado en control visual virtual. Este método permite realizar el seguimiento de una trayectoria previamente definida en la imagen con gran precisión y manteniendo además una velocidad constante. Además, su carácter intemporal permite interacciones entre el robot y el entorno, debido a que ante una obstrucción el sistema no sigue enviando referencias de la trayectoria. Así, cuando la obstrucción desaparece, el robot es capaz de continuar la trayectoria desde el punto en el que se dejó. De esta forma, el método propuesto para la resolución de grandes desplazamientos del robot asegurará que el 3 AUROVA –Publicación Interna nº12 robot trace una trayectoria segura libre de obstáculos, llegando finalmente a la posición en que la cámara está situada sobre el objeto con el que interactuar: la caperuza o la bombilla. • Fase 2. Posicionamiento preciso mediante control visual virtual. Una vez se tiene la cámara situada sobre el objeto, se calcula la posición relativa entre el objeto y la cámara para poder agarrar el objeto de forma precisa. Para ello se hace uso del control visual virtual. Esta técnica permite calcular los parámetros extrínsecos de la cámara y, de esta forma, es posible reconstruir la posición del extremo del robot para realizar el agarre del objeto. Esta reconstrucción se realiza a partir de una imagen capturada por la cámara. • Fase 3. Control de fuerza en la mano de Barrett para el agarre óptimo del objeto. En la tercera fase, se realiza un control de fuerza en los dedos de la mano de Barrett para permitir el correcto agarre del objeto. El control de la fuerza con la que cada dedo aprieta el objeto es necesario para asegurar que todos los dedos están agarrando el objeto y se tiene de esta forma los tres puntos de sujeción previstos. • Fase 4. Medición de las fuerzas en el extremo para detectar desenroscado y enroscado de los distintos elementos. La última fase utiliza el sensor de fuerzas situado en el extremo del robot para medir las fuerzas y pares que aparecen en el extremo al enroscar y desenroscar los distintos elementos de la lámpara. Al estudiar las gráficas de las medidas en las fuerzas y pares obtenidos, se puede segmentar fácilmente el momento en el que se ha producido el desenroscado de la caperuza y la bombilla, o el momento en el que se considera que la nueva bombilla está correctamente enroscada, así como el momento en el que la caperuza se ha colocado correctamente tras cambiar la bombilla. 4 T a r e a d e c a m b i o d e b o m b i l l a e n u n a f a ro l a 2.1.- Posicionamiento mediante seguimiento intemporal de trayectorias en el espacio imagen El método utilizado para posicionar la cámara sobre los objetos se describe en [García2007]. Este método permite al robot seguir una trayectoria en el espacio imagen. La trayectoria se sigue con un comportamiento intemporal, y de esta forma, cualquier interacción con su entorno no impediría el correcto seguimiento de la trayectoria. En las siguientes figuras se muestran distintas trayectorias seguidas por el robot usando el método de seguimiento intemporal de trayectorias basado en control visual virtual. La Figura 4 muestra la trayectoria seguida por el robot para depositar en un lado del espacio de trabajo la caperuza para así poder quitar la bombilla fundida. Figura 4: Trayectoria para dejar la caperuza En la Figura 5 se muestra la trayectoria para depositar la bombilla fundida en el almacén de bombillas. En la Figura 6 se muestra la trayectoria seguida por el robot para coger la bombilla nueva y en la Figura 7 se observa la trayectoria que sigue el extremo para situarse sobre la lámpara con la nueva bombilla. 5 AUROVA –Publicación Interna nº12 Figura 5: Trayectoria para dejar la bombilla en el depósito Figura 6: Trayectoria para coger la bombilla nueva Figura 7: Trayectoria para poner la bombilla nueva en la lámpara 6 T a r e a d e c a m b i o d e b o m b i l l a e n u n a f a ro l a 2.2.- Posicionamiento preciso mediante control visual virtual Para posicionar la mano sobre el objeto que se quiere coger, se necesita saber de forma precisa la posición del objeto respecto al robot. Para ello, se va a utilizar el control visual virtual. Esta técnica, que ya se ha utilizado en otros experimentos realizados en el marco del presente proyecto (ver Publicación Interna nº1), permite reconstruir la posición relativa entre el objeto y la cámara. En el caso que se está estudiando en este informe, se pretende manipular dos objetos: la caperuza de la lámpara y la bombilla. Para realizar el control visual virtual se necesita tener el modelo 3D de la lámpara y la bombilla. Se dispone de un sistema de referencia para cada objeto. La obtención de los parámetros extrínsecos permite obtener la relación entre el sistema de referencia del objeto y el sistema de referencia de la cámara. Dado que la relación entre el sistema de referencia de la cámara y el sistema de referencia del extremo del robot es conocida, esta información es suficiente para posicionar la mano de Barrett en el punto preciso en el que se quiere agarrar el objeto. Para obtener los parámetros extrínsecos mediante control visual virtual es suficiente disponer de una imagen tomada por la cámara real. En el caso de la caperuza se proyecta la información de la esfera mediante una cámara virtual con unos parámetros extrínsecos iniciales aleatorios. La ley de control minimizará exponencialmente el error en los extrínsecos tomando como característica deseada la posición de la esfera en la imagen tomada por la cámara real, y variando en cada iteración la posición de la cámara virtual, y de esta forma, la proyección de la esfera en la imagen. Figura 8: Posición en la que se ejecuta el control visual virtual (izquierda) y posición de agarre (derecha) de la caperuza de la lámpara. 7 AUROVA –Publicación Interna nº12 Para el caso de la bombilla se ha elegido la base de la lámpara, ya que es más fácilmente segmentable. De esta forma, se tiene una elipse como característica deseada en la imagen real. De la misma forma que antes, aplicando la ley de control visual virtual, se van variando las posiciones de la cámara virtual (y de esta forma las características actuales) hasta conseguir situar la cámara virtual en la posición en la que las características proyectadas se superponen con las que se observan en la imagen adquirida por la cámara real. La posición de la bombilla se reconstruye al existir una relación fija entre la base de la lámpara y la bombilla (se supone conocida previamente). Figura 9: Posición en la que se ejecuta el control visual virtual (izquierda) y posición de agarre (derecha) de la bombilla en la lámpara. 2.3.- Medición de las fuerzas en el extremo para detectar el desenroscado de los distintos elementos En esta sección se describe la técnica para comprobar que las piezas se han desenroscado correctamente y pueden ser extraídas para continuar la tarea. Para ello, se utiliza el valor de los pares obtenidos en el extremo del robot. Estos pares se obtienen a partir del sensor de fuerza que el robot tiene situado en su extremo. 2.3.1.- Desenroscado de la caperuza Al estudiar las gráficas proporcionadas por el sensor de fuerza en el desenroscado de la caperuza, se observa que la componente que filtra el instante en el que la caperuza ha sido 8 T a r e a d e c a m b i o d e b o m b i l l a e n u n a f a ro l a desenroscada es el momento en Z. El momento en X presenta varios picos, al igual que el momento en Y, con lo que no se aseguraría el correcto desenroscado de la caperuza si se eligieran estos momentos como referencia. De las distintas pruebas se ha establecido un umbral empírico de 12.5 Nm a partir del cual se puede asegurar que la caperuza ha sido totalmente desenroscada. En la Figura 10 se muestran dos pruebas de desenroscado de la caperuza. 15 10 momentos (Nm) Mx My Mz 5 0 -5 -10 0 1 2 3 4 5 6 7 8 9 8 9 t (s) 25 20 Mx My Mz momentos (Nm) 15 10 5 0 -5 -10 0 1 2 3 4 5 6 7 t (s) Figura 10: Momentos en el desenroscado de la caperuza. Prueba 1 (superior) y prueba 2 (inferior). 9 AUROVA –Publicación Interna nº12 2.3.2.- Desenroscado de la bombilla En el caso de la bombilla, y tal como se observa en la Figura 11, la referencia es el momento en X. El momento en Z no varía en los distintos giros de la muñeca. Sin embargo, el momento en Y parece en este caso el más significativo. Se ha optado en este caso por elegir el umbral de -2.5 Nm. A partir de este momento se observa que la bombilla se ha desenroscado y se podría trasladar ya al depósito de bombillas. 12 Mx 10 My 8 Mz momentos (Nm) 6 4 2 0 -2 -4 -6 -8 0 1 2 3 t (s) x10 4 5 6 15 Mx My 10 momentos (Nm) Mz 5 0 -5 -10 0 1 2 3 4 t (s) x10 5 6 7 8 Figura 11: Momentos en el desenroscado de la bombilla. Prueba 1 (superior) y prueba 2 (inferior). 10 T a r e a d e c a m b i o d e b o m b i l l a e n u n a f a ro l a 3.- Conclusiones Mediante la estrategia descrita se consigue el cambio de la bombilla en entornos no estructurados mediante un brazo robótico. La estrategia adoptada para el posicionamiento de la cámara sobre la caperuza y la bombilla permite asegurar una trayectoria segura en la que no haya colisiones con los objetos fijos del entorno. Su comportamiento intemporal permite recuperar esa trayectoria segura al robot tras una colisión con algún objeto móvil del entorno o la obstrucción debida al acercamiento de un humano. Para posicionar la mano para coger la caperuza y la bombilla, se hace uso del control visual virtual. El posicionamiento de la mano es posible gracias al cálculo de la relación entre los sistemas de referencia de la cámara y el objeto. Para conseguir un agarre óptimo, se hace uso del control de fuerza en cada dedo de la mano de Barrett. La mano de Barrett dispone de galgas extensiométricas en cada dedo capaces de medir la fuerza ejercida por estos. El control de fuerza permite asegurar que los tres dedos sujetan el objeto de la misma forma. Finalmente, el sensor de fuerza situado en el extremo del robot permite detectar los pares mínimos y máximos que indican que la caperuza o la bombilla se han desenroscado con éxito. Esto es necesario para asegurar que el robot puede seguir con la siguiente tarea, ya sea depositar la caperuza en algún lugar del espacio de trabajo para posteriormente quitar la bombilla fundida, o llevar la bombilla fundida al depósito. A modo de resumen, se muestra en la Figura 12 un esquema de los pasos desarrollados en la tarea de eliminación de la bombilla fundida. En la Figura 13 se representa una tira de imágenes de los pasos a seguir para colocar una bombilla nueva y colocar la caperuza. 11 AUROVA –Publicación Interna nº12 Fase 2. Control visual virtual Fase 3. Control de fuerza en dedos Fase 4. Medida de pares y fuerzas Fase 1. Seguimiento de trayectorias Fase 2. Control visual virtual Fase 3. Control de fuerza en dedos Fase 4. Medida de pares y fuerzas Fase 1. Seguimiento de trayectorias Figura 13: Esquema del proceso de eliminación de la bombilla fundida. 12 T a r e a d e c a m b i o d e b o m b i l l a e n u n a f a ro l a Fase 1. Seguimiento de trayectorias Fase 2. Control visual virtual Fase 3. Control de fuerza en dedos Fase 4. Medida de pares y fuerzas Fase 1. Seguimiento de trayectorias Fase 3. Control de fuerza en dedos Fase 4. Medida de pares y fuerzas Figura 14: Esquema del proceso de colocación de la bombilla nueva. 13 AUROVA –Publicación Interna nº12 4.- Propuestas de mejora y pruebas A continuación se describen una serie de propuestas para la mejora de la estrategia en sus distintas fases o para la realización de nuevas pruebas que mejoren el comportamiento del sistema descrito. • Para el seguimiento de trayectorias se necesita un patrón reconocible del que extraer características visuales. Este patrón se puede encontrar en el propio objeto o en el entorno del robot de manera natural. Otra opción es construir de manera artificial el patrón de características y situarlo en el entorno de trabajo de alguna manera. Dado que en algunas ocasiones se pretende realizar desplazamientos muy largos entre dos posiciones, no se pueden usar características del objeto a manipular. De ahí que sería interesante introducir características ficticias en el entorno que permitieran al robot mediante visión desplazarse entre las distintas posiciones de trabajo. La estrategia que se propone es situar luz generada mediante láser en el entorno. Esta luz debería permanecer fija, y serviría para generar las características necesarias para realizar el seguimiento de trayectorias en la imagen basado en control visual virtual. • El método de seguimiento de trayectorias permite obtener un sistema robusto de posicionamiento en el que no sólo se eviten los obstáculos (la trayectoria deseada discurre por zonas en las que no hay objetos fijos), sino que también se pueda interactuar con el robot sin que éste pierda las referencias mientras dura la obstrucción y vuelva a la trayectoria al acabar ésta. Para mostrar esta ventaja del método de posicionamiento elegido convendría realizar pruebas en las que el robot se obstruya en el seguimiento de una trayectoria. La propuesta en este sentido estaría relacionada con otra línea que se está desarrollando dentro del grupo de investigación: la localización precisa de un humano en el espacio de trabajo del robot. Se trataría de retirar el robot cuando un humano se aproxima para evitar la colisión. De esta forma, el robot se alejaría de la trayectoria deseada. Un método de seguimiento temporal fallaría en el intento de volver a la trayectoria para terminarla correctamente. El método propuesto sería capaz de volver al punto de la trayectoria en el que se quedó, con lo que evitaría una posible colisión al seguir la trayectoria 14 T a r e a d e c a m b i o d e b o m b i l l a e n u n a f a rol a segura predefinida. La propuesta se ve mejor con un ejemplo gráfico (ver Figuras 15 y 16): objeto fijo trayectoria deseada robot humano Figura 15: Método de seguimiento intemporal. objeto fijo trayectoria deseada robot humano Figura 16: Método de seguimiento temporal. 15