EyeBot – Vision Guided Robot

Para garantizar un "agarre inteligente" hay que integrar y sincronizar a la perfección diferentes disciplinas. Por ejemplo, para que un robot pueda clasificar productos de diferente tamaño, forma, composición o incluso calidad, no sólo es necesario que sepa "agarrar" los objetos, sino que previamente deberá haberlos identificado, analizado y localizado. Con los sistemas de procesamiento de imágenes basados en reglas, y sobre todo cuando se trata de lotes pequeños, esta tarea no es solo costosa a nivel de tiempo sino a menudo también inviable desde el punto de vista económico. Sin embargo, en combinación con la inferencia basada en IA, hoy en día es posible entrenar a los robots industriales para que desarrollen las habilidades necesarias y el conocimiento de producto propio de un operario cualificado. Y para ello, no hace falta reinventar la rueda: basta con sincronizar los productos adecuados para conformar un "sistema de visión robótica inteligente" capaz de trabajar eficazmente de forma interdisciplinaria.

Caso de uso EyeBot

En una línea de producción, los objetos se encuentran esparcidos aleatoriamente en una cinta transportadora. Los objetos se tienen que identificar, seleccionar e introducir, por ejemplo, en distintas cajas o colocarse en la posición correcta para derivarse a una unidad de procesamiento o análisis posterior. La empresa de software urobots GmbH ha desarrollado una solución basada en PC para el reconocimiento de objetos y el control de robots. Su modelo de IA entrenado es capaz de determinar la posición y la orientación del objeto a través de las imágenes que suministra la cámara y de transmitir, a partir de estos datos, las coordenadas de agarre pertinentes al robot. El objetivo era portar esta solución al sistema de visión embebida basado en IA de IDS Imaging Development Systems GmbH, para lo cual urobots partió de dos premisas fundamentales:

  1. Cualquier usuario, sin necesidad de tener conocimientos expertos en IA, tenía que poder adaptar fácilmente el sistema a sus necesidades particulares de aplicación. Esto debía incluir, por ejemplo, cambios en la producción, como la iluminación, el aspecto de los objetos o incluso la incorporación de nuevos tipos de objeto.
  2. El sistema debía funcionar sin necesidad de utilizar un PC de soporte con el fin de ahorrar peso, espacio y dinero, y para ello debía establecerse una comunicación directa entre los distintos componentes.

El sistema de cámara inferencial IDS NXT ocean cumplía a la perfección estas dos premisas.

Alexey Pavlov (director ejecutivo de urobots GmbH) explica:
"Todo el procesamiento de imágenes se ejecuta en la cámara, que se comunica directamente con el robot a través de Ethernet. Esto se consigue mediante una app de visión artificial desarrollada con IDS NXT Vision App Creator, que utiliza el núcleo de IA de la cámara IDS NXT. La app permite a la cámara localizar e identificar en la información gráfica objetos (2D) previamente entrenados. Esto permite al robot, por ejemplo, agarrar herramientas dispuestas sobre una superficie plana y colocarlas en la posición correcta en el lugar previsto. El sistema sin PC ahorra costes, espacio y energía, lo cual permite configurar aplicaciones de picking ágiles y económicas."

Detección de posición y comunicación directa con la máquina

Una red neuronal entrenada identifica todos los objetos de la imagen y detecta su posición y orientación. Gracias a la IA, esta tarea no solo se puede ejecutar de forma altamente fiable con objetos estables que siempre presentan el mismo aspecto, sino también cuando hay mucha variación natural, como es el caso de los alimentos, las plantas u otros objetos flexibles. La empresa urobots GmbH utilizó su propio know-how y software para entrenar la red para el cliente y la convirtió al formato adecuado —un formato optimizado similar al de una "lista concatenada"— para, finalmente, cargarla en la cámara IDS NXT. Portar la red neuronal entrenada a la cámara inferencial fue muy fácil con la herramienta IDS NXT ferry de IDS. A partir de cada capa de la red neuronal convolucional (CNN) se genera un descriptor de nodo que describe con precisión cada capa. El resultado final es una lista completa concatenada de la CNN en formato binario. Un acelerador de CNN especialmente desarrollado para la cámara sobre la base de un núcleo FPGA puede ejecutar de forma óptima este formato universal de CNN.

La aplicación de visión artificial desarrollada por urobots calcula las posiciones óptimas de agarre a partir de los datos registrados durante el reconocimiento. Sin embargo, determinar el qué, dónde y cómo no resolvía la tarea de agarre por completo, dado que era necesario garantizar una comunicación directa entre la cámara IDS NXT y el robot, un requisito no menor porque es aquí donde, a menudo, se decide cuánto tiempo, dinero y trabajo hay que invertir en una solución. Urobots utilizó IDS NXT Vision App Creator para implementar en la app de visión artificial de la cámara un protocolo de red basado en XMLRPC que transmitiera directamente al robot las instrucciones de trabajo. La aplicación final de visión artificial es capaz de detectar objetos en alrededor de 200 ms con una precisión posicional de +/- 2 grados.

La red neuronal de la cámara IDS NXT localiza y detecta la posición exacta de los objetos. Basándose en esta información gráfica, el robot puede agarrar y depositar dichos objetos con plena autonomía.
La red neuronal de la cámara IDS NXT localiza y detecta la posición exacta de los objetos. Basándose en esta información gráfica, el robot puede agarrar y depositar dichos objetos con plena autonomía.

Una inteligencia que permite incluso prescindir de ordenador

La inteligencia artificial no es lo único que hace de esta aplicación un caso tan inteligente. El hecho de que el sistema sea capaz de trabajar sin un PC de soporte —porque la cámara no solo suministra imágenes, sino que también las procesa— presenta otras dos ventajas fundamentales. Por un lado, prescindir del ordenador de apoyo y de toda la infraestructura asociada permite reducir sustancialmente los costes de inversión y de mantenimiento de la instalación. Además, muchas veces también es importante que las decisiones de proceso se puedan tomar directamente in situ, es decir, "a tiempo", para que los procesos posteriores puedan ejecutarse más rápidamente y sin latencias, lo que en algunos casos permite aumentar la velocidad de ciclo.

La segunda ventaja fundamental está relacionada con los costes de desarrollo. La visión basada en IA y el entrenamiento de una red neuronal funciona de una manera completamente diferente al clásico procesamiento de imágenes basado en reglas, con lo que también cambia el enfoque a la hora de abordar las tareas de procesamiento. La calidad de los resultados ya no es el producto de un código de programa desarrollado manualmente por expertos en procesamiento de imágenes y desarrollo de aplicaciones. Dicho de otro modo, si una tarea puede resolverse con inteligencia artificial, IDS NXT ocean nos permite ahorrarnos el coste y el tiempo que suponen dichos expertos porque con su amplio entorno de software de fácil manejo cualquier grupo de usuarios puede entrenar una red neuronal, diseñar la app de visión artificial correspondiente y ejecutarla en la cámara.

El caso de uso EyeBot demuestra de qué forma se puede convertir una aplicación de visión artificial basada en PC en un sistema de visión embebida basado en IA que no precisa dicho PC para funcionar. La posibilidad de ampliar el sistema a través del concepto de app de visión artificial, de desarrollar aplicaciones para distintos grupos de usuarios y de obtener un soporte unificado de fabricante son otras de las muchas ventajas que ofrece este pequeño sistema embebido. Con EyeBot las competencias están claramente repartidas: el usuario puede concentrarse en su producto mientras IDS y urobots se ocupan de entrenar y ejecutar la IA para el procesamiento de imágenes y de controlar al robot. A estas dos ventajas cabe añadir todavía una más: la posibilidad de adaptar fácilmente la app de visión artificial a otros objetos, otros modelos de robot y, por tanto, a muchas otras aplicaciones similares gracias a la comunicación basada en Ethernet y a la plataforma abierta IDS NXT.

Vídeo sobre el sistema EyeBot de urobots