capÍtulo iv anÁlisis de los resultados 1. descripciÓn y
TRANSCRIPT
47
CAPÍTULO IV
ANÁLISIS DE LOS RESULTADOS
1. DESCRIPCIÓN Y SELECCIÓN DE LA ANATOMÍA DEL BRAZO A
DESARROLLAR
En el capítulo 2 de esta investigación se presentaron los distintos
tipos de anatomías existentes para los brazos robóticos, estas son:
cilíndrica, esférica, cartesiana y brazo articulado.
El método de adquisición será por medio de una imagen estática de la
trayectoria dibujada con tiza directamente en la pieza donde se desea
realizar el corte, convirtiendo la línea trazada en una representación de
puntos en un plano XY que puede definirse en coordenadas y considerar
analógicamente una figura geométrica que será tomada como la
trayectoria a seguir.
Figura 1: Captura de Trayectoria
-15 -10 -5 0 5 10 15-5
-4
-3
-2
-1
0
1
2
3
4
5Figura
x
y
Fuente: Torres (2011)
La figura anterior muestra un ejemplo de lo descrito anteriormente y
claramente se puede determinar que el tipo de movimiento es cartesiano
48
puesto que se pueden manejar coordenadas que representan puntos en
el espacio que al ser seguidos en orden pueden trazar una trayectoria.
Por otra parte, las demás anatomías pudieran funcionar de la misma
manera, generando una trayectoria por medio de puntos consecutivos en
un plano, pero sería poco práctico ya se requeriría de articulaciones más
complejas y programación extra para el control de estas, volviendo el
prototipo más costoso y complejo. Por estas razones se establece la
anatomía cartesiana como la más adecuada para esta aplicación en
particular, además está más acorde a los equipos que se encuentran en
el mercado usados en esta aplicación.
2. DISEÑO DEL BRAZO ROBÓTICO.
Se plateó construir el brazo a partir de diversos materiales que se
consiguen en el mercado como la estructura mecánica de una impresora
de inyección de tinta HP Deskjet 3920. La misma cuenta con un
mecanismo preciso con motores, barras y armazón capaces de proveer
una buena precisión en el movimiento milimétrico en los ejes XY
convenientes para la realización del brazo.
Figura 2: Sistema Mecánico Impresora
Fuente: Torres (2011)
49
El procedimiento de diseño y posterior fabricación del brazo consiste en
la medición de la pieza mecánica y diseñar una base de fijación que
permita un movimiento continuo y preciso por los ejes XY, a continuación
se presenta las medidas del equipo completo cuyo plano fue elaborado en
AutoCAD 2009.
Figura 3: Plano vista de Planta
Fuente: Torres (2011)
El armazón de la mesa está hecho de madera y aluminio porque son
materiales que se consiguen fácilmente en el mercado además de ser
económicos y manejables.
El sistema constará con los siguientes sensores y actuadores:
• Motor Paso a Paso, que mueve el carro en el eje X
• Motor Paso a Paso, mueve la mesa en el eje Y
• Swiches fin de carrera.
50
• Cámara de 640x480 pixeles de resolución
• Efector fina l
El diseño electrónico de la tarjeta de control de todos los motores y
sensores es independiente del sistema de recolección de los datos
(imagen). El circuito esquemático electrónico de los sensores y
actuadores se muestra a continuación:
Figura 4: Diagrama Esquemático de Control
+ V632v
5VSPDT
Efector
5V
1 A2
3B4
M2ULN2003P1P2P3P4P5P6P7P8 P9
P10P11P12P13P14P15P16
U3
USB
C1470nF
R1510k 40%
5V
S3 S2
S1
5V
12V
1 A2
3 B4
M1
5V
4MHZ
5V
ULN2003P1P2P3P4P5P6P7P8 P9
P10P11P12P13P14P15P16
U218F4550MCLRRA0RA1RA2RA3RA4RA5RE0RE1RE2VDDVSSOSC1OSC2RC0RC1RC2VusbRD0RD1
RD3RD2
RC4RC5RC6RC7RD4RD5RD6RD7VSSVDDRB0RB1RB2RB3RB4RB5RB6RB7
U1
LCD
R91k
R81k
R11k
Fuente: Torres (2011)
El circuito anterior consta básicamente de dos etapas. La etapa a la
izquierda comprende el optoacoplador que funciona para leer el tope del
movimiento de en el eje Y y el tope del movimiento en el eje X para
establecer el origen del espacio.
La etapa a la derecha comprende la conexión de los motores, el
circuito controla dos motores paso a paso que mueve la mesa en la
coordenada Y y en la coordenada X.
El control de los motores y el cálculo de las coordenadas son
ejecutados en su totalidad por el PIC18F4550 del circuito, este se conecta
51
a la computadora por un puerto USB de la PC para recibir los datos de los
pesos de las neuronas desde MatLab y construir la trayectoria a seguir.
3. ELABORACIÓN DEL PROTOTIPO DEL BRAZO ROBÓTICO.
El prototipo del brazo se construirá en su mayoría de madera, por ser
un material manejable, económico y firme, a este se le añadirán todos los
elementos como lo son el motor, la corredera y el circuito electrónico. A
continuación se muestra las fases de construcción de la maqueta:
Figura 5: Ensamblaje
Fuente: Torres (2011)
3.1. DIAGRAMA DE BLOQUES DEL SISTEMA
A Continuación se ilustra con un diagrama de bloques el sistema de
control del brazo robótico:
Figura 6: Diagrama de Bloques del Sistema
Captura de Imagen
Filtrado y Binarización
Red neuronal de
Kohonen Controlador
de Ejes Motor Eje Y Motor Eje X
Fuente: Torres (2011)
52
Como se muestra el esquema anterior, el sistema está formada por dos
unidades principales: la herramienta de desarrollo MATLAB R2009a y el
hardware de estimación y control del brazo robótico.
Por motivos principalmente económicos, se tuvo la necesidad de
compartir el sistema en estas dos unidades ya que la incorporación de
una red tan grande en conjunto con el cálculo de los pesos de las
neuronas y aparte la etapa de adquisición y procesamiento de la imagen
por medio de una cámara en hardware microcontrolado es muy caro,
aunque se cree que la producción masiva de esta tecnología disminuiría
los costos considerablemente haciendo su fabricación perfectamente
factible.
El hardware del sistema comprende los siguientes equipos:
• Computador con procesador Intel Core 2 Duo 1.6 Ghz, 2 GB RAM
• Cámara de teléfono celular Nokia E71
• Protoboard de 4 pistas
• Herramientas manuales como caladora, destornilladores y otros
El software utilizado, fue el siguiente:
• Windows 7
• CCS PIC-C
• MatLab versión R2009a
El funcionamiento del sistema se inicia con la inserción de una imagen
que contenga la forma de la trayectoria que se desea seguir, pueden ser
líneas o arcos, aunque en la industria metalmecánica básicamente se
maneja la combinación de estas.
53
Al ingresar la imagen al sistema en la etapa de procesamiento de
imagen se depura, ésta se lleva a escala de grises y luego a la
binarización para el procesamiento de la red neuronal.
Una vez depurada la imagen se le presenta a la red neuronal que
seguirá los pixeles activados de la imagen actualizando los pesos de las
neuronas y construyendo la trayectoria. Al finalizar el proceso de
actualización de las neuronas, éstas son transmitidas al hardware del
controlador por medio del puerto USB de la PC.
3.2. CAPTURA Y PROCESAMIENTO DE LA IMAGEN
Primero se debe realizar la captura de la imagen desde donde se
tomara la trayectoria con una cámara y buena iluminación para obtener un
contraste donde se pueda apreciar claramente la trayectoria trazada, a
una resolución de 640 x 480 pixeles. Se toma este tamaño de imagen ya
que el procesamiento de los datos de entrada a la red seria mayor, lo que
se traduce en mayor tiempo de procesamiento y costo computacional.
El procesamiento de la imagen está basado básicamente en 4 etapas,
identificadas en el siguiente diagrama en bloques:
Fuente: Torres (2011)
Después de la etapa de captura explicada anteriormente, se procede a
transformar la imagen de colores RGB en una de escala de grises, con
Captura Filtrado Binarización
Figura 7: Procesamiento de la Imagen Escala
de grises
54
esto se pretende realzar la trayectoria de la línea blanca, además
preparar la imagen para la binarización.
La etapa de filtrado se utiliza para eliminar cualquier ruido en la
imagen, como también para suavizar la misma y hacerla más homogénea.
Además se utiliza para suprimir pixeles huérfanos que se pueden generar
al momento de la captura.
La binarización consiste en el establecimiento del umbral de la imagen
tomada en escala de grises para luego comparar dicho valor con cada
pixel de la imagen, con esto se obtiene como resultado que los pixeles
con un valor mayor al calculado en el umbral se pondrá de color blanco
colocando un 1 en la matriz 640 x 480 generada a partir de la imagen, y
un 0 correspondiendo al pixel con un valor menor al umbral. Con esto se
obtiene como resultado la formación de una matriz de 1 y 0 de tamaño
640 x 480 en blanco y negro desde la cual se tomarán los datos para ser
presentados al mapa de Kohonen, la matriz generada tendría la siguiente
forma:
(4.1)
En la matriz anterior los 1 representan un pixel blanco en la imagen y
los 0 representan un pixel negro, este arreglo matricial es el resultado de
la etapa de procesamiento de la imagen y representa la entrada a la red
neuronal.
55
4. DISEÑO DE LA RED NEURONAL PARA LA ESTIMACIÓN DE LA
TRAYECTORIA
Entre los tipos de redes neuronales como lo son las redes feed
fordward, backpropagation, Hopfield y los mapas Auto organizados de
Kohonen, se seleccionó el último ya que por medio de este tipo de red se
pueden establecer arreglos de neuronas a partir de una entrada de datos
congruente con un patrón de puntos que representan una imagen en un
plano XY, al tener una información entrada de este tipo se puede
establecer coordenadas determinadas por las neuronas en un mapa
variante y ajustado a una entrada especifica.
En esta etapa, se diseña el SOM considerando que el tipo de datos que
se recogerán de la imagen están contenidos en una matriz, para ello se
selecciona una cantidad de neuronas adecuadas, que cumplan con los
criterios de generalización y granularidad adecuados para que el error de
la trayectoria sea el menor, manejando un número de neuronas
adecuadas a la cantidad de datos que se presenten desde la imagen, esto
está directamente asociado con la resolución de la imagen.
El criterio de selección fue de ensayo y error para seleccionar el
tamaño y la topología de la red que permitiera mantener un margen de
error menor a 0.03, a continuación se muestran las topologías disponibles
para los SOM
Figura 8: Topologías del Mapa Autoorganizado
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.50
0.5
1
1.5
2
2.5
3
3.5
4
position(1,i)
posi
tion(
2,i)
Neuron Positions
-1 0 1 2 3 4 5 60
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
position(1,i)
posi
tion(
2,i)
Neuron Positions
Fuente: Torres (2011)
56
Las imágenes utilizadas para hacer las pruebas en la red fueron
dibujadas en una pieza metálica de color oscuro con tiza de herrero
blanca, para ajustarse lo máximo a la situación descrita en el
planteamiento del problema y para determinar la arquitectura adecuada
de la red y garantizar el mejor ajuste a la trayectoria, se empleó un cuadro
comparativo que incluye el número de neuronas, la cantidad de
iteraciones y la topología.
Figura 9: Imagen de Prueba
Fuente: Torres (2011)
Con la imagen anterior se utilizaron todos los parámetros de la red,
modificándolos con un método de ensayo y error para obtener el mejor
ajuste de la trayectoria, para calcular el ajuste de la trayectoria se utilizó
un patrón de la línea trazada en la placa metálica con las mismas
dimensiones.
A continuación se muestra el proceso de adecuación de la imagen
antes de ser presentada a la red:
Figura 10: Procesamiento de la Imagen
Original Filtro
Binario
309 310 311 312 313 314 315 316 317 318 319-300
-200
-100
0
100
200
Fuente: Torres (2011)
57
En la figura anterior se aprecia la imagen original tomada por la
cámara, luego esta es pasada a escala de grises. Es este punto, se
establece un umbral de binarización por medio del comando graythresh
para así obtener una imagen en blanco y negro cuyos valores para los
pixeles son 1 para blanco y 0 para negro, a partir de allí se establecen la
data que la red va a procesar.
En la última imagen se puede observar un patrón irregular de la línea,
esto ocurre por la escala de la imagen y al grueso de la línea que abarca
varios pixeles vecinos.
Ahora se mostrara una tabla que incluye los errores, las neuronas y las
iteraciones realizadas y con los resultados obtenidos:
Tabla 2. Resultados de Trayectoria en Línea Recta
Neuronas Epochs Topología Error 30 10 Gridtop 0.0240 30 10 Hexatop 0.0237 30 20 Hexatop 0.0245 30 30 Hexatop 0.0230 30 40 Hexatop 0.0221
Fuente: Torres (2011)
En la tabla anterior se muestran los mejores resultados de un total de
14 experimentos con la misma imagen, se observa que la topología de
red más favorable para este caso es la hexagonal, obteniendo con esta el
menor error con respecto al patrón.
Figura 11: Trayectoria de red y patrón de prueba
250 300 3 5 0 400
-200
-150
-100
-50
0
50
100
150
W(i,1)
W(i
,2)
Weight Vectors
311 311.2 311.4 311.6 311.8 312 312.2 312.4 312.6 312.8 313-300
-200
-100
0
100
200
300
400Patrón
Fuente: Torres (2011)
58
En la figura anterior se puede observar la trayectoria estimada por la
red neuronal con 30 neuronas y 40 iteraciones, este fue el mejor resultado
obtenido de todos los experimentos, la fórmula del error absoluto utilizada
fue
(4.1)
Donde se tomaron todos los pesos de las neuronas y fueron
comparadas con los valores arrojados por el patrón de la línea para
determinar el margen de desviación existente entre la línea trazada y la
trayectoria calculada por la red neuronal.
A continuación se muestran pruebas con otra imagen con la figura de
un arco:
Figura 12: Procesamiento de imagen de arco
Original Filtro
Binario
100 150 200 250 300 350 400 450 500 550-150
-100
-50
0
50
100
Fuente: Torres (2011)
En esta se muestra la imagen de un arco tomada por la cámara y
procesada por el sistema, se observa los puntos azules en la última
59
grafica que se ingresaran a la red para la estimación de la trayectoria
tienen un patrón irregular en ciertas zonas como en el caso anterior.
Por último se muestra la trayectoria estimada con respecto a la imagen
real tomada por la cámara
Figura 13: Trayectoria del arco
150 200 250 300 350 400 450 500
-300
-200
-100
0
100
200
300
W(i,1)
W(i,
2)
Weight Vectors
Fuente: Torres (2011)
Tabla 3 Resultados de Trayectoria en Arco
Fuente: Torres (2011)
A continuación se muestra otra prueba realizada en el laboratorio con
resultados satisfactorios:
Neuronas Epochs Topología Error
50 10 Hexatop 0.0300
50 20 Hexatop 0.0291 50 40 Hexatop 0.0242 50 50 Hexatop 0.0245 50 60 Hexatop 0.0218
60
Figura 14: Línea Inclinada
200 250 300 350 400
-200
-150
-100
-50
0
50
100
150
W(i,1)
W(i,
2)
Weight Vectors
Fuente: Torres (2011)
Tabla 4. Resultados de Trayectoria en Línea Inclinada Neuronas Epochs Topología Error
30 10 Hexatop 0.0233
30 20 Hexatop 0.0220 30 30 Hexatop 0.0214 30 40 Hexatop 0.0203 30 50 Hexatop 0.0202
Fuente: Torres (2011)
En general todas las figuras mostradas a la red fueron estimadas
correctamente con una tasa de error de .0300 en el peor de los casos
para la estimación del arco, haciendo que el sistema sea factible para la
estimación con un índice de confiabilidad mayor al 97% que implica
prácticamente la eliminación del error humano cuyo índice es menor y
prácticamente impredecible debido a las múltiples condiciones del
personal de trabajo.
Este sistema está diseñado para leer la trayectoria del corte desde una
pieza metálica de fondo negro y una marca blanca hecha con tiza de
herrero ya que estas son las condiciones que se presenta en este tipo de
aplicaciones, haciendo que su implantación sea más rápida y económica.
61
5. INTEGRACIÓN DE LA RED NEURONAL ALBRAZO ROBÓTICO
Para la puesta en marcha del brazo, se montó el diagrama
esquemático mostrado en la figura 10 donde muestra las conexiones
eléctricas del hardware del sistema.
Los pesos resultantes del entrenamiento de la red son descargados por
medio de una conexión USB al PIC18F4550 por medio del comando en
Matlab fprintfque permite la transmisión de los arreglos de los pesos
previamente procesados por medio de una conexión serial creado en el
programa de MatLab.
Una vez recibido los pesos de las neuronas, el microcontrolador lee las
coordenadas y procede a la activación del láser y a mover los motores de
los ejes XYpara cubrir la trayectoria deseada.
Por medio del siguiente algoritmo expresado en diagrama de flujo
Figura 15: Algoritmo de Control
Fuente: Torres (2011)
Con el algoritmo de control anterior se controla los movimientos del
brazo en los ejes XY generando así la trayectoria por medio de las
coordenadas recibidas por la PC. A continuación se muestra algunas
imágenes con el funcionamiento del sistema
62
Figura 16: Hardware del Sistema
Fuente: Torres (2011)
La imagen anterior indica la descarga de la trayectoria estimada por la
red neuronal para el seguimiento de la trayectoria.
6. PRUEBAS EXPERIMENTALES DEL FUNCIONAMIENTO DEL
BRAZO ROBÓTICO
Para las pruebas experimentales se midió manualmente la ruta seguida
por el brazo robótico a lo largo de la trayectoria calculada por la red
neuronal. Los resultados en estas pruebas fueron satisfactorios, ya que se
obtuvo un error promedio muy bajo de 0.023.
Aunque en los experimentos realizados se conoció la importancia de la
resolución de la imagen y la buena iluminación en el momento de la toma.
Para lograr un buen resultado se tomaron las fotografías con una
iluminación adecuada para generar contraste y para minimizar el ruido o
datos espurios en las tomas se la lámina se pintó de color negro para
63
resaltar la trayectoria trazada de blanco con tiza.
En la siguiente imagen se muestra la trayectoria seguida por la
maquina después de la descarga de los datos de la trayectoria:
Figura 17: Resultado de la Trayectoria en Linea Recta
100 150 200 250 300 350 400 450 500
-200
-150
-100
-50
0
50
100
150
Trayectoria Seguida
Fuente: Torres (2011)
El resultado anterior se basa en la toma de la primera imagen de la
línea recta para el diseño de la red neuronal del punto anterior, en este
caso en error promedio fue de 0.023.
En otro experimento realizado se presentó al brazo robótico una
trayectoria en forma de arco, debido a que presenta una complejidad
mayor a la de la recta, dando como resultado una trayectoria bastante
buena con un error promedio de 0.030. a continuación se muestra la ruta
trazada
Figura 18: Resultado de Seguimiento en Arco
100 150 200 250 300 3 5 0 4 0 0 4 5 0 5 0 0 5 5 0-100
-80
-60
-40
-20
0
20
40
60
80Trayectoria Seguida
Fuente: Torres (2011)