Please use this identifier to cite or link to this item: http://tesis.ipn.mx/handle/123456789/29089
Title: Algoritmos para trazado automático utilizando un robot cartesiano
Authors: Igno Rosario, Otoniel
Hernández Aguilar, Claudia
Cruz Orea, Alfredo
Keywords: Pintura robótica
Procesamiento digital de imagen
Difusión anisotrópica
Segmentación K-medias
Detección de esquinas
Issue Date: 7-Jul-2021
Citation: Igno Rosario, Otoniel. (2019). Algoritmos para trazado automático utilizando un robot cartesiano. (Doctorado en Ingeniería de Sistemas). Instituto Politécnico Nacional, Sección de Estudios de Posgrado e Investigación, Escuela Superior de Ingeniería Mecánica y Eléctrica, Unidad Zacatenco. México.
Abstract: RESUMEN: Uno de los problemas que enfrenta el sector artesanal de nuestro país en el contexto de la globalización es la falta de desarrollo tecnológico. Con este trabajo se busca sumarse a otros grupos de investigación que trabajan para generar tecnología propia para incidir en este problema de generación de tecnología que repercute en el desarrollo y la calidad de vida de una nación. De esta manera se plantea el diseño de un sistema automatizado basado en un robot cartesiano y en algoritmos computacionales para aplicar pintura estilizada. Por otro lado, también se busca apoyar el desarrollo de nuevas formas de producción artística mediante robot. Para abordar el problema se planteó el objetivo general: contribuir al desarrollo tecnológico de la producción artesanal mediante el uso de un robot cartesiano y de un modelo computacional que simule el proceso de pintado. Este objetivo se dividió en los objetivos particulares: (1) Desarrollar la interfaz gráfica y el robot cartesiano, (2) Suavizar imagen opcionalmente, (3) Segmentar regiones automáticamente, (4) Realizar segmentación interactiva, (5) Generar campo vectorial automático, (6) Crear campo vectorial interactivo, (7) Producir trazos a partir del campo vectorial, (8) Obtener bordes, (9) Aplicar pintura robótica. La metodología para resolver el objetivo particular (1) fue: usar una tarjeta electrónica comercial compatible con el hardware de Arduino, fabricar el sistema mecánico basado en motores a paso y por último diseñar el software de la tarjeta Arduino para controlar los motores y para comunicarse con una interfaz gráfica de usuario. Para abordar los objetivos particulares (2-9) se diseñó una aplicación en Matlab con una interfaz gráfica de usuario la cual se basa en las siguientes operaciones: se elige una imagen de entrada a la cual se aplica opcionalmente un suavizado de difusión anisotrópica, luego se trabaja por regiones mediante segmentación automática o interactiva y en dichas regiones se crea un campo vectorial basado en la interpolación local de trayectorias trazadas manualmente o basado en el gradiente, posteriormente se crean trayectorias con curvas Bézier mediante el campo y por último se envía la información de cada pincelada al robot mediante cadenas de 8bits donde se codifica la longitud, el color y las coordenadas, enviándose únicamente los puntos de control de cada curva Bézier y luego ésta se reconstruye en la tarjeta Arduino, la cual activa los motores trazando cada curva. Finalmente se aplican capas de pintado sucesivas las cuales constan de una serie de pinceladas guiadas por el campo vectorial. Cada pincelada se aproxima mediante curvas Bézier para lograr pinceladas lo más parecido al trazo humano. Los materiales utilizados fueron, pinceles, papel y pintura acrílica. En cuanto a los resultados obtenidos, para el objetivo particular (1) se logró una resolución de paso de 6.25 micras, mientras que la interfaz electrónica Arduino del robot se comunicó a 9600 bits por segundo a la interfaz gráfica de usuario diseñada en Matlab donde el código diseñado para la tarjeta Arduino constó de 430 líneas y el código en Matlab de1500 líneas. Para los objetivos particulares (2-8) se logró desarrollar una interfaz gráfica de usuario donde se abre una imagen y se aplican los pasos mencionados anteriormente mediante botones y barras de deslizamiento interactivos lográndose una comunicación entiempo real con la interfaz electrónica del robot. En cuanto al objetivo particular (9) se logró pintar un cuadro al acrílico con resultados estéticos agradables. ABSTRACT: One of the problems affecting the artisanal sector in our country in the context of glo-balization is the lack of technological development. This work seeks to be part of otherresearch groups that work to generate their own technology to address the problem oftechnology generation that affects the development and quality of life of a nation. For thisreason, we propose the design of an automated system based on a Cartesian robot andcomputational algorithms to produce stylized paint. On the other hand, we also seek tosupport the development of new forms of artistic production using robots.In order to address the aforementioned problem, we proposed the general objective:contribute to the technological development of handcrafted production by using a Carte-sian robot and a computational model that simulates the painting process. This objectivewas divided into the following objectives: (1) Develop the graphic interface and the Carte-sian robot, (2) Smooth image if necessary, (3) Segment regions automatically, (4) Performinteractive segmentation, (5) Generate automatic vector field, (6) Create interactive vec-tor field, (7) Produce strokes from vector field, (8) Obtain edges, and (9) Apply roboticpaint.The methodology to solve the particular objective (1) was: use a commercial electroniccard compatible with the Arduino board, fabricate the mechanical system based on step-per motors and then design the software of the Arduino card to control the motors andcommunicate with a graphical user interface. To address the particular objectives (2-9)an application was designed in Matlab with a graphical user interface which is based onthe following operations: an input image is chosen and optionally an anisotropic diffusionsmoothing is applied, then regions are processed by automatic or interactive segmentationand in these regions a vector field is created based on the local interpolation of manuallytraced trajectories or based on the gradient, then trajectories are created with Bézier cur-ves by means of the field and finally the information of each brushstroke is sent to therobot by means of 8-bit chains where the length, colour and coordinates are coded, andonly the control points of each Bézier curve are sent and then this is reconstructed on theArduino card, which activates the motors by tracing each curve. Finally, successive layersof paint are applied, which consist of a series of brush-strokes guided by the vector field.Each brushstroke is approximated by Bézier curves to achieve brushstrokes as close aspossible to the human stroke. The materials used were brushes, paper and acrylic paint.The results obtained were as follows: for the particular objective (1) a step resolutionof 6.25 microns was achieved, while the Arduino interface was connected at 9600 bits persecond to the graphical user interface designed in Matlab where the code in the Arduinocard consisted of 430 lines and the code in Matlab of 1500 lines. For the particular objec-tives (2-8) we were able to develop a graphical user interface where an image is openedand the steps mentioned above are applied by means of interactive buttons and slidingbars, achieving real time communication with the robot’s electronic interface. As for theparticular objective (9), an acrylic painting was achieved with pleasant aesthetic results.
Description: Tesis (Doctorado en Ingeniería de Sistemas), Instituto Politécnico Nacional, SEPI, ESIME, Unidad Zacatenco, 2019, 1 archivo PDF, (173 páginas). tesis.ipn.mx
URI: http://tesis.ipn.mx/handle/123456789/29089
Appears in Collections:1. Tesis

Files in This Item:
File Description SizeFormat 
Tesis Doct_Otoniel Igno Rosario.pdf20.78 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.