Está en la página 1de 24

RESUMEN El desarrollo de este trabajo consiste, en aplicar conocimiento de algoritmos matemticos en diversas aplicaciones en el tratamiento de imgenes, las cuales

son obtenidas desde una cmara de vdeo para controlar los movimientos de un robot manipulador en ambientes con objetos u obstculos. El planteamiento se lleva a cabo en forma de etapas ya que se trata de una investigacin modular, donde cada mdulo emplea distintos mtodos y procesos, pero que manejan una ejecucin coordinada en conjunto. Los principales mdulos son el de procesamiento y manipulacin de imgenes digitales el cual obtiene una la informacin grfica desde una cmara de video, el mdulo de control y planeacin de movimientos articulados del robot manipulador.

1.1 INTRODUCCIN Este trabajo sobre el Tratamiento de imgenes digitales se centran en la manipulacin y obtencin de informacin grfica .Aunque la mayora de aplicaciones de tratamiento digital de imgenes existentes son experimentales, hay aplicaciones emergentes de importancia industrial o comercial. Existen variadas tcnicas para la manipulacin y procesamiento digital de imgenes, que utilizan un tratamiento matemtico en su diseo, los cuales han dado excelentes resultados; por esto se plantean como una solucin en forma algortmica al control de un robot manipulador. El desarrollo de esta investigacin consiste, en aplicar conocimiento de algoritmos matemticos estadsticos y deterministas, as como evaluacin de modelos propuestos en diversas aplicaciones en el tratamiento de imgenes, las cuales son obtenidas desde una cmara de vdeo para controlar los movimientos de un robot manipulador en ambientes con objetos u obstculos. El uso de manipuladores en la tecnologa industrial y ciencia se incrementa gracias al desarrollo de sistemas de control inteligentes, siendo la visin una de las principales reas actuales de la robtica, sin embargo la poca existencia de robots de tipo industrial en instituciones educativas limita mucho el desarrollo de investigacin en esta rea. Sin embargo existen robots manipuladores emergentes que ayudan a implementar mtodos de visin y control, algunos son robots de diseo propio, los cuales estn limitados debido a su diseo y a su aplicacin especfica. El planteamiento de ste trabajo se lleva a cabo en forma de etapas ya que se trata de una investigacin modular, donde cada mdulo emplea distintos mtodos y procesos, pero que manejan una ejecucin coordinada en conjunto. Los principales mdulos son el de procesamiento y manipulacin de imgenes digitales, el mdulo de control y planeacin de movimientos articulados del robot manipulador, el mdulo que integra estas aplicaciones y demuestra a travs de una aplicacin como es el juego del tic-tac-toe.

Sin embargo, la aportacin de esta investigacin se centra en el anlisis de algoritmos matemticos, tanto estadsticos, como deterministas, as como evaluacin de modelos propuestos en diversas aplicaciones, para el procesamiento y manipulacin de informacin grfica sobre un ambiente con un robot manipulador. 1.2 DEFINICIN DEL PROBLEMA Existen sistemas prototipos que son utilizados en ambientes educativos para demostrar las tcnicas de procesamiento de imgenes, las variaciones pueden ser desde econmicas hasta tecnolgicas, sin embargo tienen un factor denominador que es la aplicacin del procesamiento de imgenes para el sistema de control de un brazo manipulador con reaccin en tiempo real. 1.3 OBJETIVO GENERAL Anlisis de los modelos matemticos estadsticos y determinsticos que se aplican a una secuencia de imgenes obtenidas desde una cmara, para diseo del sistema de control de un robot manipulador, y la toma de decisiones en diversas escenas dinmicas para solucionar los problemas de movimiento en tiempo real. OBJETIVOS ESPECIFICOS Anlisis y diseo de algoritmos para el procesamiento digital de imgenes en base a modelos matemticos estadsticos. Anlisis de algoritmos para control y planificacin de movimientos articulados del robot manipulador. Seleccin de herramientas y diseo del prototipo de robot para comprobacin de modelos matemticos. Diseo de software de control y planificacin para movimientos articulados del robot manipulador. Implementacin del mdulo de manipulacin y procesamiento digital de imgenes. Desarrollo del mdulo de control y planificacin de trayectorias o movimientos.

Integracin de los mdulos de procesamiento de imgenes, control del robot y toma de decisiones. Pruebas y evaluacin de modelos propuestos aplicados en tiempo real. 1.4 ALCANCES Y LIMITACIONES Alcances: Desarrollar un ambiente que pueda interactuar el usuario en forma amigable con el robot manipulador. El ambiente a desarrollar, presentar figuras bsicas reconocidas y el robot manipulador ser de los tipos Lego MindStorms, presentndose imgenes en tiempo real. Desarrollo de los mdulos de procesamiento de imgenes para extraer caractersticas relevantes suficientes para anlisis del juego y control preciso de movimientos. Limitaciones: El anlisis de imgenes se realizar con base en uso de una sola cmara (no estereoscpica) La velocidad de respuesta estar en relacin con la transmisin de informacin de grfica de la cmara y la complejidad de los algoritmos. Los objetos que se utilizan en el ambiente tendrn formas geomtricas regulares y colores definidos, permitiendo disminuir el ruido de la imagen y aumentar el reconocimiento para la interpretacin de escenas. 1.5 HARDWARE Y SOFTWARE El sistema de control y de visualizacin del robot fue desarrollado en plataforma PC, debido a las caractersticas del robot MindStorms y a la cmara de video que se utilizar Hardware: Computadora personal, procesador AMD-ATHLON 900Mhz, 256 RAM Robot Lego MINDSTORMS Equipo de adquisicin de imgenes (cmara de video) USB Software: Win98 o superior C++ Builder y Delphi NQC LEGOMINDSTORMS La cmara de video adquiere informacin grfica de lectura por lnea, la cual hace un barrido de captura por toda la imagen, dando 15 cuadros por segundo. Esta cmara es muy accesible tanto en su software de control, como en la instalacin de su hardware. La ventaja de manejar este equipo, es debido a su fcil y rpido armado del brazo manipulador, as como control del mismo. El software para programarlo y hacer la interfaz con un lenguaje de alto nivel como es C, se utiliza NQC, que es un intrprete de Lego y que funciona dentro de los lenguajes de programacin, por lo que se utiliza para poder desarrollar todo en una misma plataforma. Los algoritmos para anlisis y tratamiento de procesamiento de informacin grfica de la cmara se codificaron en C++ y Pascal Orientado a Objetos por mayor velocidad para procesamiento de imgenes.

2.1 ROBTICA DEL BRAZO MANIPULADOR Todo lo implementado dentro del proyecto, relacionado con la robtica del brazo manipulador Lego MindStorms se describe a continuacin, iniciando con las partes que lo definen, su rea de trabajo y grados de libertad; tambin se hace una explicacin de cmo se hace el control de movimientos del brazo manipulador para poder llegar de un punto a otro. Definicin de Robot Manipulador programable y multifuncional diseado para mover materiales, partes, herramientas o dispositivos especficos mediante movimientos programados para realizar diferentes tareas *Fu, Gonzlez y Lee 87] Un manipulador mecnico consiste en una secuencia de cuerpos rgidos llamados elementos, conectados mediante articulaciones prismticas o de revolucin. Cada par articulacinelemento constituye un grado de libertad. Las articulaciones y elementos se enumeran hacia fuera desde la base; as la articulacin 1 es el punto de conexin 1 y la base soporte. Cada elemento se conecta, a lo ms, a otros dos, as pues no se forman lazos cerrados. A continuacin se presenta un ejemplo de un robot manipulador industrial de 5 grados de libertad. Es importante definir que el efector final no se considera un grado de libertad. Adems, entre ms sean los grados de libertad, es mayor la dificultad para controlarlo, debido a los requisitos de software para controlarlo.

2.2 CLASIFICACIN DE ROBOTS MANIPULADORES Existen varios tipos de clases de robots manipuladores; sin embargo, lo concerniente a control de manipulador s centra principalmente en la definicin del Robot Institute of America, sobre Robot Inteligentes. La tabla muestra las diversas clasificaciones.

2.3 ROBOT MANIPULADOR LEGO MINDSTORMS En el caso del Robot lego MindStorms se define un robot de 3 grados de libertad con Movimientos rotacionales, la base que gira sobre su propio eje Z es el 1 grado, el antebrazo, que est formado por 2 y 3 articulacin que sube-baja, en forma independiente, en la parte final lleva un efector para tomar las piezas. El diseo de armado es de tipo libre, ya que es una caracterstica de los robots Lego MindStorms de poder ser desarrollado en base a las necesidades del proyecto.

2.4 CONFIGURACIN DEL SOFTWARE DEL ROBOT MANIPULADOR El robot Lego Mindstorms, viene con un software robusto para programarlo; inicialmente al robot se le descarga un programa que se llama Firmware, que funciona como sistema operativo del propio robot, una vez descargado, se le pueden enviar programas desarrollados en un lenguaje propio del robot, como es NQC, que tiene mtodos y funciones para controlar el robot, el dispositivo electrnico que recibe los programas es llamado RCX o ladrillo, este componente electrnico tiene 3 salidas para conectar motores, y 3 entradas para conectarle sensores, los cuales pueden ser de Luz, Presin, temperatura y ngulo de posicin. Adems puede recibir y enviar datos a la PC, o a otro RCX. Este tipo de robot permite el control en lnea, y la operacin independiente, sin embargo, por el tipo de aplicacin donde la respuesta es en tiempo real, se desarrolla una operacin en lnea o directa, la forma de transmitir las rdenes de control, es a travs de una torre de salida infrarroja, la cual tiene conector USB. Cabe mencionar que el lenguaje NQC, es compatible con lenguajes de programacin como C++, Pascal, Java y Basic.

Ahora presentaremos los mtodos y algoritmos utilizados para el desarrollo del sistema de procesamiento de imgenes para controlar un robot manipulador y se describen en la forma como sern utilizados dentro del proyecto. 3.1 PROCESAMIENTO DE IMGENES. Un rea muy ligada a la de visin computacional es la de procesamiento de imgenes. Aunque ambos campos tienen mucho en comn, el objetivo final es diferente. 3.2 VISIN COMPUTACIONAL Su funcin principal es reconocer y localizar objetos en el ambiente mediante el procesamiento de las imgenes. La visin computacional es el estudio de los procesamientos de imgenes, para entenderlos y construir mquinas con capacidades similares a las humanas. Objetivo de Procesamiento de Imgenes El objetivo de procesamiento de imgenes es mejorar la calidad de las imgenes para su posterior utilizacin o interpretacin. Objetivo de la Visin Computacional El objetivo de la visin computacional es extraer caractersticas de una imagen para su descripcin e interpretacin por la computadora. La base del software de un sistema de visin es la interpretacin y anlisis de los pxeles. El resultado final puede ser, desde la medida de una partcula, a la determinacin o lectura de una serie de caracteres (OCR), pasando por cualquier otro proceso que podamos imaginar sobre las imgenes. Dependiendo de si la aplicacin se realiza en entorno industrial o cientfico los pasos a seguir en un sistema de visin sern algo distintos. 3.3 COMPONENTES DE UN SISTEMA DE VISIN El buen desempeo de un sistema de visin depende en gran parte de sus componentes que lo forman, existiendo 6 partes primordiales para que el sistema funcione adecuadamente. Captacin: Es el proceso a travs del cual se obtiene una imagen visual. Pre procesamiento: Incluye tcnicas tales como la reduccin de ruido y realce de detalles Segmentacin: Es el proceso que divide a un imagen en objetos que sean de nuestro inters. Descripcin: Es el proceso mediante el cual se obtienen caractersticas convenientes para diferenciar un tipo de objeto de otro, por ejemplo tamao y forma. Reconocimiento: Es el proceso que asocia un significado a un conjunto de objetos reconocidos.

Un sistema de visin artificial toma informacin til acerca de una escena a partir de su proyeccin en dos dimensiones 3.4 ANLISIS DE MTODOS DE PROCESAMIENTO DE IMGENES PARA CONTROLAR UN ROBOT MANIPULADOR Inicialmente se conoce que se trabaja ahora directamente en la imagen a color, el objetivo es mejorarla para su interpretacin visual o para alimentarla a los niveles superiores de visin. Normalmente se pueden aplicar las tcnicas para imgenes monocromticas a imgenes a color, aplicndose a cada componente. Sin embargo, hay casos en que si se hace esto directamente, pueden existir problemas y no obtenerse exactamente el efecto deseado. Ejemplos de esto son la aplicacin de ecualizacin por histograma y la deteccin de orillas en imgenes a color. Los algoritmos implementados en este proyecto estn definidos dentro del rea de visin activa, debido a que trabajan sobre escenas activas del ambiente desarrollado por el robot. A continuacin se presenta los algoritmos que se utilizan dentro del sistema de procesamiento de Imgenes para controlar un robot manipulador. La secuencia como se van presentando los mtodos de procesamiento de imgenes son la forma en que se van aplicando al sistema de control del manipulador. Se inicia con un mtodo de pre procesamiento de imagen. Mtodo de Pre procesamiento de imagen. Segmentacin: Es el proceso en que se divide una escena percibida en sus partes para extraer objetos para su posterior reconocimiento y anlisis. Por lo que se ha una subdivisin del espacio de parmetros llamados clulas de acumulacin donde:

La imagen es divida en una matriz de 3x3, inicialmente se desarrolla este tipo de segmentacin, para disminuir problemas de confusin de piezas. Normalmente este uso se segmentacin en clulas acumulativas se implementa en algoritmos bsicos de segmentacin de tipo similitud como es la transformada de Hough. El tipo de segmentacin utilizado es Segmentacin General.

Mtodos de procesamiento de imgenes La mayora de procesamiento de imgenes se aplica directamente sobre imgenes en escala de grises, debido al bajo consumo de cmputo de ste; la mayora de mtodos matemticos deterministas que se utilizan en su procesamiento, estn basados en la diferencia de niveles de grises, por lo que no existen muchos mtodos para procesamiento de imgenes en color, aun cuando estos pueden ser utilizados en este tipo de formato de imagen. En este proyecto plantea utilizar mtodos matemticos estadsticos para el procesamiento de imgenes en color, con el fin de ser demostrables para ser reutilizados en otras investigaciones. Obtencin de caractersticas del objeto por Color Existen varias representaciones o modelos de color. Estos modelos se dividen en dos clases de modelos. Unos son modelos sensoriales y otros se denominan modelos preceptales. La idea principal de Obtener Caractersticas por Color es sacar datos relevantes en formato RGB de objetos, para crear caractersticas que puedan ser utilizadas por otros procesos para llegar a un resultado.

Por la naturaleza de la captura de la imagen, se trabaja en formato RGB, por lo cual se trabaja con un formato sensorial en lugar de un formato de percepcin como el HSI. Adems se pueden aplicar las mismas tcnicas que se utilizan en imgenes monocromticas. Para esto se toma cada componente (R,G,B) como una imagen monocromtica y se aplica algn operador o mtodo a cada una independientemente. Despus se combinan todas (considerando normalmente el mximo o el promedio). Modelo Sensorial El modelo RGB es el modelo bsico que utiliza las componentes primarias rojo, verde y azul, normalizadas. En este modelo se basan las cmaras y receptores de televisin. Sin embargo se tienen problemas al aplicarlo al procesamiento de imgenes (ecualizacin). Modelo Perceptual. Modelo HSI (Hue, Saturation, Intensity) se puede ver como una transformacin del espacio RGB al espacio perceptual. En principio los modelos perceptuales deben ser mejores ya que nosotros detectamos los cambios en estas componentes. Sin embargo, es compleja la implementacin de la deteccin de orillas en croma por no ser lineal. Otra alternativa es definir tcnicas especiales para deteccin de orillas en imgenes a color. El procesamiento de imgenes a color es relativamente reciente, por los altos requerimientos de memoria y cmputo necesarios.

Procesos para Deteccin de Bordes: Los contornos caracterizan los lmites de un objeto. Un contorno se caracteriza por presentar una transicin de claro a oscuro o viceversa. Por esto se presenta un mtodo para detectar bordes como Sobel. Sobel Se detecta el borde, calculando el gradiente de la imagen en dos direcciones ortogonales. El operador utilizado es Sobel, el cual se presenta de la siguiente manera.

Una plantilla detecta contornos horizontales y la otra verticales, obteniendo dos imgenes de gradientes Ig1, Ig2. Para determinar si en un pxel determinado hay un contorno o no, se define un umbral a partir del cual se considera la existencia de contorno: La imagen de contornos Ic(x,y) se puede formar a partir de:

Distancia de Color entre Pxeles Se toma la distancia de cada pxel a sus vecinos (mscara de 3x3), se suman y se normalizan (dividir entre 8). De esta forma la magnitud de la orilla aumenta al aumentar la diferencia en intensidad, croma o saturacin.

Convex Hull: La envolvente convexa, tambin denominada cierre convexo o convex hull, es uno de los ms fundamentales constructores geomtricos. El problema de computar un convex hull no slo est centrado en aplicaciones prcticas, sino tambin es un vehculo para la solucin de un nmero de cuestiones aparentemente sin relacin con l, que surgen en la Geometra Computacional y tiene aplicaciones, como por ejemplo, en el procesado de imgenes y en localizacin.

Desafortunadamente, no es posible construir la definicin intuitiva de cierre convexo de forma natural, por lo que hay que definir un algoritmo, que en este caso es el QuikHull. Algoritmo Quick Hull. La idea del Quick Hull es ir descartando lo ms pronto posible los puntos que no formarn parte de la frontera del cierre convexo, que suelen ser los ms interiores de la nube de puntos. El algoritmo Quick Hull calcula la envolvente convexa en tiempo O(n^2). Se aplica este mtodo debido a que las piezas con las que se trabaja, son convexas y se utiliza para generar una figura conexa dentro del software de esta forma se tiene una figura definida, y se puede calcular el centro de masa de figura. Etiquetamiento: Cuando se hace una bsqueda de un objeto por color se busca su valor de umbral y una vez encontrado, se modifica cambindolo a un valor definido. De esta forma aparecen valores homogneos definidos en la imagen.

De esta forma a cada valor homogneo se le asigna un valor o etiqueta, de esta forma se puede conocer el nmero de objetos existentes en cada clula y de esta forma se identifica dentro del sistema, siendo identificados todos los objetos totalmente. Una vez en funcionamiento los mtodos de procesamiento de imgenes, generan una salida especfica en una matriz de 3x3. Esta hace una interaccin con el juego del Tic Tac Toe, el cual toma la matriz y actualiza su resultado. A continuacin se presenta el anlisis del juego del Tic Tac Toe, el cual genera una salida, la cual es convertida a un conjunto de reglas o configuraciones que son enviadas para controlar el robot manipulador Lego MindStorms. 3.5 TIC TAC TOE Una vez que se actualiza la matriz, se pasa a un mdulo de juego, que es la implementacin del tan conocido tic-tac-toe, este solamente responde como si tuviera un jugador normal.

La implementacin de este tipo de juegos puede ser desarrollada para que se ejecute en forma ingenua o en forma inteligente. Algoritmo Ingenuo. Cuando se implementa el juego del tic tac to en forma ingenua, se generan los movimientos de la computadora en forma aleatoria, y solamente se checa quien gano, las probabilidades de que la computadora gane de esta forma son mnimas. Algoritmo inteligente. En este caso se implement en forma inteligente, para lo cual se llev a cabo el desarrollo de un algoritmo que utiliza un rbol de juego Minimax, este algoritmo es utilizado para encontrar las mejores soluciones a este tipo de juego. 4.1 DISEO E IMPLEMENTACIN En este captulo se presenta el diseo y la implementacin del tema propuesto, Modelado de Sistemas de control de un robot manipulador basado en Procesamiento Digital de Imgenes, el cual est desarrollado en CBuilder bajo la plataforma WindowsXP; est formado por varios mdulos que fueron desarrollados y probados independientemente antes de desarrollar una sola aplicacin. Lo que se presenta en la imagen siguiente es una presentacin del sistema ejecutando todos los mdulos en conjunto.

Dentro de la aplicacin presentada, se encuentran los mdulos de procesamiento de imgenes, que se encargan de analizar e interpretar los objetos que se encuentran dentro de las imgenes. El segundo mdulo es el juego del Tic Tac Toe, el cual utiliza un algoritmo Minimax para tomar las decisiones para hacer una mejor jugada por parte del computador, y en tercer lugar se encuentra el mdulo de control, que recibe solamente configuraciones, este

a su vez se encarga de cumplirlas, analizndolas y ejecutndolas. A continuacin se presenta el diseo del proyecto y despus su desarrollo. 4.2 DISEO DEL PROYECTO Una vez que se tiene definidos los modelos que se utilizaran en el proyecto de procesamiento de imgenes, se plantea el siguiente diseo de sistema de control a travs de procesamiento de imgenes, para esto se utilizan Diagramas de Flujo de Datos, los cuales dan un idea completa del proyecto.

4.3 IMPLEMENTACIN La imagen 5.1 muestra una ejecucin del mdulo de procesamiento de imgenes. Este mdulo lleva una conjuncin de pasos para que funcione adecuadamente que se describe a continuacin. Captura de Imagen Inicialmente se tiene que tomar en cuenta el tipo de dispositivo fsico para obtener la informacin grfica. Para el desarrollo de este proyecto se utiliz una cmara de Lectura por lnea, o mejor conocida como Webcam. Esta cmara puede ser manipulada desde un lenguaje de alto nivel como es C++, a travs de su ambiente de programacin como es Cbuilder, y para lo cual se instal una librera tomada desde la pgina Web, de la empresa donde fue hecha la cmara. Especificaciones: Sensor CMOS Lente de enfoque manual Tamao de imagen: 352 x 288 Frecuencia de cuadro: hasta 30 fps (cuadros por segundo) Las cmaras de lectura por lnea funcionan diferentes que las cmaras de lectura por rea.

En una cmara de lectura por rea, una matriz de CCD (generalmente rectangular en forma) en pxeles proporciona una vista de un objeto que contiene longitud y anchura. Con una cmara de lectura por lnea, el CCD contiene solamente una sola fila de pxeles. Esta imagen casi unidimensional requiere generalmente que el objeto est movido y que una serie de cuadros est tomada para proporcionar los datos tiles para una inspeccin. Las cmaras de lectura por lnea prevn tpicamente la exploracin muy rpida de los pxeles para poder asumir el control de muchos cuadros por un perodo de tiempo corto mientras que el objeto se mueve en el campo visual de la cmara. CALIBRADO DE LA CMARA. Es una de las partes fundamentales de todo sistema de visin, ya que de este proceso dependen los resultados que se obtengan. Se divide en dos partes: la primera es la orientacin de la cmara en el plano. La segunda es la definicin de medidas que se utilizarn dentro del plano. Orientacin de la cmara Aqu es donde se establecen las coordenadas XYZ de la imagen. Inicialmente se coloca la cmara en un lugar fijo, dirigida hacia el rea de trabajo establecido, se hace una toma de 1 imagen, se calcula el centro de la imagen, y se le define la distancia en que se encuentra el lente de la cmara, hasta el rea de trabajo, que es el eje Z. Clculo del centro de la imagen

Esto orienta la cmara e inicializa las coordenadas XY Z de la imagen,

Definicin de medidas La definicin de la distancia se establecer en el mismo sistema, haciendo una asignacin de equivalencia, entre la imagen y la distancia. Es decir a la imagen tomada, se le define una distancia real en centmetros que es el eje Z. Una vez definida la distancia con respecto a la imagen, se define un determinado nmero de pxeles y se hace una equivalencia o escala de distancia en cm.

La escala formada es la siguiente: 1 lnea de 20 pxeles = 1 cm. en una imagen con una distancia focal de 45cm Con esto se puede encontrar el tamao aproximado del objeto y su posicin dentro de rea de trabajo. Estos datos sern usados para localizar los objetos en el mundo real, y poder indicar al robot en donde debe poner las piezas exactamente. Se toma en cuenta que est limitado para calcular ms datos de los objetos, debido a que se est trabajando con visin no estreo. Esta calibracin es fundamental, para definir los movimientos del robot Lego MindStorms. Modificaciones de Propiedades de video. Las propiedades de la cmara pueden ser manipuladas desde el lenguaje de programacin como son la fuente y formato, la cual sirve para un mayor calibrado de la iluminacin recibida.

Segmentacin Este mtodo se encarga de dividir en partes o clulas una imagen, cada clula es independiente una de otra, lo cual permite un mejor anlisis por parte del sistemas. Sin embargo, las lneas presentadas en la imagen, son informativas al usuario del estado del sistema.

La segmentacin est definida, tomando el ancho y largo de la imagen. Estos atributos estn divididos en 3, y de igual forma estn implcitos en el cdigo del programa Deteccin de Color Se define un valor de umbral por objeto a encontrar, debido a que los objetos son afectados por la iluminacin de ambiente, y tomando en cuenta que se utiliza un formato RGB, en lugar del HSI. Inicialmente se hace una lectura de la imagen, de izquierda a derecha y de arriba hacia abajo, conforme se va leyendo la imagen, se obtiene un pxel, el cual se descompone en sus tres principales componentes bsicas RGB.

Este modelo RGB, define en forma sensorial un objeto de un color especifico, el cual al ser detectado por el umbral definido, es convertido a un valor o color RGB uniforme, y de esta forma se define la forma de un objeto. Obteniendo una proximidad de volumen de un objeto. Con el fin de que se pueda manipular esta informacin para obtener ms caractersticas en mtodos siguientes. Visin General del Mdulo de Procesamiento de Imgenes La aplicacin en conjunto de los mtodos de procesamiento de imgenes, dan una interpretacin del mundo real, sirviendo para desarrollar una aplicacin en forma compleja. A continuacin se presenta la forma general del mdulo de procesamiento de Imagen en una secuencia de Frames.

En la figura anterior se presenta una ejecucin del procesamiento de imgenes, con la imagen de entrada a izquierda, y en la imagen derecha se encuentra una imagen de salida, que presenta inicialmente la segmentacin de la imagen, en segundo se encuentra definido el volumen aproximado de los objetos representados por sus colores uniformes dentro de la imagen, en tercer lugar cada objeto tiene definido una envolvente convexa, y por ultimo ya se encuentran etiquetados internamente. De esta forma se finaliza el procesamiento de imgenes. A continuacin se presenta el diagrama de flujo y su respectivo algoritmo.

Este algoritmo general, es el encargado de analizar cada clula y aplicarle los mtodos de procesamiento, inicialmente este algoritmo solo presenta el anlisis de una sola clula, sin embargo son nueve clulas analizadas. Este mtodo, se ejecuta 3 veces por clula, ya que descarta movimientos de la mano del robot o del usuario al pasar la mano con el objeto, es decir, utiliza una validacin para cada pieza, a movimientos del objeto y define la posicin de un objeto hasta que esta se encuentra en un lugar fijo, en caso de que se ste en movimiento, la descarta. Una vez definida la posicin de la pieza, se procede a aplicar los mtodos de procesamiento de imgenes definidos. Mdulo del juego Tic Tac Toe Esta parte del proyecto, se encarga de ser la interaccin visual entre un usuario y la computadora, y es la encargada de generar movimientos que son enviados al robot manipulador. Para esto se presenta la entrada de datos con el usuario, solamente que sta en funcin de los datos aportados por el mdulo de procesamiento de imgenes.

Este mdulo recibe inicialmente quien va a empezar un juego de tic tac toe, una vez definido, se procede a ejecutarse, todas la entradas de datos, por parte del usuario, es solamente a travs de imgenes de objetos procesados independientes y que corresponden a una determinada jugada. En la Figura se muestra una escena del juego del Tictac to, no finalizada. sta es la interfaz que el usuario ve, siendo la nica forma de jugar a travs de objetos y procesamiento de imgenes. Las X y Os, tienen todava su color normal, debido a que no ha finalizados el juego. En la siguiente figura se presenta por que los colores desaparecen.

Esta escena finalizada, presenta un juego ganado por la computadora, la cual tambin fue la que inicio el jugo del Tictac To; al igual que cuando se crea un empate, los colores de las X y Os se desactivan y se crea una figura con relieve, indicando que el juego ha finalizado. De esta forma se presenta las escenas que se utilizan dentro del Juego del Tictac To.

Declaracin de la estructura Inicialmente se declara una estructura para definir el rbol de Minimax, as como una arreglo bidimensional que guardan las jugadas ganadoras, as tambin un arreglo que lleva los movimiento que se van desarrollando durante el juego.

Mover: Mtodo que se encarga de hacer un movimiento por parte del computador, buscando su mejor movimiento dentro de la arreglo que contiene la jugada actual y la presenta. En caso de que encuentre una jugada por parte del Usuario, solamente recibe donde jugo el usuario.

Modulo del sistema de control del Robot Manipulador Este mdulo se encarga de interpretar y ejecutar las configuraciones puestas por el mdulo de juego del Tic Tac Toe, la ejecucin hace un envo de seales de control a un robot manipulador, cada configuracin es independiente y tiene un tiempo de desarrollo definido.

En esta imagen se presenta una ejecucin de 2 configuraciones, cada una representa un conjunto de seales de control, con el fin de que el robot manipulador Lego MindStorms desarrolle una tarea. Una vez que ejecuta su tarea, el robot regresa a una posicin inicial y enva una seal al computador para definir el status de su tarea, que en la imagen muestra un estatus correcto. Conclusin: Se Muestra una forma estructurada para controlar el robot manipulador a travs de procesamiento de imgenes, donde se explican las partes fundamentales del proyecto.