Autores:
Daniel Zapata Yarce, Germán Andrés Holguín Londoño
Problema
La creciente adopción de estaciones robotizadas en líneas de producción industrial está cambiando el rol de los trabajadores, quienes ahora se centran en actividades de diseño, monitoreo, planificación y mantenimiento. Este cambio subraya la necesidad de que la fuerza laboral adquiera habilidades relacionadas con las tecnologías emergentes de la Industria 4.0, especialmente en el uso y operación de robots industriales. Los ingenieros enfrentan el reto de ajustar los sistemas físicos existentes y, aunque las simulaciones computarizadas convencionales ofrecen una opción para evaluar prototipos, presentan limitaciones significativas, como la falta de trazabilidad y datos en tiempo real, aspectos fundamentales para la integración eficiente en la Industria 4.0.
En este contexto, los manipuladores robóticos son ampliamente utilizados en diversas aplicaciones industriales, pero su monitoreo constante y la optimización de su rendimiento son procesos costosos, ya sea en sistemas reales o mediante simulaciones que no capturan todos los aspectos críticos como el desgaste. Para superar estas limitaciones, se propone la virtualización y simulación en tiempo real del manipulador físico mediante un gemelo digital. Este enfoque permitiría monitorear y controlar el rendimiento del sistema robótico, anticipar necesidades de mantenimiento y analizar el impacto de modificaciones en tiempo real, alineándose así con los principios de la Industria 4.0.
BCN3D Moveo
Moveo es un manipulador de cinco grados de libertad, de código abierto, diseñado para ser impreso en 3D, con componentes fácilmente accesibles en el mercado. Es ideal para fines educativos, permite la personalización y su implementación es de bajo costo, siendo un excelente sistema para entrenar en automatización, diseño mecánico y programación. Los archivos y el firmware para su construcción están disponibles en GitHub.

Figura 1: BCN3D
Impresión 3D
La impresión de las piezas principales del manipulador serial se llevó a cabo utilizando una impresora 3D Creality Ender3 V2-Neo, seleccionada por su rendimiento y precisión en la fabricación de componentes. Con una superficie útil de 220×220 mm², esta impresora permite obtener piezas detalladas y exactas, lo que es fundamental para el ensamblaje del manipulador. Para procesar los modelos 3D y convertirlos al formato G-Code, se utilizó el software Prusa Slicer, conocido por su interfaz intuitiva y su capacidad para ofrecer resultados de alta calidad en la impresión 3D.
La configuración de impresión se ajustó para utilizar material PETG y un patrón de relleno honeycomb, con un porcentaje del 60%, adaptado a las características y requerimientos de cada pieza. Este patrón de entrelazamiento proporciona resistencia mecánica, lo que resulta esencial para las piezas del brazo robótico que estarán sometidas a esfuerzos durante su operación. El proceso de impresión fue prolongado, con algunas piezas tardando hasta una semana en completarse, debido a las configuraciones minuciosas de relleno y velocidad seleccionadas para garantizar la calidad del producto final.
En total, se emplearon aproximadamente tres rollos de filamento PETG para producir todas las piezas del robot, incluyendo las fallidas durante el proceso. Los problemas encontrados, como fallos de impresión, se debieron a diversos factores, incluyendo ajustes mecánicos de la impresora, nivelación de la cama de calor y variaciones en la temperatura y velocidad de impresión. Estos inconvenientes fueron resueltos para asegurar que las piezas finales cumplieran con los estándares necesarios para el correcto funcionamiento del manipulador.


Ensamblaje
Después de completar la impresión de todas las piezas, se inició la fase de ensamblaje del manipulador serial, uniendo cuidadosamente los modelos impresos con motores, rodamientos y componentes electrónicos. El montaje del efector final fue un paso clave, asegurando la correcta alineación de los engranajes que permiten el movimiento de la pinza. Posteriormente, el efector se acopló al enlace correspondiente, junto con el motor que controla sus inclinaciones verticales y las rotaciones sobre su eje, garantizando un funcionamiento fluido y eficiente.
Durante el ensamblaje, algunas piezas requerían poleas específicas que no estaban disponibles comercialmente, por lo que fue necesario imprimirlas en 3D. Esto permitió solucionar los retos técnicos de manera rápida y económica, utilizando diseños personalizados que aseguraban un ajuste preciso. Finalmente, se montó la base del brazo en una estructura de madera, con soportes impresos en 3D para distribuir el peso de manera equitativa, asegurando estabilidad y balance en el robot ensamblado.



Librería de Comunicación y Visualización
En el desarrollo de los paquetes para la visualización y comunicación del manipulador serial en ROS2, se crearon dos paquetes clave: «moveo_view» y «moveo_ctrl». El paquete «moveo_view» se centra en la visualización del manipulador a través del archivo URDF, que describe físicamente el robot. Para ello, se utiliza el paquete «joint_state_publisher_gui» para crear una interfaz gráfica que permite manipular las articulaciones del brazo. Los ángulos de las articulaciones se publican en un tópico específico, y el sistema transforma esa información para representar correctamente la disposición del robot en tiempo real.
Por su parte, el paquete «moveo_ctrl» establece la comunicación entre ROS2 y una tarjeta de control, como un Arduino. Este paquete toma los ángulos publicados y los convierte en pasos para los motores, utilizando bloques de datos enviados a través del puerto serial. El sistema embebido decodifica los datos y los utiliza para controlar los motores del robot mediante la librería «AccelStepper». Este proceso asegura una comunicación fluida entre ROS2 y los motores del manipulador, permitiendo que las rotaciones se ejecuten de manera precisa.

Diagrama de bloques del esquema de comunicación ROS2-Tarjeta de Control.
Resultados
El brazo robótico final, de 90 cm de longitud, presenta ciertos retos operativos debido al alto torque que deben generar los motores NEMA 23 en la articulación 2, lo que provoca oscilaciones y pérdida ocasional de pasos. Para corregir esto, se ajustaron las poleas acopladas a los motores para mejorar su sujeción y garantizar el control preciso del brazo. En contraste, la tercera articulación, que utiliza un motor NEMA 17 con una caja de reducción, mostró un excelente desempeño, tanto en torque como en suavidad de movimiento, brindando mayor estabilidad incluso cuando el sistema no está energizado.

En la simulación y visualización del brazo robótico en ROS2, usando el entorno RViz2, se logró una representación precisa del robot y el control manual de sus articulaciones a través de la interfaz gráfica del Joint State Publisher. Aunque el sistema simulado y el real están en buena sincronización, se identificaron ligeras discrepancias en la posición de las articulaciones del brazo robótico físico debido a factores como la resolución de pasos de los motores y las condiciones externas. La comunicación serial con la tarjeta de control tiene un leve retraso que podría mejorarse en futuras versiones del sistema.

Bibtex
@article{zapata2023simulacion,
title={Manipulador Serial Industrial de C{\'o}digo Abierto para el Eco-Sistema ROS-Gazebo-RViz},
author={Zapata, Daniel}
year={2023},
school={Universidad Tecnol{\'o}gica de Pereira}
}
