Gobierno de España, Ministerio de Ciencia e Innovación - CDTI Innovación

El proyecto 5R está financiado por el Ministerio de Ciencia e Innovación a través del Centro para el Desarrollo Tecnológico Industrial (CDTI), número de contrato CER-20211007, en el marco del programa “Centros Tecnológicos de Excelencia Cervera”

The 5R project is funded by the Ministry of Science and Innovation through the Center for Industrial Technological Development (CDTI), contract number CER-20211007, within the framework of the «Cervera Technology Centers of Excellence» program.

Inicio » Catálogo de componentes disponibles

Catálogo de componentes disponibles

Catálogo de componentes activos disponibles en cada uno de los centros para su potencial instalación en las Fábricas del resto de la red.

Calidad

Clasificación de chatarra mediante imagen hiperespectral (V1.0)

Solución que combina el software y el hardware para la caracterización de chatarra a nivel de pixel usando imagen hiperespectral (Figura 5). En concreto, la solución es capaz de diferenciar entre aluminio, acero inoxidable, cobre, zinc, fracción estéril, plástico, y fracción férrica a nivel de pixel a partir del hipercubo obtenido con el software de adquisición (en esta versión no funciona en modo online).

Fábrica Piloto para procesamiento y manipulación de piezas en entornos de Industria 4.0, en Tekniker

Efectores finales de inspección de defectos de pintura

Componentes de diferentes diseños de efectores finales para aplicaciones de inspección de defectos de pintura de piezas aeronáuticas. Los efectores han sido integrados y desplegados en diferentes robots industriales KUKA.

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec

Sistema de análisis de nubes de puntos construidas a partir de escáner láser

Conjunto de librerías de software para el procesado y análisis de nubes de puntos construidas con un escáner laser, orientado a la detección de FODs en entornos aeronáuticos; para el control del escáner láser del fabricante Leica para automatizar el proceso de obtención de nubes de puntos. Se incluye un simulador del escáner láser con el que obtener nubes de puntos de entornos virtuales.

Enlace al repositorio público:

El paquete también incluye un simulador del dispositivo Leica Scanstation C5, que permite al usuario adquirir una nube de puntos de la escena a la que apunta el dispositivo en el simulador. El simulador permite configurar la ventana de escaneo para que la nube resultante sea lo más parecida posible a la que se produciría con el Leica Scanstation C5 real. El uso del simulador comienza con la carga del entorno virtual y del dispositivo. A continuación, se carga el convertidor de perfil láser a nube de puntos, seguido del plug-in del dispositivo.

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec

Sistema de Reconocimiento de objetos

Sistema de reconocimiento de objetos basado en Deep Learning. Concretamente el modelo utilizado es YOLOv4 a través del framework Darknet. Este modelo ha sido entrenado para el reconocimiento automático de algunos tipos de conectores de cables.

Tanto el entrenamiento del modelo como la inferencia hacen uso de la GPU para aumentar la velocidad de procesamiento, pues resulta muy conveniente el uso de este hardware para aplicaciones con tratamiento de imágenes.

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec

Sistema SmartVision para medición de parámetros geométricos (V1.0)

Herramienta software de propósito general para medición de piezas mediante visión artificial. Permite un alto grado de flexibilidad de configuraciones del puesto de medición, permitiendo utilizar diferentes tecnologías de cámaras, ópticas e iluminaciones.

Dispone de un conjunto de herramientas de inspección basadas en componentes (plugins) escalable y personalizable.

Fábrica Piloto para procesamiento y manipulación de piezas en entornos de Industria 4.0, en Tekniker

Sistema SmartVision para medición de parámetros geométricos y defectos superficiales

Plugin para la detección de defectos en una imagen a partir de un modelo de Deep Learning de Object Detection. El plugin exige la utilización del software “Sistema SmartVision para medición de parámetros geométricos”.

1.2.3 Sistema SmartVision para medición de parámetros geométricos y defectos superficiales

Fábrica Piloto para procesamiento y manipulación de piezas en entornos de Industria 4.0, en Tekniker

Verificación de piezas 3D (V1.0)

Sistema de captura y verificación de piezas en 3D. La solución realiza la captura de la geometría de una pieza empleando tecnologías basadas en proyección de franjas y realiza la verificación de la misma empleando técnicas de comparación con una pieza referencia.

Para su funcionamiento, el sistema requiere una cámara y un proyector que se encuentren separados y solidarios. En una primera fase se requiere la calibración del sistema mediante una mira de calibración. Se entrega plantilla en formato electrónico e instrucciones.

Una vez calibrado el sistema, se captura la información 3D de una pieza de referencia, de forma manual se elimina la información tridimensional no correspondiente a la pieza objetivo. A continuación, se le muestra al sistema nuevas piezas. El resultado de la inspección es la variación geométrica de la pieza de referencia frente a la nueva pieza.

Fábrica Piloto para operaciones con materiales flexibles, en Cartif

Control

Behaviour Tree

Una alternativa para la orquestación de las distintas habilidades básicas de un robot para que juntas compongan comportamientos complejos y adaptables es el uso de árboles de comportamiento (Behaviour Trees). A diferencia de una máquina de estados finitos, un árbol de comportamiento es un árbol dirigido con nodos jerárquicos que controla el flujo de decisiones y la ejecución de «tareas» o «acciones». Existen tres categorías de nodos: el nodo raíz, los nodos controladores de flujo y los nodos de ejecución. La ejecución de un árbol de comportamiento comienza por el nodo raíz y continúa con los nodos siguientes de acuerdo con la estructura y lógica definida en el propio árbol. En cuanto a los nodos de control de flujo, existen nodos predefinidos que implementan diversas lógicas como, por ejemplo, los selectores y las secuencias:

  • Los selectores buscan secuencialmente al primer hijo que devuelve un resultado de éxito (note que este hijo puede ser directamente un nodo de ejecución o una estructura de nodos que después de ejecutarse comunique su resultado). Estos nodos son muy relevantes a la hora de elaborar estrategias de actuación robustas a fallos porque permiten implementar un control con planes alternativos cuando el agente robótico no puede ejecutar con éxito el plan predeterminado.
  • Las secuencias ejecutan de forma sucesiva los nodos hijos que todavía no han finalizado su proceso (ya sea exitosamente o no). El valor de retorno de la secuencia será de fallo o en proceso si cualquiera de los hijos devuelve fallo o en proceso respectivamente y sólo será de éxito una vez que todos los nodos hijos hayan devuelto un resultado de éxito.

Finalmente, los nodos de ejecución representan, conceptualmente, la funcionalidad más básica, y es donde se integran las capacidades primitivas del robot. Esta estrategia permite desacoplar el desarrollo de módulos, o componentes funcionales, del diseño y generación del comportamiento del robot.

ROS ofrece una herramienta intuitiva y versátil, BehaviourTree.CPP, para diseñar y ejecutar comportamientos del robot mediante árboles de comportamiento. Esta herramienta fue desarrollada originalmente por Eurecat en el contexto del proyecto Europeo RobMosys y es mantenida actualmente (con código abierto) por la comunidad organizada alrededor de ROS. El proyecto también incluye un editor gráfico llamado Groot específicamente pensado para el diseño intuitivo de comportamientos.

Fábrica Piloto para la fabricación, ensamblado e inspección colaborativa, en Eurecat

Librería para el control de cámaras PTZ mediante protocolo ONVIF

Librería desarrollada a partir de la librería de ONVIF de Tereius, libOnvif (https://github.com/Tereius/libONVIF). Esta librería facilita el uso de la original simplificando los inputs necesarios para el uso efectivo de las posibilidades que proporciona el protocolo ONVIF en cámaras PTZ. Actualmente el proyecto tiene soporte para el movimiento relativo asociado a la parte PTZ y la grabación de videos en la memoria interna de la cámara.

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec

Panel de control de robot conectado (GRAFANA)

Se dispone de un conjunto de robots conectados a una misma subred, por lo que es posible leer localmente datos del estado del robot y almacenarlos online en un servidor de la subred (mySQL).

Este activo consta de un panel de control donde se visualizan gráficos e históricos sobre estos datos en Grafana, que pueden verse desde un navegador web de cualquier dispositivo conectado a la subred.

Como posible extensión sobre esta misma base datos podrían analizarse para extraer conclusiones (e.g. mantenimiento predictivo).

Se pueden recibir datos de cualquier robot/dispositivo compatible con ROS y cualquier tipo de dato que ofrece la controladora del robot (posiciones, velocidades, consumos, temperaturas, errores, nombre del script corriente, robot en uso o no, estados I/O…).

Fábrica Piloto para la fabricación, ensamblado e inspección colaborativa, en Eurecat

ROS Wrapper para Modbus Servodrivers

Control de un servodriver AKD de Kollmorgen usando el protocolo Modbus mediante el framework de ROS para el control de ejes lineales.

Fábrica Piloto para la fabricación, ensamblado e inspección colaborativa, en Eurecat.

ROS Wrapper PLC Siemens

Control de un PLC SIEMENS mediante el framework de ROS para el control de actuadores, lectura de sensores, etc

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec

Sistema de seguimiento de personas por visión artificial

El sistema de seguimiento de personas es capaz de detectar y localizar personas en un espacio tridimensional (área de trabajo) aun cuando las personas visten uniforme. El sistema hace uso de las imágenes facilitadas por dos cámaras RGB a partir de las que, realizando una calibración estéreo previa, se es capaz de desambiguar la posición 3D de las personas detectadas en el área. Para detectar las personas en las imágenes 2D se utiliza la red neuronal YOLO (You Only Look Once) y mientras que para hallar la correspondencia entre imágenes se utiliza una combinación de desambiguación geométrica, algoritmo Húngaro y filtro de Kalman. Además, si se tiene un mapa de la zona de trabajo, este se puede calibrar con respecto a una de las cámaras para obtener así la posición de las personas con respecto a ese mapa.

Fábrica Piloto para la fabricación de grandes piezas, en Aimen

Software para control de procesos (Capturer y Visualizer)

El Capturer y el Visualizer son una pareja de programas software complementarios desarrollados por AIMEN para facilitar la implementación de sistemas de monitorización y control de procesos de fabricación láser y fabricación aditiva, aunque podría usarse para muchos otros.

El Capturer es una pieza de software que se encarga de realizar las comunicaciones con diferentes dispositivos de recogida de datos, guardar dichos valores y de mostrar sus valores en tiempo real. Los dispositivos actualmente soportados son:

  • Cámaras: cámaras GiGE Genicam (la mayoría de cámaras industriales Ethernet soportan este standard) y Clamir (cámara con capacidad de control en tiempo real a 1000Hz para procesos láser).
  • Señales analógicas: ADC USB Labjack (para señales por debajo de 100Hz como termopares) y osciloscopios digitales PicoScope (para señales hasta 10kHz como señales eléctricas).
  • Buses industriales: Profinet y Ethercat utilizando tarjetas PCI.
  • OPC-UA: protocolo industrial de Industria 4.0 autodescriptivo sobre Ethernet.
  • Ethernet: comunicación a través de sockets Ethernet con paquetes configurables. Utilizado para comunicarse con robots industriales (ABB y KUKA).
  • Serial: puerto serie.

Los datos capturados se guardan en formato comprimido HDF5 con distribución interna de tablas diseñado por AIMEN, que permite guardar información heterogénea (imágenes, escalares, etc.) capturada a distintas frecuencias y relacionar los datos de las diferentes tablas. HDF5 permite además reducir el tamaño de las capturas aproximadamente a la mitad con respecto a formatos no comprimidos y permite acceder a los datos en el archivo sin cargar la totalidad del archivo en memoria, lo que permite grabar durante varias horas y generar archivos de varios GBs sin dificultar el acceso posterior.

La parte gráfica de la aplicación se ejecuta de manera separada y se comunica a través de OPC-UA con el núcleo de captura. Esto permite ejecutar la captura en dispositivos embebidos sin sistema de ventanas y permite también el poder visualizar los datos que se están capturando desde una computadora personal de manera remota (por ejemplo acceder desde una oficina a un equipo remoto en fábrica para revisar cómo evoluciona el proceso de captura).

El Visualizer es un programa que lee los archivos HDF5 grabados por el Capturer y permite realizar un análisis y tratamiento a los datos capturados. El Visualizer tiene las siguientes capacidades.

  • Representación temporal de valores escalares.
  • Representación de las imágenes capturadas en 2D y 3D con distintos esquemas de colores y opciones de procesado simples como suavizado o extracción de perfiles (cortes de la imagen por un plano).
  • Representación 3D de parámetros escalares para detectar posibles variaciones que dependan de la geometría o localización la parte de la pieza que se está fabricando.
  • Cálculo de características (features) de los datos capturados, como características de las imágenes y de señales eléctricas (Fourier, etc.).
  • Corte de HDF5 y exportación a otros formatos: csv, png, etc.
  • Reproductor para poder reproducir el proceso tal como se capturó en la realidad o a velocidad lenta o incluso muestra por muestra.

El Capturer y el Visualizer se usaron con éxito en los siguientes procesos: LMD (Laser Metal Deposition), PBF L-B/M (Poweder Bed Fusion), WAAM (Wire Arc Additive Manufacturing), Dual Submerged Arc Welding, MIG/MAG welding , TIG welding , PAW (Plasma) Laser welding, Hybrid welding (Laser-Arc). Sin embargo, debido a la naturaleza genérica del programa, se podría usar para cualquier otro proceso de fabricación en el que se necesite realizar una monitorización y control de las variables físicas.

Fábrica Piloto para la fabricación de grandes piezas, en Aimen

Generación de mosaicos 3D para procesos de paletizado

La generación de mosaicos 3D tiene como objetivo calcular la posición de distintos elementos dentro de un contenedor intentando optimizar criterios como el espacio dentro del mismo o su estabilidad. Este tipo de algoritmos son ampliamente utilizados en almacenes o centros de logística para optimizar la preparación de pedidos.

Dada una lista de objetos cúbicos con distintas dimensiones, este algoritmo calcula el mosaico teniendo en cuenta aspectos como, el peso, volumen, rigidez etc. de los objetos. Este software permite generar mosaicos a partir tanto de una caja vacía como de una configuración inicial.

El cálculo del mosaico se realiza de manera heurística ya que la rapidez del sistema es clave para garantizar el tiempo de ciclo en las aplicaciones de paletizado. Por ello, las soluciones generadas son buenas, pero no óptimas.

Fábrica Piloto para procesamiento y manipulación de piezas en entornos de Industria 4.0, en Tekniker. 

Integración UNITY-MUJOCO-ROS2 con MOVEIT2

La simulación realista del control que provee Unity-MuJoCo junto con este software es de gran utilidad para la ejecución de trayectorias y simulación de operativas de manipulación utilizando ROS2, más concretamente MoveIt2.

La solución consiste en un conjunto de ficheros en ROS2 (C++) y Unity (C#) que habilitan que un brazo robótico UR10 simulado en Unity con elementos del motor de físicas MuJoCo, sea integrado en el ecosistema de ROS2, más concretamente en ROS2 Control. Permite planificar trayectoria mediante MoveIt2, tanto mediante scripts programados por el usuario como usando los “sliders” de joints del plugin MotionPlanning (ofrecido por MoveIt2) en RViz2.

El usuario puede planificar y ejecutar trayectorias usando MoveIt2, y Unity-MuJoCo leerá las consignas de los controladores, actualizando los actuadores del robot y por lo tanto moviendo el robot. Este movimiento se verá reflejado en RViz2.

Fábrica Piloto para procesamiento y manipulación de piezas en entornos de Industria 4.0, en Tekniker. 

OPC-UA ROS Wrapper

El módulo de OPC-UA Ros Wrapper se compone de dos paquetes: un módulo de desplegará un cliente y otro que hará establecerá el servidor. Está preparado para recibir determinados tipos de mensaje de ROS y publicarlos en los identificadores y puertos configurados en el servidor.

Este sistema ha sido probado en ROS Melodic para la lectura de las posiciones de un robot (mensajes tipo geometry_msgs::PoseStamped). No obstante, distintas versiones de ROS también deberían ser compatibles, ya que solo se depende de una librería.

Se han realizado pruebas con el servidor y cliente en el mismo equipo y con la conexión de un cliente externo para la lectura de datos. La visualización de estos datos se ha realizado también con el cliente UaExpert (Figura 16).

Fábrica Piloto para la fabricación de grandes piezas, en Aimen.

Simulador Isaac Gym para robot TIAGo para Reinforcement Learning

Con el objetivo de obtener un algoritmo de Aprendizaje por Refuerzo para adaptar el agarre y manipulación de diferentes tipos de objetos se ha integrado un pipeline sim2real en ROS a partir de políticas obtenidas en el entorno Isaac Gym por Nvidia usando el robot TIAGo. Este simulador permite hacer uso de GPU para reducir el consumo de tiempo de los procesos de aprendizaje. Se han realizado pruebas en una tarea de apertura de cajón, concretamente para alcanzar y acercarse correctamente al tirador.

La política obtenida se transfiere a través de un módulo diseñado específicamente encima del control de ROS, reconociendo las diferencias entre Isaac Gym y la simulación de ROS basada en Gazebo. Este enfoque mejora su transferencia a la plataforma real, reduciendo la brecha sim2real a la existente con el modelo implementado ROS.

Fábrica Piloto para la fabricación, ensamblado e inspección colaborativa, en Eurecat.

Gemelo digital de robots colaborativos (v1.0)

Modelado y recepción de estados de robot colaborativo ur5e y ur10e de manera simultánea, para visualizar los estados de la maquinaria industrial colaborativa dentro de un área de trabajo. Permite al trabajador, conocer el estado y posición de la maquinaria sin la necesidad de tener presencia en el lugar donde se realiza la actividad industrial. La transmisión de los datos entre los robots y la aplicación se realiza mediante un contenedor de Docker con la imagen de ROS Melodic.

Fábrica Piloto para operaciones con materiales flexibles, en Cartif.

Simulador para el cálculo de colisiones entre dos robots colaborativos (v1.0)

Módulo de cálculo de interacciones entre dos robots colaborativos con el fin de evitar la colisión entre ellos a la hora de realizar operaciones conjuntas. Realiza una representación del movimiento a realizar y sus posibles puntos de contacto, sugiriendo posicionamientos alternativos para su correcto funcionamiento. Está implementado en un simulador para poder comprobar su funcionamiento antes de llevarlo a la planta real.

Existen diferentes criterios a la hora de ordenar las prioridades de los movimientos de los robots, para poder priorizar uno u otro de forma dinámica.

Fábrica Piloto para operaciones con materiales flexibles, en Cartif.

Paquete ROS para la representación en RVIZ de modelos 3D dinámicos

Este paquete es una herramienta de uso general que permite la visualización de modelos 3D de manera dinámica en RVIZ pudiendo partir de un archivo o del resultado de una reconstrucción basada en una nube de puntos. Este paquete proporciona una interfaz que recoge la infirmación necesaria para la recosntrucción de la triangulación de los modelos 3D, cargando las caras individuales del modelo como diferentes marcadores personalizados. ESto da la apariencia en RVIZ de que el modelo ha sido cargado como en un visualizador clásico como puede ser el de Open3D o FreeCAD, pudiendo ser modificado dinámicamente.

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec.

ROS Wrapper PLC Arduino

El ROS Wrapper PLC Arduino facilita la integración de PLCs basados en Arduino con ROS. Permite la comunicación bidireccional entre dispositivos Arduino y sistemas ROS, facilitando la interacción con sensores y actuadores controlados por PLC en entornos robóticos y de automatización.

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec.

Panel RViz para Reproducción de Rosbags

Este paquete ofrece un panel RViz personalizado para reproducir rosbags con funcionalidades mejoradas. El panel permite la reproducción hacia adelante o hacia atrás, ajuste de velocidad, y muestra información relevante como la fecha de los mensajes o el tamaño total del bag. Además, incluye una barra de progreso interactiva.

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec.

Interacción

Detección de condiciones subjetivas para el desempeño del operario (V1.0)

Sistema capaz de determinar las condiciones que afectan al desempeño de un operario que trabaja con un robot colaborativo a través de parámetros subjetivos.

El sistema estará compuesto de elementos hardware para la adquisición de imágenes del rostro y del habla del operario. También contará con un ordenador que recoja la información y la procese.

Una aplicación software la analizará y calculará valores que indiquen el nivel de fatiga, alerta, concentración, etc. que pueda tener el operario. Estos valores podrán ser consultados en cualquier momento mediante consulta a servicio web.

Estos indicadores podrían utilizarse como entradas para un sistema de toma de decisiones que varíe la rutina del robot colaborativo para adaptarse a las condiciones del operario en todo momento.

Fábrica Piloto para operaciones con materiales flexibles, en Cartif.

Guiado manual

El guiado manual consiste, como su nombre indica, en la capacidad de poder mover un robot de forma que cuyo movimiento venga dado por acción humana. Para ello, el sistema deberá obtener los esfuerzos que se están aplicando sobre un punto determinado con el fin de poder reaccionar a este esfuerzo. Esta información será obtenida por un sensor de esfuerzos de seis ejes. Por ejemplo, si aplicamos una fuerza en el eje -Z del TCP del robot, el movimiento que se deberá generar será la elevación del TCP. Este comportamiento será el que se siga para el resto de los momentos y esfuerzos.

El guiado manual presenta dos modos de funcionamiento: calibración del sensor de esfuerzos; y modo de guiado manual, cuya resistencia al movimiento producido por el operario se podrá modificar para facilitar el guiado. Además, este modo podrá activarse mediante la integración de un pulsador externo.

Fábrica Piloto para la fabricación de grandes piezas, en Aimen

Guiado manual de un robot virtual o real mediante su holograma

Sistema software que permite programar un brazo robótico (virtual o real) a través de la interacción con su gemelo digital mediante comandos de voz y gestos.

El sistema está compuesto de dos módulos:

  • Aplicación de realidad mixta para Microsoft Hololens 2 donde se muestra el gemelo digital del brazo robótico y con el que se interactúa.
  • Módulo de cálculo de trayectorias y gestión de la información procedente de la aplicación de realidad mixta.

Los comandos de voz implementados son Planifica, Ejecuta, Menú, Recoloca y Bloquea, pudiendo incluirse nuevos a instancias del usuario.

Guiado manual de un robot virtual o real mediante su holograma

Fábrica Piloto para procesamiento y manipulación de piezas en entornos de Industria 4.0, en Tekniker

Interpretación de comandos simples mediante voz

Software capaz de detectar de manera automática una serie de comandos de voz previamente definidos por el usuario para poder facilitar la comunicación persona robot. El software funciona sin conexión a internet y una vez detectado un comando lo expone a otros sistemas mediante una conexión TCP/IP y/o un topic de ROS.

La finalidad de este sistema es de tener una solución sencilla, fácilmente integrable y que funciona de manera local en un PC o miniPC sin necesidad de grandes capacidades de cómputo.

El activo viene configurado de manera predefinida con las siguientes 5 órdenes: “robot parar», «robot siguiente», «robot continúa», «robot acabar» y “robot detener». Como se puede apreciar en este caso la palabra “robot” es la palabra clave que identifica el comienzo de un comando, de la misma manera que “OK Google” lo hace para los asistentes de voz de Google.

La configuración de estas órdenes queda definida en un diccionario específico que viene junto al activo.

Fábrica Piloto para procesamiento y manipulación de piezas en entornos de Industria 4.0, en Tekniker

Interacción mediante fusión de diálogo de voz y gestos

Capa de software que permite interactuar mediante lenguaje natural con un sistema de Picking, permitiendo al usuario seleccionar el objeto a coger mediante comandos de voz, e indicando mediante gestos con la mano dónde desea depositar dicho objeto. El sistema de diálogo de voz está preparado para un demostrador compuesto por un robot colaborativo que puede realizar una tarea de picking de objetos, de distintas marcas y colores, y depositarlos en una de las dos cajas existentes. El usuario puede seleccionar la marca o color de los objetos a coger mediante comandos de voz, indicando mediante gestos con la mano dónde desea depositar dicho objeto. En caso de que el sistema necesite información adicional para completar la solicitud, éste solicitará al operario dicha información estableciendo un diálogo entre ambos.

La finalidad de este sistema es permitir que perfiles de usuarios no especializados ni formados puedan interactuar con sistemas de forma natural sin una formación experta en programación.

Interacción mediante fusión de diálogo de voz y gestos

Fábrica Piloto para procesamiento y manipulación de piezas en entornos de Industria 4.0, en Tekniker

Reconocimiento de gestos estáticos (V1.0)

Solución software para el reconocimiento de gestos estáticos basado en el reconocimiento de partes del cuerpo de una persona para poder trasmitir órdenes a una máquina (Figura 2). Esta solución se compone de dos módulos.

  • Un módulo de generación y entrenamiento de gestos. Permite generar modelos al usuario. Se almacenan imágenes de gestos realizados por distintas personas y se entrena un modelo de machine learning para el mismo.
  • Un módulo de inferencia que se encarga de la detección de las partes del cuerpo de una persona y el reconocimiento del gesto en base a los modelos generados por el usuario, dando como salida el identificador del gesto.
Reconocimiento de gestos - Red 5R

Fábrica Piloto para procesamiento y manipulación de piezas en entornos de Industria 4.0, en Tekniker

ROS Wrapper proyector láser

Conjunto de paquetes ROS para el control del proyector láser ZLP1 utilizado para aplicaciones de Realidad Aumentada para guiado del operario.

Enlace al repositorio público:

Entre estos paquetes se incluye por un lado el control del proyector: proyección de figuras, definición de sistemas de coordenadas, etc. (ver ROS wiki para más info).Y por otro lado incluye también una GUI de control para el usuario así como un visualizador de figuras en RViz.

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec

Interacción operario – robot mediante realidad mixta (V1.0)

Sistema que muestra la viabilidad del uso de la realidad mixta en el entorno robótico colaborativo. La aplicación desarrollada da soporte a un operario sin conocimientos en robótica a la hora de realizar tareas cotidianas con el robot. El sistema está compuesto por un dispositivo holográfico de realidad mixta para que el operario pueda interactuar con un robot mediante gestos y comandos de voz, y un robot colaborativo que ejecuta las indicaciones del operario. La comunicación entre el dispositivo holográfico de realidad mixta y el robot se realiza mediante una aplicación que se ejecuta en ROS. Esta aplicación se subscribe a los datos enviados por el dispositivo holográfico, traduce los mensajes al lenguaje nativo del robot y se los envía. Este software es empaquetado en un contenedor con los paquetes y dependencias justas y necesarias para que funcione correctamente. En la siguiente figura se muestra un diagrama de la arquitectura general de nuestro sistema con las tecnologías y herramientas utilizadas.

En la siguiente figura, a la izquierda se muestra el sistema mientras es utilizado por el usuario, a la derecha se muestra la visión del operador en la que el mundo real se mezcla con el mundo virtual.

Actualmente la aplicación permite:

  • Definir trayectorias
  • Seguir trayectorias de forma lineal (moveL)
  • Seguir trayectorias de forma curvilínea (moveJ)
  • Dar órdenes desde botonera holográfica, como ir a la posición home, realizar una trayectoria o detenerse.

Fábrica Piloto para operaciones con materiales flexibles, en Cartif

Speed and Separation Monitoring (SSM)

Speed Separation Module es un sistema para facilitar la colaboración entre humanos y robots (HRC) que calcula las distancias relativas a robots y personas con el objetivo de modificar la velocidad de trabajo de los robots. Las entradas de este sistema son el modelo URDF de los robots, la posición de los robots (joint_states) y la postura de las personas dadas por el activo del Hito 1 Sistema de seguimiento de personas por visión artificial.

Los cálculos de distancias se hacen con la ayuda de la librería FCL (Free Collision Library) con la que se crean unos sólidos, a partir de la información de entrada. También se programó la representación de dichos sólidos en RViz (característica ausente en FCL) para tareas de depuración y visualización. Iterando los sólidos y calculando las distancias que los separan, se obtiene la distancia mínima y se evalúa la reducción de la velocidad (o parada) del robot en función de unos parámetros. La salida del módulo es un número entero (0, 1, 2) que indica si el robot debe moverse con normalidad, a velocidad reducida o pararse. En función del modelo del robot, otro nodo subscrito a este valor hace lo necesario para modificar el comportamiento del robot.

Habrá que considerar que, si no se conoce mediante posicionamiento CAD la situación de la cámara relativa al sistema mundo o un sistema de referencia conocido, se podrá obtener dicha posición con el activo del Hito 3  Módulo de calibración Cámara-Mundo.

SSM se ha probado primeramente un entorno simulado y más adelante en distintas celdas robotizadas con UR10 y UR10e dando similares resultados. Su funcionamiento se muestra en la Figura 14.

Fábrica Piloto para la fabricación de grandes piezas, en Aimen.

Control de una célula robótica mediante comandos flexibles por voz (v1.0)

Asistente digital para facilitar a un operario el desarrollo de su trabajo dentro de una célula de fabricación. Dentro de la gestión de dicho asistente se incluyen tanto brazos robóticos como elementos auxiliares de la célula (luces, altavoces). Incluye diferentes formas de interacción con el operario mediante comandos de voz y reconocimiento de imágenes. Para ello se utiliza Inteligencia Artificial (IA) y Modelos Grandes de Lenguaje (Large Language Models, LLMs)

Entre las funcionalidades del asistente se incluirán el movimiento remoto del robot, la modificación dinámica de puntos de interés dentro de la zona de trabajo, asistencia al trabajador para realizar sus tareas, y avisos mediante señales luminosas o sonoras para promover un entorno seguro. Asimismo, el sistema cuenta con la capacidad de transcribir los comandos de voz emitidos por el operario, analizarlos y posteriormente sintetizar la respuesta de manera que pueda ser reproducida mediante los altavoces.

Fábrica Piloto para operaciones con materiales flexibles, en Cartif.

Sistema de seguimiento y traducción de trayectorias en robots colaborativos mediante realidad mixta (v1.0)

Aplicación de realidad mixta que se integra en Microsoft HoloLens 2 para escanear la trayectoria de una herramienta operada por el usuario, utilizando marcadores ArUco para la detección de la pose. La trayectoria se convierte en comandos nativos para Universal Robots con el fin de replicar el movimiento realizado en el robot colaborativo. La transmisión de datos entre HoloLens y el cobot se logra a través de un contenedor Docker que utiliza la imagen de ROS Melodic. Se ha implementado en un demostrador para planchado de asientos de coches.

Fábrica Piloto para operaciones con materiales flexibles, en Cartif.

Manipulación

Algoritmo de unfolding para prendas de ropa manipuladas por robot

Se dispone de un algoritmo de unfolding para prendas manipuladas por robot, es decir, prendas suspendidas en el aire sostenidas por un punto de agarre. El funcionamiento del algoritmo se en 4 fases:

  • Coger la prenda (no identificada) de una superficie o un montón.
  • Identificar y tomar el punto inferior de la pieza, por tenerla más controlada para la identificación de ésta (camiseta, pantalón, etc) a través de redes neuronales (NN).
  • Una vez clasificada la prenda, identificar y coger el primer Unfolding Grasping Point a través de otra NN.
  • Identificar y tomar el segundo Unfolding Grasping Point a través de otra NN.
  • En este step tendríamos la prenda cogida por los dos Unfolding grasping points y procederíamos al movimiento de unfolding (por ahora lo hacemos en el aire)

Se dispone de dos bases de datos para la identificación de los unfolding grasping points.

Fábrica Piloto para la fabricación, ensamblado e inspección colaborativa, en Eurecat

Sistema de bin-picking (SMARTPICKING) (V1.0)

Software capaz de resolver operaciones de detección de piezas, ubicadas dentro de un contenedor o sobre un plano, proporcionando a un robot la pose 6D del candidato seleccionado. Utilizando la información obtenida a través de un sensor 3D (nube de puntos), el software es capaz de identificar individuos, configurados previamente a partir de su modelo CAD, que se encuentren en el interior del contenedor o plano definidos. Entre todos los individuos identificados y mediante criterios de selección configurables, el software calcula el mejor candidato libre de colisiones en coordenadas del robot.

El sistema permite la conexión con diferentes fabricantes de robots mediante SOCKETS o a partir del protocolo industrial PROFINET.

Para poder indicar la pose del candidato en coordenadas del robot es necesario realizar un proceso de calibración que permita conocer la posición relativa del sensor 3D y del robot.

El software cuenta con los siguientes interfaces de configuración:

  • Definición y búsqueda del contenedor o plano en el que se encuentran las piezas sobre una nube de puntos.
  • Definición de puntos de agarre de la pieza definida por su CAD
  • Configuración de parámetros de búsqueda de candidatos y testeo sobre una nube de puntos. Visualización de candidatos junto con el gripper sobre la escena de testeo con posibilidad de filtrar puntos de agarre con y sin colisiones.

Fábrica Piloto para procesamiento y manipulación de piezas en entornos de Industria 4.0, en Tekniker

Navegación

Algoritmo de localización para espacios sin acceso a señal GPS

Sistema basado en la integración de información de un escáner láser y sensores embarcados que ofrece una localización lo suficientemente robusta para ser usada en robots aéreos en entornos sin señal GPS.

Enlace al repositorio público:

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec

Posicionamiento preciso de plataformas móviles basado en marcas (V1.0)

Sistema software capaz de posicionar un robot móvil con respecto a una referencia externa al robot con una precisión centimétrica. El sistema está basado en una cámara embarcada en un robot móvil, un patrón o referencia visible por la cámara y un algoritmo de control del movimiento de la plataforma móvil.

El robot recibe una posición final determinada respecto a la marca de referencia. El sistema de visión calcula la posición actual del robot respecto de dicha marca. En el caso de que no sea la posición objetivo se envía al sistema de control un movimiento de la plataforma para corregir el offset obtenido. La plataforma se mueve para corregir el offset y a la vez obtiene su posición actual por medio del sistema de visión enviando una nueva corrección. Esto se realiza de forma cíclica hasta alcanzar la posición objetivo dentro de un margen de error determinado por el sistema.

El objetivo principal del sistema es utilizarlo en aquellas operativas donde se necesite un posicionamiento del robot muy preciso y de bajo coste.

Fábrica Piloto para procesamiento y manipulación de piezas en entornos de Industria 4.0, en Tekniker

Sistema Active SLAM de generación de mapas 3D

Los modelos digitales 3D de entornos son de gran valor no sólo en robótica para tareas de localización, planificación o interacción, sino también en otros ámbitos como la cinematografía o el diseño, por ejemplo.

Sistema de localización y mapeo simultáneo activo (ASLAM), para la generación de un modelo digital 3D del entorno. Durante el mapeo autónomo, la cámara RGB-D incorporada en el robot se orienta siempre hacia el área del entorno del que se dispone menos información. Una vez finalizado el proceso se obtiene como resultado la reconstrucción parcial o total del entorno.

El sistema se ha validado en simulación, tal y como se muestra Figura 6.

Sistema Active SLAM de generación de mapas 3D

Fábrica Piloto para procesamiento y manipulación de piezas en entornos de Industria 4.0, en Tekniker

Sistema para localización en interiores sin marcadores

El sistema de localización en interiores desarrollado por AIMEN está basado en visión 3D y sirve para localizar un robot en el interior de un habitáculo sin necesidad de marcadores. Para ello se coloca una cámara 3D en la muñeca del robot y se hace un escaneo lo suficientemente representativo de la zona en la que se encuentra. Posteriormente la nube extraída a través de este proceso es utilizada para localizar la cámara mediante su comparación con el CAD del habitáculo. Para poder utilizar este sistema de localización es necesario hacer una calibración hand-to-eye previamente.

Este sistema ha sido probado con una cámara RGDB (Intel RealSense D435) y un robot UR10e.

Fábrica Piloto para la fabricación de grandes piezas, en Aimen.

Sistema de grabación y tracking de patrones láser para docking autónomo

Este módulo permite a un robot móvil equipado con un sensor láser 2D realizar la maniobra de docking a una plataforma compatible, permitiendo así aplicaciones en transporte, logística, etc.

El sistema está compuesto en cuatro sub-módulos:

  • Generador de patrones láser, que con base en barridos de sensores láser 2D, identifica clústeres asociados a la detección de una plataforma (carro) a la cual se deberá realizar el docking, de modo a grabar un “patrón” reconocible con las ubicaciones de cada clúster.
  • Seguimiento (tracking) de patrones láser, que con base en un patrón preestablecido (generado anteriormente), realiza el matching a partir de datos de los sensores láser equipado, generando así una referencia de posición y orientación al controlador de posición.
  • Controlador PID de posición para robot omnidireccional, que regula los comandos de velocidad dados al controlador de bajo nivel con base en los errores de posición y orientación.
  • Sistema de docking de un robot omnidireccional basado en máquina de estados, que controla el robot según distintos comportamientos (acercamiento a la posición de entrada, entrada, y ajuste a la posición final de docking).

Fábrica Piloto para la fabricación, ensamblado e inspección colaborativa, en Eurecat.

Percepción

Aplicación de consola para el procesado flexible de nubes de puntos

Aplicación de consola GNU para el procesamiento dinámico de nubes de puntos en formato PCD. Esta herramienta ha sido creada para acelerar el trabajo de la comparativa entre el resultado de aplicar diferentes filtros y parámetros a reconstrucciones 3D hechas por LIDAR, para finalmente generar el modelo 3D mediante triangulación en formato STL.

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec

Clasificador de prendas de ropa doblada para manipulación con robot

Este activo consta de un conjunto de imágenes anotadas destinado a la clasificación del tipo de prenda de ropa en situación de manipulación por brazo robot, es decir, la prenda de ropa cuelga de un punto.

El conjunto está compuesto por un total de 37 capturas de cada prenda (rotaciones de 10º de la última articulación del brazo robótico) con imágenes RGB y de profundidad.

Las imágenes de ejemplo corresponden a una camisa larga (id CL01).

Estos datos se utilizan para entrenar el módulo clasificador.

Actualmente, se está comprobando la precisión de la red clasificadora con prendas no catalogadas.

Fábrica Piloto para la fabricación, ensamblado e inspección colaborativa, en Eurecat

Convertidor de formatos de etiquetas

Software para la conversión de etiquetas desde formatos estándares (PASCAL VOC, COCO, CVAT) al formato propio de YOLO.

Enlace al repositorio público:

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec

Gemelo digital para sistema de localización indoor basado en UWB

Gemelo Digital para un sistema de localización en interiores. El Gemelo Digital está basado en ROS, utilizando RViz como visualizador, mientras que el sistema de localización indoor utiliza tecnología de Ultra Width Band (UWB) para el posicionamiento y seguimiento de tags en tiempo real.

El sistema está formado por un conjunto de antenas cuya ubicación en la fábrica ha sido estudiada de manera estratégica de tal forma que se pueda abarcar la mayor área posible. Estas antenas funcionan triangulando la posición de los tags que se utilizan para hacer el seguimiento de los activos, tales como carros de transporte, etc. Para facilitar el trabajo de la figura del responsable de logística, se ha desarrollado este Gemelo Digital de la planta en el que se puede llevar un seguimiento en tiempo real de la posición de los tags, así como la trayectoria realizada. Este tipo de herramientas resultan muy útiles para estos operarios en el desempeño de tareas tales como la optimización de rutas, seguimiento del stock del almacén, disponibilidad de activos, entre otras.

Como se puede ver en la Figura, el Gemelo Digital de la planta consiste en un modelo 3D simplificado de las instalaciones de CATEC, aunque se está realizando pruebas de escaneo del entorno y mapeado con el fin de obtener un mapa de la fábrica lo más detallado y fiel posible a la realidad. Para estas pruebas se están utilizando sensores 2D y 3D integrados en un AGV que, utilizando la propia odometría del robot, son capaces de ir reconstruyendo el entorno a su alrededor de manera automática.

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec

Herramienta de asistencia al etiquetado manual de datasets

Interfaz basada en navegador web que permite comparar las predicciones del modelo (YOLOv4) con el groundtruth. A su vez, la interfaz permite modificar las etiquetas del dataset original a partir de las predicciones. Actualmente el modelo está entrenado para la predicción de defectos en la carretera, pero se puede adaptar modificando los pesos para una nueva aplicación

Enlace al repositorio público:

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec.

Nodo de ROS2 para adquisición de información de las cámaras ZEDi, Photoneo

El módulo software se compone de tres paquetes:

  • Paquete que genera la definición de servicios y topics específicos utilizados por los nodos de adquisición
  • Paquete que genera un nodo para configurar y adquirir la información proporcionada por cámaras ZEDi
  • Paquete que genera un nodo para configurar y capturar información proporcionada escáneres Photoneo Phoxi y cámaras MotionCam.

Cada uno de los nodos de adquisición permite una configuración previa de parámetros específicos de cámara/escáner tales como resolución, identificación de cámara, framerate, etc.

La información ofrecida por cada nodo de adquisición en forma de topics de ROS2 es la siguiente:

  • Imagen RGB o Escala de grises en función de las capacidades del hardware
  • Imagen Depth
  • Nube de puntos que incluye información de intensidad.

Independientemente de la publicación de información en forma de topics, los nodos de adquisición exponen los siguientes servicios:

  • Adquisición a demanda de una escena. Además de las imágenes de intensidad profundidad y nube de puntos este servicio ofrece la información de la nube de puntos en un formato que facilita la generación de imágenes XYZ compatibles con las librerías de visión HALCON.
  • Servicio de recuperación de la información de una escena previamente demandada

Fábrica Piloto para procesamiento y manipulación de piezas en entornos de Industria 4.0, en Tekniker. 

Módulo de calibración offline Hand To Eye

El módulo de calibración Hand To Eye desarrollado por AIMEN está basado en el tratamiento de visión 2D para obtener la transformación relativa entre el sistema de referencia de la cámara y el TCP o flanco del robot. Para ello, se sitúa una cámara 2D/3D en la muñeca del robot y se lleva a distintas posiciones donde se vea el patrón para realizar su captura. Además, habrá que anotar la posición y orientación del TCP respecto a la base del robot. Habrá que tener un mínimo de 10 posiciones capturadas. Con el par posición/captura, calibración intrínseca de la cámara y tamaño del patrón tipo chessboard se podrá ejecutar el módulo de forma offline para obtener dicha transformación.

Este sistema ha sido probado con una cámara RGDB (Intel RealSense D435) y un robot UR10e.

Fábrica Piloto para la fabricación de grandes piezas, en Aimen.

Identificación y localización de objetos en coordenadas 3D (V1.0)

Aplicación para identificar y localizar objetos en coordenadas tridimensionales. La aplicación captura información 2D/3D mediante una cámara RGB-D. Con la imagen 2D identifica objetos en el espacio de trabajo mediante redes neuronales convolucionales y las localiza en la imagen. A continuación, determina sus coordenadas en el sistema de coordenadas del sensor. Puesto que la cámara nos proporciona información de profundidad, es capaz de calcular la distancia a la que está el objeto identificado con respecto a la cámara y envía información de la posición del objeto para que sea consumida por un robot.

En la siguiente figura se muestra una captura de pantalla de la salida del software para poder ver los resultados que ofrece la aplicación.

La aplicación puede hacer uso de distintas redes neuronales con objetivos de identificación diferentes. El software de entrenamiento no está incluido en el activo.

Fábrica Piloto para operaciones con materiales flexibles, en Cartif.

Módulo de calibración Cámara-Mundo

El módulo de calibración Cámara-Mundo nos permitirá obtener la posición de la cámara respecto a un sistema global definido de forma que se pueda representar en el entorno. Gracias a esta calibración, si tenemos un sistema de celda robotizada con una cámara fija en el espacio, se podrá relacionar la información detectada por la cámara dentro del espacio de la celda para el desarrollo de posteriores aplicaciones.

Para poder realizar dicha calibración, será necesario conocer la posición (xyz) de un elemento respecto a un sistema de referencia conocido para poder matchearlo con la vista de la cámara (pixel) y poder así obtener la calibración objetivo.

Este módulo se podrá desplegar de forma offline, ya que como entrada requiere de un fichero de posiciones en el que se indique la posición del elemento deseado en coordenadas mundo y coordenadas de la cámara. Por lo tanto, esto lo hace invariante a cualquier cámara 2D empleada.

En AIMEN, esta tecnología ha sido testeada con un Robot UR10e en una base fija y una cámara IDs posicionada en un poste en los alrededores de la celda robotizada.

Fábrica Piloto para la fabricación de grandes piezas, en Aimen.

Identificación y localización de objetos en coordenadas 3D (V2.0)

Mejora del activo “Identificación y localización de objetos en coordenadas 3D” perteneciente al hito 2 para comandar la acción de recogida del objeto mediante el uso de una aplicación integrada en Microsoft Hololens 2. Con esta aplicación el usuario visualiza la imagen que captura la cámara Intel RealSense D435 y decide que objeto desea recoger con el cobot.

Fábrica Piloto para operaciones con materiales flexibles, en Cartif.

Phoxi Localization ROS Wrapper

El Phoxi Localization ROS Wrapper proporciona una interfaz entre el software propietario de Photoneo, Localization SDK 1.3, y ROS. Este wrapper facilita el proceso de integración del sistema de localización basado en nubes de puntos de Photoneo con aplicaciones y sistemas robóticos que utilizan ROS. Permite el matcheo de nubes de puntos para la identificación y ubicación de los CAD de piezas. Este paquete utiliza como entrada la información de las nubes de puntos proporcionada por el software PhoXi Control utilizado para el control de los dispositivos de escaneo de Photoneo.

Fábrica Piloto para la supervisión y soporte interactivo en procesos manuales, en Catec.

Seguridad

Detección de proximidad (V1.0)

El sistema de detección de proximidad o PDS (Proximity Detection System) es un sistema software capaz de medir la distancia relativa entre un robot y cualquier objeto o persona en su proximidad, basándose en la información de la nube de puntos proporcionada por un sensor (o conjunto de sensores), un modelo URDF del robot y su posición en tiempo real.

El objetivo principal del sistema es utilizarlo como parte de la estrategia de seguridad basada en control y monitorizado de velocidad y separación en escenarios colaborativos. Cuando el sistema se utiliza con un sensor RGB-D, se pueden diferenciar las diferentes partes del cuerpo de una persona en la imagen.

Fábrica Piloto para procesamiento y manipulación de piezas en entornos de Industria 4.0, en Tekniker

Sistema de seguimiento de personas por visión artificial

El sistema de seguimiento de personas es capaz de detectar y localizar personas en un espacio tridimensional (área de trabajo) aun cuando las personas visten uniforme. El sistema hace uso de las imágenes facilitadas por dos cámaras RGB a partir de las que, realizando una calibración estéreo previa, se es capaz de desambiguar la posición 3D de las personas detectadas en el área. Para detectar las personas en las imágenes 2D se utiliza la red neuronal YOLO (You Only Look Once) y mientras que para hallar la correspondencia entre imágenes se utiliza una combinación de desambiguación geométrica, algoritmo Húngaro y filtro de Kalman. Además, si se tiene un mapa de la zona de trabajo, este se puede calibrar con respecto a una de las cámaras para obtener así la posición de las personas con respecto a ese mapa.

Fábrica Piloto para la fabricación de grandes piezas, en Aimen