69
IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA ROBÓTICA MÓVIL JOHANN FACCELO OSMA CRUZ UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA BOGOTÁ 2003

IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

RECONOCIMIENTO DE OBJETOS PARA ROBÓTICA MÓVIL

JOHANN FACCELO OSMA CRUZ

UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA

DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA

BOGOTÁ 2003

Page 2: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

RECONOCIMIENTO DE OBJETOS PARA ROBÓTICA MÓVIL

JOHANN FACCELO OSMA CRUZ

TESIS

Asesor: Antonio García Rozo

Ing. Electrónico

UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA

DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA

BOGOTÁ 2003

Page 3: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

Nota de Aceptación

____________________

Firma del Asesor

Antonio García Rozo

Ing. Electrónico

____________________

Firma del Jurado

Fredy E. Segura

Ing. Electrónico

Bogotá, 9 de Enero de 2003

Page 4: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

DEDICATORIA

Quiero dedicar este trabajo a mis padres, quienes han estado apoyándome en cada momento

de mi vida y en especial, este último periodo de mi vida que ha sido tan enriquecedor para

mi. Espero que este trabajo sea un reflejo de todos los valores y enseñanzas que me han

dado a través de mi vida. No me queda más que decir gracias.

Page 5: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

AGRADECIMIENTOS

Este proyecto no hubiese sido realidad sin el apoyo de muchas personas que estuvieron

conmigo durante estos últimos meses de mi carrera y que me sirvieron de pilar para seguir

adelante y nunca desfallecer, sin embargo quiero agradecer profundamente a mis padres y a

mi hermana por toda la confianza que depositaron en mi y por enseñarme lo más valioso de

mi vida.

De igual forma quiero agradecer a Antonio García y a Fredy Segura por su apoyo técnico y

humano durante este periodo, además por la experiencia y consejos que me brindaron para

hacer de este trabajo una realidad.

Finalmente quiero agradecer muy personalmente a Alvaro Varela, Sergio Cruz, Nathaly

Gaitán y a muchos más, por estar ahí en los momentos decisivos y porque de una u otra

forma fueron participes de este trabajo.

Page 6: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

1 CONTENIDO

Pag.

1 CONTENIDO 6

2 RESUMEN 7

3 INTRODUCCIÓN 8

4 PROCEDIMIENTO DEL PROYECTO 10

5 ÁREA FÍSICA Y MECÁNICA 12

5.1.1 Mapa eléctrico de las manos. 15

5.1.2 Mapa físico de las manos. 16

6 ETAPA LÓGICA Y DE ALGORITMOS 26

6.1.1 La red neuronal. 30

7 MONTAJE ELECTRÓNICO 39

8 APLICACIONES 50

8.1.1 Utilización en la industria. 53

8.1.2 Utilización en exploración. 54

8.1.3 Utilización familiar o casera. 56

9 RESULTADOS 58

9.1.1 Nuevos modelos para el reconocimiento de patrones. 59

9.2.1 Tiempos de respuesta. 62

10 CONCLUSIONES 64

11 BIBLIOGRAFÍA 68

12 INDICE DE FIGURAS 69

Page 7: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

2 RESUMEN

Las redes neuronales y la lógica difusa han sido utilizadas constantemente para el

reconocimiento de patrones en varios sectores de investigación e industria. Para este trabajo

se intentó aplicar estos algoritmos para lograr un reconocimiento de objetos a través de

mediciones físicas como lo son: la forma bidimensional, el ancho, los cromas

característicos y la temperatura; para ser utilizado en aplicaciones de robótica móvil de bajo

costo.

Estas señales permiten que no sean necesarias mediciones de otra índole como lo son el uso

de cámaras de video o digitales para lograr este mismo propósito pero que incrementan la

complejidad de los equipos, tanto software como hardware, del dispositivo; así mismo

como el costo del proyecto.

La utilización de lecturas de este tipo de señales permite una nueva disposición de ideas,

teorías y argumentos para optimizar procesos de reconocimiento, así mismo como procesos

de aprendizaje elemental basados en condiciones no intrínsecas de juicio para robótica.

Palabras claves: robótica, reconocimiento de objetos, aprendizaje no determinístico,

reconocimiento bidimensional, redes neuronales, lógica difusa.

Page 8: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

3 INTRODUCCIÓN

Hoy en día el reconocimiento de objetos es un proceso fundamental en muchas áreas de la

industria como lo es el control de calidad o la exploración de recursos. Sin embargo la

mayoría de las aplicaciones existentes, se basan en un proceso de identificación de imagen

con extensos y/o complejos algoritmos implementados casi en su totalidad con potentes

procesadores o en grandes equipos, como lo es un computador, lo que los hace no aptos

para ser trasladados con facilidad o simplemente con limitaciones de espacio físico.

Una alternativa que empieza a fomentarse en el mundo, es la inclusión de otro tipo de

señales para lograr un reconocimiento más versátil de objetos en un medio conocido o

semidesconocido para así obtener identificadores de bajo costo, fácil adaptación al medio

de trabajo y con mayores posibilidades de ser implementados en pequeños y sencillos

dispositivos.

Se pretende en este trabajo, basado en esa nueva tendencia, la implementación y estudio de

un dispositivo móvil que posea sensores capaces de alimentar redes neuronales y

algoritmos de lógica difusa para el aprendizaje e identificación de objetos. Este dispositivo

móvil llamado TA®EA, debe contar con limitaciones en su costo de implementación, así

mismo debe poseer limitaciones físicas para los objetos reconocibles, como lo son unas

dimensiones, una consistencia y un peso mínimo y máximo.

Con este dispositivo se pretende generar una nueva alternativa para el reconocimiento de

objetos pequeños, que posean diversas formas, colores, dimensiones y que permita además

algunas características más complejas como lo es la temperatura del objeto que puede

diferir en el tiempo. Teniendo en cuenta estas características el dispositivo debe estar en

Page 9: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

capacidad de crear una base de datos de objetos conocidos que es incrementada con la

interacción, para así en un futuro, tomar decisiones dependiendo de las características del

objeto.

Page 10: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

4 PROCEDIMIENTO DEL PROYECTO

El reconocimiento de patrones físicos, químicos o eléctricos para una posterior

clasificación, es un procedimiento difícil, en muchos casos subjetivo y que requiere de un

trabajo largo de investigación para determinar con certeza una escala o segmentos de escala

apropiados para lograr una distribución apropiada para la medición. Conociendo un poco

esto, se diseñó un plan de trabajo que abarcara distintas áreas involucradas para el

desarrollo de este proyecto, como lo son, mecánica, probabilística y por supuesto

electrónica.

El objetivo de este proyecto es el de obtener un módulo capaz de medir y sensar algunas

características físicas de los objetos, para así, con ayuda de algoritmos extraídos de

disciplinas como las redes neuronales, los sistemas de comparación por espacios vectoriales

y las teorías de probabilidad, clasificarlos por sus características y almacenarlos en

memoria para su posterior comparación con nuevos objetos encontrados.

Este objetivo fue dividido en tres grandes áreas para poder afrontar el problema de forma

ordenada y así evitar problemas posteriores. La primera de estas grande áreas comprende la

parte física del montaje y por tanto esta regido principalmente por leyes de la física y

mecánica para su desenvolvimiento. Esta área consiste principalmente en la fabricación de

un módulo capaz de mover los sensores de medición hasta un objeto en reposo que debe

encontrarse cerca de la estructura. Este sistema debe ser accionado por señales eléctricas y

debe permitir la evaluación de objetos con distintas características, como lo son, alto,

ancho, forma, entre otros.

La segunda área de trabajo la constituye la evaluación de algoritmos capaces de llevar a

cabo una clasificación de las características dependientes de la medición obtenida por los

Page 11: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

diversos sensores. En esta área se evalúan distintas alternativas que permitan una mejor

clasificación de cada característica, debido a esto, se usan distintas técnicas para los

distintos sensores.

La tercera área comprende el montaje electrónico, es decir, la escogencia de dispositivos

electrónicos apropiados para llevar estos algoritmos a operación, así mismo la interfaz entre

la parte mecánica y los algoritmos que se deben operar para realizar la tarea de

reconocimiento y almacenamiento de información. Esta tercera área es muy dependiente de

la segunda área, por tanto es uno de los últimos procesos que se llevan a cabo, pero a su

vez, sus limitaciones deben ser planteadas desde el principio del diseño.

Page 12: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

5 ÁREA FÍSICA Y MECÁNICA

Es un reto grande el poder diseñar un sistema mecánico apropiado y seguro para una

persona cuya área del conocimiento se centra en el diseño de sistemas electrónicos, sin

embargo, con la colaboración indicada este hecho puede ser bien resuelto. A pesar de esto,

esta etapa del trabajo depende mucho del ensayo y error, por un lado debido a la

inexperiencia en trabajos mecánicos, que conlleva a una falta de calidad en los primeros

intentos, y por otro lado debido a la falta de documentación existente para la fabricación y

uso de sensores físicos para medición de objetos pequeños.

El primer paso que se llevó a cabo en esta etapa fue la elaboración de un boceto de

mediciones que se querían realizar. Por un lado se pretendía la medición de la forma lateral

del objeto, es decir se quería una imagen bidimensional del objeto usando únicamente

sensores físicos. Esta medida fue tomada debido a una de las limitantes iniciales del

proyecto que consistía en el no uso de sistemas de video dentro de los sensores. La idea de

no usar sistemas de video incorporados buscaba aminorar los costos del sistema de

reconocimiento y además plantear nuevas alternativas para el desarrollo de sistemas

capaces de reconocer objetos en reposo. En la actualidad, una gran mayoría de los sistemas

de reconocimiento de objetos, utilizan videocámaras o fotografías junto con algoritmos de

tratamiento de imágenes para establecer las características de los objetos; sin embargo en

algunos casos es imposible utilizar estos dispositivos debido a las inconveniencias del

medio, por ejemplo, el uso de estos en aguas profundas; por esto es aún necesario el uso de

personal humano para llevar a cabo funciones de reconocimiento que deberían ser

automatizadas. Con el fin de suplir este tipo de necesidades, se pretende demostrar que con

otro tipo de sensores se puede llegar a un resultado similar.

Page 13: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

En este proceso, utilizando la información obtenida por un grupo de investigadores que

trabajan en robótica y reconocimiento de objetos, se tuvo la idea de probar con un sistema

de cinco sensores retráctiles, capaces de hormar el objeto por cada lado y así tener la

posibilidad de obtener una imagen bidimensional del objeto. Así mismo, este robot está en

capacidad de tomar otra clase de medidas físicas para poderlas tener en cuenta como

patrones de clasificación de los distintos objetos, generando así un vector de características

que posea el objeto. Entre estas características están la temperatura, el ancho y los colores

del objeto, además de la ya mencionada estructura bidimensional.

5.1 LAS MANOS

En este punto empezaremos a asemejar ciertas características humanas con la morfología de

el sistema, en primer lugar definiremos las manos del robot. Al igual que los distintos

animales, este robot debe estar en capacidad de manipular los objetos de forma tal que sea

capaz de obtener ciertas características de este. En muchos animales terrestres, este proceso

se lleva a cabo con las extremidades anteriores, para el caso de los primates, las manos

cumplen esta función. Teniendo este gran ejemplo de la naturaleza, el robot tuvo su primer

diseño en esta parte, las manos.

Las manos del robot están ligadas a un sistema que sea capaz de desplazarlas hasta el

objeto. Independientemente de cómo sea este sistema, las manos deben contar con los

sensores precisos para poder tomar una cantidad de datos suficientes para la clasificación

de la forma bidimensional. Para esto, se decidió por un sistema de cinco dedos, llamados

así porque sobresalen de la mano, que tuvieran un movimiento rectilíneo y retráctil para

envolver el objeto. El número de dedos a utilizar se determinó por la experiencia adquirida

en procesos de reconocimiento de caracteres con algoritmos de redes neuronales.

Page 14: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

Si se quieren diferenciar las principales formas bidimensionales de un objeto se necesitaría

por lo menos una referencia central y los dos extremos de esta. Con estos tres datos,

podríamos diferenciar una línea recta vertical, una diagonal hacia la izquierda, una diagonal

hacia la derecha y curvas convexas y cóncavas. Si por el contrario usáramos menos de tres

mediciones por cada lado del objeto, a duras penas podríamos diferencias algunas formas.

Por otro lado, con un número mayor de mediciones, podríamos mejorar la información del

sistema y así podríamos distinguir curvas redondeadas, de curvas fuertes. Pero para este

propósito es necesario un mayor procesamiento de información y de esta forma el número

de variables a evaluar crece aumentando la complejidad de los algoritmos.

Encontramos un compromiso entre calidad en la identificación y la complejidad de los

algoritmos. Si usáramos cuatro sensores por cada lado, el centro de referencia se

encontraría tácito, eso suponiendo una distribución equidistante de los sensores, pero si por

el contrario utilizáramos cinco sensores por cada lado del objeto, esto supondría un centro

medible, dos extremos, y una señal entre el centro y cada extremo. Con este número, que

fue evaluado para el uso de algoritmos de reconocimiento por redes neuronales, se

determinó el diseño de la mano del robot.

Ya conociendo el número de sensores que entrarían en contacto con el objeto para

hormarlo, solo bastaba con presentar un diseño que permitiera tener sensores de bajo costo,

fácilmente reparables, debido que en sistemas como estos es frecuente que se presenten

fallas mecánicas, y que tuvieran como salida una señal análoga que representara la posición

actual del sensor con respecto a su posición inicial. Este diseño se llevó a cabo simulando

un poco los procesos de agarre de algunas máquinas que cuentan con partes móviles para

mejorar el agarre de los objetos.

La mano era esencialmente una caja donde se encontraban los distintos dispositivos y

conexiones para la transformación de un proceso mecánico como lo era el movimiento en

una señal eléctrica. Por otro lado, la caja en uno de sus lados debía tener los cinco dedos

Page 15: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

retráctiles para hormar de la mejor manera el objeto. Se determinó el largo de los dedos

mirando la disponibilidad del mercado de dispositivos que variaran sus características

eléctricas con el desplazamiento. Se encontraron unas resistencias variables de movimiento

rectilíneo que se ajustaban muy bien a estas condiciones y con estas se realizó el primer

mapa eléctrico del circuito correspondiente de la mano.

5.1.1 Mapa eléctrico de las manos. El circuito es de una complejidad mínima y se basa

en el movimiento del puntero de la resistencia variable para la obtención de un valor acorde

con la distancia de desplazamiento. Estas resistencias variables no son lineales, pero su

comportamiento, que tampoco es logarítmico, permiten trabajar con una buena

aproximación a una relación proporcional de distancia por ohms.

Figura 1. mano izquierda del robot mostrando las resistencias variables.

Estas resistencias variables fueron escogidas porque contaban con cuatro conexiones, dos

de ellas correspondían a las resistencia de punta a punta, es decir de 100KΩ, una tercera

conexión correspondiente al valor de la resistencia que varía con el desplazamiento, y un

cuarto terminal que no tiene influencia en la resistencia. Este cuatro terminal fue utilizado

Page 16: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

para la obtención de una señal que indique cuando alguno de los cinco dedos llega al final

de su recorrido, es decir, cuando el objeto ya esta hormado.

Se puede apreciar la forma y diseño de la resistencia variable, así mismo, la disposición que

existe para la creación de la mano. En este circuito, cada extremo de la resistencia total es

conectado, bien sea a un voltaje de alimentación o la referencia, la tercera conexión

corresponde al valor sensado que se haya entre el voltaje de alimentación y cero voltios, y

una ultima terminal adaptada para entrar en contacto con la alimentación cuando la

resistencia haya llegado al final del trayecto (Ver Figura 1).

Este diseño se cumple para los cinco sensores correspondientes a los cinco dedos de la

mano, obteniendo una carga aproximada de 20KΩ, que corresponde al resultado de cinco

resistencias de 100KΩ en paralelo. Las señales de final de trayectoria están unidas por

conexión, es decir se tiene un OR cableado de todas las señales de fin de trayectoria, que

indica cuando alguno de los dedos ha llegado a su extremo, cuando esta señal sea activa

podemos hacer la medición con la certeza de tener hormado el objeto.

5.1.2 Mapa físico de las manos. Conociendo un poco el circuito que se desprendía de

los sensores, se pudo determinar un tamaño adecuado para la caja que contenía todo este

sistema. Se determinó que un área de diez (10) centímetros por diez (10) centímetros era

suficiente. La altura de la estructura se vio definida por el alto de los dedos, que en este

caso fueron fabricados con balso por su peso, costo y fácil manejo.

Teniendo en cuenta que las manos debían ser desplazadas por un sistema de brazos, el

material escogido para ser usado como soporte fue el acrílico. Este material cuenta con

características importantes en el diseño, por un lado es un material ligero, esto da una

ventaja frente a materiales de gran peso como puede ser la madera o algunos metales. Por

otro lado, es un material firme, que puede ser fácilmente trabajable y que no se desgasta de

manera sencilla, ventaja sobre la madera, y finalmente es un material no conductor, que es

Page 17: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

una clara ventaja frente a materiales como el aluminio. Este última característica es

importante ya que desconocemos los objetos que puedan llegar a ser sensados y por tanto

no sabemos si estos pueden producir cambios en los sensores. Esta misma razón fue

aplicada al material de los dedos, sin embargo encontramos que el acrílico era muy frágil

para ser expuesto a continuas presiones en los dedos.

Figura 2. vista posterior de las manos del robot, se puede apreciar el circuito impreso.

Ya determinados estos materiales, acrílico para las tapas y balso para los dedos, el resto

consistía en realizar un circuito que no ocupara tanto espacio, que no tuviera problemas en

sus conexiones previstas por los continuos movimientos de los dedos y obviamente que

fuera lo más ligero posible. Por ello, se determinó realizar un circuito impreso para cada

mano. Este circuito mide aproximadamente 7.5 por 7.5 centímetros y cabe perfectamente

en la caja, dejando espacio para la fabricación de un bus capaz de trasportar nuestras

señales desde las manos hasta el lugar de procesamiento de información. (Ver Figura 2).

El espacio sobrante en el diseño de las manos se dejó libre para la inserción de algún otro

tipo de sensor de ser necesaria. Más adelante se discutirá este tema, en la sección

Page 18: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

correspondiente al sensor de temperatura. Debido a esto, la fabricación de las manos no fue

llevada a cabo en este punto, sin embargo su estructura externa ya esta formada para poder

continuar con el diseño de las otras partes.

5.2 LOS BRAZOS

Para poder posicionar las manos y poderlas desplazar, era necesaria la construcción de

brazos capaces de mover un gran peso en un tiempo mínimo sin llegar a dañar el objeto que

se quería reconocer. Para este trabajo se resolvió colocar las manos a una distancia

pertinente del robot para facilitar su movimiento y para permitir agarrar objetos de cierto

ancho.

La primera idea de diseño consistió en un par de pinzas que se cierran, cada una

dependiente de un eje de rotación. Este diseño contemplaba un par de rotores, uno para

cada brazo que movilizara la mano en una trayectoria semicircular hasta que ambas manos

se encontraran. Este diseño no llego a ser implementado ya que este tipo de trayectoria no

facilitaba el reconocimiento de la forma bidimensional del objeto. Usando esta trayectoria

era posible que dos objetos de forma similar, pero dimensiones de ancho distintas, fueran

tomados en partes diferentes y así se alterara el reconocimiento. Por ejemplo, si tuviésemos

un cubo de ancho X, es posible que sea hormado muy cerca de su media, es decir dando

como resultado dos líneas verticales rectas como prueba de su forma bidimensional. Sin

embargo si tomamos un cubo parecido al anterior, pero de ancho X + Y, es posible que los

sensores no alcancen los dos extremos laterales del cubo y la forma sensada sea distinta

debido al ángulo de incidencia de las manos.

Page 19: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

Un segundo diseño se planteó para solucionar este problema, si podíamos cambiar el

trayecto de las manos por un desplazamiento en línea recta, el ángulo de incidencia sería

igual, o por lo menos con poca variación. Usando un diseño de brazo articulado, copiado de

los sistemas de cierre y apertura de puertas, se lograba un desplazamiento casi rectilíneo de

las manos, manteniendo un eje independiente para cada brazo manejado por un rotor, y un

eje móvil encadenado a un riel para mantener un desplazamiento rectilíneo de la parte

extrema del brazo. Este diseño fue resuelto primero en una maqueta utilizando fichas de

LEGO1 para su fabricación. El sistema funcionaba, sin embargo la maqueta difería

considerablemente en el peso de las partes que en verdad se utilizaban.

Al intentar construir este sistema de movimiento con partes del mercado que soportaran el

peso real de las manos y se pudieran acoplar por medio de tornillos, el sistema falló, debido

principalmente al rozamiento producido por los ejes móviles con el riel. En ese momento se

replantearon las ideas para la fabricación de un sistema capaz de movilizar las manos en

una trayectoria rectilínea evitando al máximo el rozamiento.

Observando con mucho detenimiento el movimiento de una puerta corrediza, se decidió

copiar el sistema de rieles de una puerta, esta vez utilizando dos rieles, uno arriba y otro

abajo, un sistema con rodamientos, utilizados en carpintería para cajones y similares, y un

sistema de tracción en ambos sentido producido por un solo motor para cada brazo. Este

diseño tuvo mucho éxito ya que permite mover con facilidad el brazo, que no es articulado

ni tiene un eje, simplemente lo desplaza por los rieles halando de una cuerda. El reto en ese

momento fue el de usar un solo motor para halar en ambas direcciones, para eso, se trabajó

un sistema de polea mixta que enrolla a la vez que desenrolla dos cuerdas y dependiendo

del sentido de giro el brazo es halado en algún sentido.

Este sistema posee una especie de carro que esta atado por medio de una extensión metálica

a la mano. Este carro, esta sujeto por dos cuerdas, una en cada dirección de movimiento que

llegan a un solo eje movido por un rotor por medio de un cuidadoso juego de poleas. Una 1 LEGO ® : Fichas para armar.

Page 20: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

de las cuerdas enrolla en sentido de las manecillas del reloj y la otra lo hace en sentido

contrario. De esta manera, cuando el rotor gira en un sentido el brazo se abre y cuando gira

en el otro sentido el brazo se cierra.

Figura 3. vista superior del robot sin tapa, se puede apreciar el sistema de poleas.

El sistema de poleas es necesario por varios motivos, el primero de ellos trata la fuerza de

los motores. Siendo pequeños motores DC, estos no cuentan con un torque suficiente para

desplazar el peso de los brazos y las manos, así que se provee de una relación de piñones

para disminuir la velocidad de desplazamiento y aumentar la fuerza. En segundo lugar, se

debe tener en cuenta que es importante darle grados de libertad al rotor en caso que la mano

haya llegado a su límite, es decir, el rotor debe poder seguir girando sin dañar la estructura

de las manos o los rieles, para esto se utiliza una banda elástica como conector entre el rotor

y el eje (Ver Figura 3).

Este último diseño tuvo éxito y es el que actualmente se está utilizando, con motores DC

alimentados con un potencial de 7.5 Voltios aproximadamente, las manos tienen la

posibilidad de moverse hasta hormar el objeto sin dañarlo debido a su baja velocidad y su

fuerza limitada. Es importante recalcar que se le quitó algo de fuerza al sistema para que no

Page 21: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

se presentaran daños en la estructura de los objetos, sobre todo aquellos objetos de vidrio

que se pretenden usar como ejemplares para identificación.

Los materiales utilizados en la fabricación de los brazos varían bastante. Por un lado, para

mantener la uniformidad con las manos, la estructura del robot se ha trabajado en acrílico,

así mismo los rieles y los soportes de motores y ejes. Los rodamientos utilizados para los

carros de los rieles son de metal, al igual que las escuadras utilizadas como extensiones de

los brazos para soportar las manos. Las partes metálicas utilizadas son principalmente

utilizados en carpintería, así que su bajo peso, alta rigidez y bajo costo son ideales. Por otro

lado, las cuerdas utilizadas son de Nylon de diferentes calibres dependiendo del sentido de

giro.

5.3 LA CARA

Al igual que los animales, el robot posee una cara que le permite sensar otras

características de los objetos al quererlos reconocer. Una de esas características es el color

de los objetos, es decir sus características cromáticas. Para seguir con las analogías entre

animales y el proyecto, los ojos son los encargados de la visión, pero el robot no desea ver,

solo quiere distinguir los colores de lo que tiene enfrente, para esto se diseño un sistema

similar a unos ojos capaces de distinguir ciertas frecuencias de luz.

Usando algunas teorías de la física óptica, se plantearon soluciones para lograr sensar esta

característica. La primera de estas teorías, es la reflexión de la luz, para poder ver de que

color es el objeto es necesario exponerlo a la luz y ver que frecuencias son reflejadas en

mayor medida. Para lograr este cometido, se le pusieron dos ojos activos al robot que se

componen de una bombilla de luz blanca para cada ojo, que permite iluminar de forma casi

Page 22: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

igual a cualquier objeto puesto enfrente del robot, con esto se pretende desvincular las

mediciones de cromas a las luz ambiente. Por otro lado tenemos tres ojos pasivos, que estén

compuestos por fotorresistencias recubiertas por distintos colores para aumentar el rechazo

o aceptación de rangos de frecuencias (Ver Figura 4).

Figura 4. se aprecia la cara del robot, distinguiéndose los ojos pasivos y activos.

Cada ojo pasivo esta recubierto por un color, los cuales son Verde, Amarillo y Azul-

Violeta. Estos tres colores permiten una distinción en la medición de los distintos colores

en objetos. Estos colores fueron escogidos usando referencias de artistas, diseñadores y por

supuesto de tratamiento de imágenes, pero fue después de varias pruebas que fueron

escogidos como los colores de filtros a utilizar. Los ojos pasivos se encuentran protegidos

de las luz ambiente por la misma estructura física del robot y esto aumenta la

independencia con la luz ambiente.

Los ojos del robot se encuentran en la cara, con una disposición triangular para los ojos

pasivos, que se encuentran en la parte inferior de la cara, mientras los ojos activos se

Page 23: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

encuentran en la parte alta y equidistantes de la mitad. Esta distribución se hizo así para

poder exponer al objeto a la mayor cantidad de luz, y de igual forma poder sensar la mayor

cantidad de luz reflejada por este.

La localización de la cara debía ser lo más cercana posible al objeto y que no interfiriera

con el movimiento de los brazos. Para esto se creó una extensión del robot hacia adelante

que permitió localizar la cara con un pequeño ángulo de inclinación muy cerca del objeto.

Esta localización ayuda a que la luz ambiente sea menos incidente en los ojos pasivos ya

que el mismo objeto trabaja como barrera para esta.

5.4 LA ALIMENTACIÓN

Siendo un robot con autonomía propia para poder identificar objetos, sería poco oportuno

que el montaje no contara con su propia fuente de alimentación y por tanto este se viera

limitado por una conexión eléctrica a alguna fuente de poder externa. Esta razón que es de

gran peso si hablamos de robótica móvil se ve resuelta si portamos nuestra propia fuente de

alimentación. Esta fuente de alimentación debe cumplir con un número de características

que la hagan útil para el robot.

La primera de estas características consiste en su salida, esta debe ser un voltaje D.C. que

permita operar de manera sencilla los circuitos eléctricos y electrónicos que posee el robot,

al igual que sus actuadores como bombillos y motores. Se definió una fuente de 12 Voltios

D.C. como potencial requerido. De esta forma se pueden operar los motores hasta su

capacidad máxima (que son 12 V), y se puede distribuir una fuente de 5 Voltios para los

circuitos.

Page 24: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

Por otro lado, los motores D.C. de apertura de los brazos necesitan un amperaje suficiente

para su buen funcionamiento. Este amperaje ha sido calculado de manera experimental

dependiendo de las distintas situaciones a las que se ve el robot expuesto al hormar un

objeto. En el peor de los casos, cada motor requiere un máximo de 0.7 Amperios para poder

desplazar las manos de manera satisfactoria, si la resistencia del objeto lo permite.

Teniendo en cuenta que el robot nunca tomaría un objeto estando en movimiento, solo dos

motores actuarían a la vez, (esto teniendo en cuenta futuras mejoras al robot, como motores

propios para el desplazamiento), es por esto que la fuente de alimentación debe contar con

un suministro de corriente superior a 1.5 A/h. Además de esto, hay que contar con las

exigencias de corriente de los circuitos, aunque esta sea mucho menor que la antes

mencionada. En total, una fuente de 2.0 A/h es suficiente para cubrir las necesidades de

corriente del robot.

Otro aspecto importante es el tamaño de la batería a utilizar, a parte de contar con las

características eléctricas antes mencionadas, la batería debe poderse colocar dentro del

robot para que haga parte del mismo y no se convierta en un módulo anexo de este. Para

lograr este fin se analizaron algunas alternativas del mercado que permitieran definir que

formato de batería era la más adecuada. Finalmente se decidió por una batería con una

altura inferior a los diez centímetros y que fuera rectangular para poder optimizar el espacio

interno del robot dispuesto para la fuente de alimentación y circuitos.

Un último requerimiento era la duración de la batería, si este robot se llevara a un proceso

industrial debería por lo menos durar una jornada de trabajo completa, es decir debería

soportar prácticamente un día laboral completo para no entorpecer las acciones. Contando

con este y todos los requerimientos antes mencionados se decidió por una batería

PANASONIC de 12 V, 2.2 A/h y una duración de carga completa de veinte (20) horas. Esta

batería esta localizada en la parte posterior del robot, lo que permite una mejor distribución

de peso ya que los brazos y motores se encuentran en la parte frontal.

Page 25: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

Para lograr que esta fuente provea de energía a cada etapa del robot, se utilizaron dos

reguladores de voltaje, uno que permite tener una salida constante de 5.0 voltios para

alimentar los circuitos y un segundo controlador que alimenta a los motores con 7.5 voltios

y una salida de corriente de 1.5 A, que es la máxima exigida por ambos motores.

Finalmente cabe destacar que esta batería es recargable y que tiene una vida útil de varios

años (Ver Figura 5).

Figura 5. vista frontal del robot, al fondo se aprecia la batería de color negro.

Page 26: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

6 ETAPA LÓGICA Y DE ALGORITMOS

Teniendo ya caracterizada la parte mecánica y física del robot, es importante definir los

algoritmos y rutinas que se deben llevar a cabo para el manejo de la información. Este flujo

de información va desde una medición física hasta un resultado que informa el número del

objeto que se ha identificado, o en caso de ser uno nuevo, la asignación de un número para

este objeto. Estas definiciones son importantes para poder repartir este gran proceso de

identificación y aprendizaje en pequeñas rutinas de fácil manejo y mantenimiento para

lograr un desarrollo óptimo.

Al pretender desenvolver un gran algoritmo en pequeñas partes, se debe empezar no solo

por mirar el problema sino por definir una comunicación adecuada para que estos pequeños

procesos puedan actuar en conjunto. La primera definición que se utilizó, fue la

determinación del uso de 5.0 Voltios como alimentación de todos los circuitos eléctricos,

esto incluye además sensores. Con esta definición, se incluyó además una característica

importante en los valores que iban a tener las señales que se iban a sensar.

Todos los sensores del robot deben operar en un rango de cero (cinco) a cero (0) Voltios,

para poder lograr esto es necesario la inclusión de etapas de amplificación para el caso del

sensor de temperatura, y de manejo de impedancias para el resto de sensores. Con estos

datos físicos obtenidos de las distintas pruebas se alimentaban los algoritmos y programas

de simulación para poder analizar sus alcances antes de ser montadas.

Con el fin de mantener una uniformidad entre la información física obtenida y la

información procesada, se estableció que toda señal análoga de cero a cinco voltios, que

Page 27: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

manejaba la salida de cada sensor, iba a ser discretizada y normalizada en el mismo

formato, es decir con un valor mínimo de 0.0 y un valor máximo de 5.0.

Teniendo esta premisa sobre los posibles valores de los datos que alimentarían los distintos

algoritmos, se diseñaron estrategias para afrontar cada etapa de reconocimiento de patrones

requerida. La primera de estas etapas consistió en el reconocimiento de la forma

bidimensional de los objetos, se escogió esta como la primera etapa a trabajar debido a su

importancia y la complejidad de la misma, que exigía un tiempo mayor de desarrollo y

pruebas que el resto de etapas.

6.1 RECONOCIMIENTO DE FORMA

El reconocimiento de forma bidimensional pretende tener una aproximación del relieve del

objeto si se mira de lado. Debido que las posibles formas de un objeto son infinitas, era

abrupto establecer un número de formas posibles y limitar el proceso a identificar la más

parecida a la real.

Este proceso sesgado quería superarse de la mejor manera y es por esto que se resolvió

presentar una serie de formas comunes de los objetos, y desarrollar un algoritmo que fuera

capaz de decidir cuales de esas formas se parecían en gran medida a la anatomía del objeto,

en otras palabras era posible que un objeto presentara varias de las formas comunes antes

mencionadas.

Se empezó definiendo cada una de las formas básicas con las cuales se podía caracterizar la

forma del objeto. Se estableció un número de ocho posibles formas básicas que debían

incluir curvas, rectas, diagonales entre otras. Teniendo en cuenta las limitantes físicas del

Page 28: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

robot, los objetos que iban a querer ser identificados no deben poseer un ancho superior a

diez centímetros, así que las copas y vasos podían ser una fuente de inspiración para

analizar el tipo de objeto que se podían medir. Gracias a esto, se establecieron las formas

más apropiadas para esta clase de objetos que se adaptan muy bien a otra clase de objetos.

Figura 6. formas básicas para el reconocimiento de forma.

En la Figura 6 se pueden observar las formas básicas. Se definieron dos tipos de líneas

rectas, una vertical y una horizontal. La primera de ellas es para representar los objetos que

poseen un lado plano es decir como un libro o un cubo. La segunda línea recta es la

horizontal y es representante de formas en las que el objeto presenta un alto menor a la

distancia entre los dedos superior e inferior de la mano y por tanto solo algunos de los

sensores son deslazados y algunos de los extremos quedan total o parcialmente extendidos.

En este caso aparecen cubos con un alto menor como se ve en el ejemplo. Este caso es

bastante global ya que puede ser que el objeto se encuentre localizado en la mitad pero no

este ejerciendo presión sobre todos los dedos centrales (Ver Figura 7).

Figura 7. ejemplos de horma para vertical y vertical corta.

Page 29: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

Los dos casos siguientes pertenecen a las curvas y estas están definidas como cóncavas o

convexas. Debido a la generalidad de las curvas, están deben ser identificadas a pesar del

diámetro del circulo o la altura a la que se presentan con relación a las manos del robot. Es

importante recalcar que uno se puede presentar a una curva en la parte media de esta o en la

parte superior o inferior, dando así una forma diferente para cada caso, sin embargo el

algoritmo debe estar en capacidad de asociar todas estas posibilidades con la forma curva

correspondiente a su sentido, es decir cóncava o convexa, como se muestra en las figuras.

Estas son las formas básicas con mayor complejidad en cuanto a patrones de

reconocimiento se refiere (Ver Figura 8).

Figura 8. ejemplos de horma para curvas cóncava y convexa

Finalmente las últimas cuatro opciones son las definidas como diagonales con cambio, es

decir objetos que presentan dos zonas fácilmente diferenciables. Ya que existen figuras con

la parte superior en mayor relieve que la inferior o viceversa, se decidió determinar dos

tipos de formas para señalar estos cambios, estas son las formas básicas quinta y sexta.

Finalmente están las diagonales que son fáciles de diferencia debido a su naturaleza

progresiva de disminución de relieve tanto en sentido superior o inferior. Estas dos figuras

Page 30: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

corresponden a las últimas dos formas básicas con las que se pretende asociar la forma real

del objeto (Ver Figura 9).

Figura 9. ejemplos de horma para diagonales y cambios.

Teniendo ya definidas las formas básicas con las que se pretende trabajar, se plantearon

varias opciones como alternativas para el algoritmo. La primera alternativa era generar

tablas para identificar los patrones que se presentan en cada forma y asociarlos de manera

subjetiva para poder definir quien pertenecía a una forma determinada. Por otro lado se

quería intentar un reconocimiento por medio de redes neuronales que permitiera generar

varios espacios vectoriales con las distintas características de cada forma básica y después

agrupar estas características para decidir que forma podía asociarse mejor con alguna forma

básica. Después de algunos intentos para establecer subjetivamente los patrones más

comunes de cada forma, se decidió abandonar esta alternativa para concentrarnos en un

trabajo con redes neuronales.

6.1.1 La red neuronal. La red neuronal que se utilizó para este proceso es una red

neuronal de arquitectura Feed-Forward. Se escogió este tipo de red neuronal ya que

poseemos información suficiente para generar nuestra propia base de datos completa,

además por la experiencia previa que se tiene trabajando con este tipo de redes.

Page 31: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

Para el entrenamiento de esta red neuronal se realizó una base de datos con más de diez

ejemplos por cada una de las formas básicas, de los cuales solo se utilizaron 800 de estos

ejemplares para el proceso de entrenamiento y el resto se utilizó como validación. Para la

red se utilizaron programas de mi propiedad que fueron desarrollados hace un año durante

la clase de Redes Neuronales que tienen la capacidad de entrenar redes con métodos de

Back Propagation o Full Propagation, y que cuentan con una sigmoide como función de

activación. Esta sigmoide es idéntica a la utilizada en proyectos pasados basados en

reconocimiento de patrones y se determinó con anterioridad dados los buenos resultados

que ha tenido en casos anteriores. Debido a esto, se sugirió el uso de la misma sigmoide y

se estableció un umbral de 0.6 para la segunda capa de neuronas, con el fin de activar

alguna de las salidas.

La red neuronal, después de varios intentos de entrenamiento se estableció con un tamaño

de cinco neuronas en la capa intermedia y ocho para la capa de salida, sonde cada una de

las neuronas de salida correspondía a una de las formas básicas preestablecidas. Para el

entrenamiento de la red se desarrollo un simulador del movimiento de los dedos de una

mano. Este simulador da un valor correspondiente al movimiento de cada dedo que va

desde cero hasta cinco, imitando el funcionamiento real de una mano. El simulador fue

diseñado usando el programa de animación Flash2 que permite una interacción sencilla para

el movimiento de los dedos.

Usando este simulador se generó la base de datos que se utilizó en otro programa,

desarrollado en C, para el entrenamiento de la red. Posterior a esto, se realizó un último

programa que conjugaba el simulador de movimiento de los dedos de la mano para permitir

conocer el valor que entregarían los sensores, y entrando estos valores en campos de texto,

se calcula la salida y se entrega la respuesta correspondiente para una forma dada. Este

último programa fue realizado en JAVAScript para ser utilizado en cualquier navegador sin

2 FLASH, un producto asociado a MACROMEDIA ®

Page 32: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

problemas y para poder operar con una animación de FLASH y la implementación de una

red neuronal en JAVA. Este último programa fue realizado con el fin de validar en casos

inhóspitos el comportamiento de la red, gracias esto se pudo comprobar que la red tiene un

gran factor de apreciación con diferentes formas, incluso con formas a veces incoherentes

para un objeto normal.

Finalmente se decidió operar dos veces esta misma red neuronal, la primera vez con la

información proveniente de la mano izquierda y la segunda vez con la información

proveniente de la mano derecha del robot. La información resultante se almacena en dos

palabras de ocho bits, donde cada palabra es el resultado de la información de forma de

cada lado del objeto. Cada bit de estas palabras representa una forma básica con la que

puede ser catalogada la forma real del objeto. Debido que la forma real de un objeto puede

ser asociada a varias formas básicas se decidió este sistema no codificado de información

que permite una lectura y comparación posterior de la información de una manera sencilla y

no tenemos que complicarnos observando que formas se pueden asociar entre sí y que

formas nunca serán asociadas a una misma forma real.

6.2 RECONOCIMIENTO DE CROMAS

El reconocimiento de cormas o colores es un proceso bastante subjetivo donde es necesario

predefinir y seleccionar ejemplo de los colores para establecer una base de datos fidedigna.

Esto es realmente complicado ya que no siempre un mismo color se es identificado con el

mismo nombre por varias personas, en muchos casos es difícil diferenciar un verde de un

azul o un rojo y un naranja. Por esta razón se busco la opinión de varias personas para

seleccionar objetos con colores “puros” para la generación de la base de datos.

Page 33: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

Conociendo un poco la teoría de composición del color, que puede ser utilizada con tres

únicos colores para la composición de cualquier otro color, como lo es el caso de los tres

colores primarios utilizados en pintura (amarillo, azul y rojo), los tres colores utilizados en

las pantallas (Rojo, Verde y Azul) o muchos otros, se decidió utilizar tres sensores para la

detección de intensidad de luz con distintos filtros de colores que permitieran una lectura

similar a la que se hace en una pantalla de computador.

En un área tan diferente a la electrónica como lo es el Diseño Industrial, encontramos una

solución al problema mirando la forma como ellos trabajaban con filtros de colores para

producir efectos ópticos. Los tres colores que ellos utilizan son denominados: Amarillo,

Verde y Azul-Violeta. Con estos tres colores descomponen la luz y producen distintas

mezclas de luz que suelen ser interesantes. Con esta misma concepción cada sensor, que

para este caso es una fotorresistencia, fue cubierto por una capa de estos colores.

Teniendo un sensor con un filtro Amarillo, otro con un filtro Verde y un último sensor con

un filtro Azul-Violeta, obtenemos la información cromática de un objeto que tengamos

enfrente. Estos tres sensores entregan un valor entre cero y cinco voltios que es discretizado

y normalizado en valor de 0.0 a 5.0 para su operación. Resueltos los problemas físicos

referentes a este caso, como lo es la luz ambiente, se obtuvo una base de datos observando

los valores que entregaba cada uno de los tres sensores. Con estos valores se lleno una tabla

para tener una identificación previa de los ocho colores escogidos.

Al igual que en el caso anterior de formas, se definieron ocho colores básicos que

corresponden a: el blanco, el negro, los tres colores primarios y los tres colores secundarios.

Con esta definición se realizaron dos procesos distintos para el procesamiento de la

información. El primer método consistió en probar con varios objetos de distintos colores y

comparar la información obtenida con la tabla ya establecida de colores. Esta tabla fue

renovándose con esa información, hasta que finalmente la tabla predecía con gran éxito el

color más determinante de un objeto. Posterior a este proceso, se realizaron algunas

Page 34: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

modificaciones a los valores extremos de cada color para permitir la inclusión de colores

intermedios a los referidos en las formas básicas para que de esta forma fuera posible que

un objeto fuera catalogado como una mezcla de dos o más colores, por ejemplo, un objeto

podía ser rojo y naranja.

El segundo método utilizado fue el entrenamiento de una red neuronal con la misma

arquitectura de la utilizada en el reconocimiento de forma. El resultado de este proceso se

ve en una red de cuatro neuronas intermedias y ocho de salida. Sin embargo los resultados

obtenidos no fueron del todo satisfactorios ya que la diferencia entre un valor positivo y

uno negativo para un color básico, solo difiere en unas pocas décimas en la respuesta. El

umbral para este caso fue de 0.30 y aunque se aproximaba bastante a la realidad, la cercanía

de las salidas por encima y por debajo del umbral no permitía que en el caso real la

respuesta no fuese equivocada. Finalmente se trabajó con un red un poco más grande, que

poseía una neurona más en la capa intermedia pero el resultado fue similar y se perdió

precisión entre los colores amarillo y naranja.

La razones para que el entrenamiento con redes neuronales de este proceso no hayan sido

del todo satisfactorias son debidas a las limitantes físicas del robot, cuyos sensores no

proveen un gran rango de valores en las respuestas y que no se contó con una base de datos

del tamaño deseado para un buen estudio de varias tipos de bases de datos.

Figura 10. espacios vectoriales superpuestos para reconocimiento de cromas.

Page 35: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

Se optó entonces por el primer método en el cual se diseñaron regiones vectoriales

tridimensionales, ya que son tres entradas, en las cuales se ubican cada unos de los ocho

colores básicos. Estos espacios vectoriales se entrelazan unos a otros para que el cambio de

un color a otro no sea abrupto como se ve en la Figura 10. La información obtenida por

este algoritmo de reconocimiento, en el cual se compara el valor de cada sensor con los

rangos de valores de cada espacio vectorial para determinar su pertenencia o no, es

entregada en una palabra de ocho bits, donde cada bit representa un color básico. Se

mantiene el mismo formato de almacenamiento que se tiene para el reconocimiento de

formas debido a su facilidad para comparaciones directas bit a bit a pesar que es más

factible encontrar los posibles cromas que podrían asociarse a un solo objeto ya que

conocemos las zonas de superposición de los espacios vectoriales.

6.3 RECONOCIMIENTO DE ANCHO Y TEMPERATURA

Page 36: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

El reconocimiento de ancho y temperatura de un objeto puede diferir en gran medida del

algoritmo que se utilice, sin embargo en este caso tenemos un rango no muy amplio de

valores posibles para el ancho y la temperatura de los objetos. Para el caso del ancho, las

limitantes físicas del desplazamiento de las manos y el largo de los dedos juegan un papel

determinante para establecer un rango fijo de operación. Este rango es de aproximadamente

tres milímetros a diez centímetros de ancho.

Aprovechando un poco la manera como trabaja la apertura de las manos en el robot, que

consiste en el movimiento de dos motores que por medio de unas poleas halan los carros

que mantienen las manos en un riel, es posible tomar una medida sencilla del

desplazamiento que han cubierto ambas manos hasta tener un dato del ancho del objeto.

Para estos datos, se incluyeron resistencias variables que se movieran junto con las poleas

de tracción de los brazos y de esta forma obtener una señal eléctrica dependiente del ancho

del objeto.

Los dos valores obtenidos por estos dos sensores, cada uno dispuesto sobre una de las

poleas de tracción de cada mano, están en el rango de cero a cinco voltios, para mantener la

hegemonía en el robot. Posterior a la obtención del dato, que se hace de manera totalmente

mecánica, se discretizan ambos datos, se normalizan de 0.0 a 5.0 y se suman para obtener

un dato que represente una medida del ancho del objeto, es decir una magnitud

proporcional al movimiento de ambos brazos hacia el objeto, a mayor desplazamiento de

los brazos, menor será el ancho del objeto.

Para el caso de la temperatura, este dato es proporcionado por un sensor comercial de

temperatura que presenta características lineales para temperaturas cercanas a las ambiente,

es decir para rango de temperatura entre 0 ºC y 50 ºC. Este sensor entrega un valor de

voltaje bajo que representa cada temperatura, por ejemplo en unas condiciones de 34ºC, el

sensor entregará un valor de 0.34 voltios. Para poder mantener la hegemonía en el robot, se

Page 37: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

ha decidido amplificar la señal del sensor en un factor de diez por medio de un amplificador

operacional. Este amplificador con una configuración de amplificación no inversora,

entrega un valor entre los cero y cinco voltios, dada que la polarización del amplificador es

de cinco voltios. Esto permite trabajar con una señal análoga con un mayor rango de

operación que además es un buen rango de funcionamiento.

Es importante notar que el robot tiene limitantes físicas con respecto a la temperatura que

puede soportar, es decir, una temperatura por debajo de cero puede provocar fallas en las

manos ya que puede obstruir el libre movimiento de los dedos. Por otro lado, la zona que

entra en contacto con los objetos esta hecha de caucho, lo que limita las altas temperaturas.

Por esta razón una zona de operación para la temperatura entre los 0 ºC y los 50 ºC es

suficiente para nosotros dadas las condiciones de el robot. Este dato al igual que los otros

es discretizado y normalizado en un rango de 0.0 a 5.0 para poder ser operado dentro de los

algoritmos.

El proceso de clasificación de las características de ancho y temperatura para los objetos,

son llevados a cabo por un simple algoritmo que contiene zonas de decisión difusas. En

otras palabras, comparando la magnitud del valor obtenido de cada característica, se analiza

si se encuentra en alguna de las dos zonas provistas para caracterizar estas dos propiedades

físicas de los objetos. Se puede ver en la Figura 11 la manera como se muestran estas

zonas cuyos limites fueron estipulados teniendo en cuenta eventos equiprobables para estos

valores.

Figura 11. zonas de decisión difusas para temperatura y ancho. El eje vertical corresponde

a la respuesta y el horizontal al valor de la entrada

Page 38: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

Como se puede apreciar en la figura, existen dos zonas que dependen del valor de la señal

discretizada y normalizada de los sensores. En caso que el valor pertenezca a la primera

zona, será caracterizado como delgado, para el caso del ancho, o frío, para el caso de la

temperatura. Si se encuentra en la zona final, será caracterizado como ancho, para el primer

caso, o caliente para el segundo. Sin embargo existe una zona intermedia donde las zonas

se cruzan y el robot decidirá que el objeto no es muy ancho ni muy delgado, o para el caso

de la temperatura, que el objeto no es muy frío ni muy caliente, es decir que esta en una

temperatura media (Ver Figura 11).

La información proveniente del resultado de este sencillo algoritmo de comparación de

magnitudes, es almacenado en cuatro bits, dos que corresponden a las características

referentes al ancho y dos que corresponden a la temperatura. Cada bit representa, para el

caso de la temperatura, la condición fría y caliente, es decir si están ambas activadas

significará que el objeto esta en la zona intermedia de temperatura.

Page 39: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

7 MONTAJE ELECTRÓNICO

El área correspondiente al montaje electrónico incluye también la elección de los

dispositivos a utilizar, así mismo como las técnicas para llevar a cabo la operación de los

algoritmos en los dispositivos. A pesar que esta es la última etapa de desarrollo, en la cual

se utiliza el montaje mecánico, los programas con la información necesaria para llevar a

cabo los distintos algoritmos, fue necesario colocar restricciones eléctricas y físicas al

montaje.

La primera limitante existente es la alimentación, sabíamos de antemano que solo

contábamos con una alimentación de 5.0 voltios para los circuitos, es decir no contábamos

con fuente negativas y esto obligaba a usar únicamente cierto tipo de dispositivos

comerciales. Entre los requerimientos para todo el proceso, existía una etapa de tratamiento

de señales análogas, que debían ser convertidas en señales digitales para su tratamiento en

algoritmos matemáticos complejos. Por otro lado necesitábamos memoria para poder

almacenar la información que se obtenía del objeto sensado, además de la memoria

necesaria para guardar la información de los objetos conocidos. Finalmente necesitábamos

alguna clase de unidad matemática o procesador que se encargara de realizar operaciones,

comparaciones y demás partes de los distintos algoritmos. Debido a todas estas razones, se

busco en primera instancia las alternativas que se encontraban disponibles.

7.1 MÓDULO CENTRAL

Page 40: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

Era predecible que el robot necesitaría de un “cerebro” que manejara y administrara los

distintos algoritmos ya descritos. Para este fin se evaluaron varias alternativas que

contemplaban distintos dispositivos de distintas familias. El primero dispositivo que se

observó fue un DSP de la Texas Instrument3, se evaluó esta alternativa debido que los

DSP’s cuentan con una gran velocidad para llevar a cabo operaciones matemáticas

complejas. En este mismo nivel se evaluó un DSP de la familia MOTOROLA4 que contaba

con menos capacidad que su contraparte de la TI.

Desafortunadamente para el diseño, los DSP’s fueron evaluados con los procesadores de 8

bits, esto hacía que se dificultara el trabajo y que las ventajas que estos ofrecían en

velocidad frente a otro tipo de procesadores disminuyera considerablemente. Otro punto

desfavorable para estos dispositivos es su montaje físico, ya que están dispuestos en tarjetas

de desarrollo que sobrepasan el espacio interno del robot destinado para los circuitos.

Se analizaron también otras dos alternativas que comprenden un microprocesador de la

familia MOTOROLA, y un PIC de la familia Microchip5. El primero de ellos, un

procesador de bajo costo, arquitectura SISC de 8 bit. El segundo un procesador con

arquitectura RISC de 8 bit. A pesar de las ventajas que ofrece la primera arquitectura, el

segundo microprocesador contaba con un conversor análogo digital con ocho líneas de

entrada multiplexadas, con un grado de operación de 10 bit para la conversión, 8K de

memoria Flash para el programa, una velocidad de operación de 20Mhz y una condición

que lo hizo el elegido, la capacidad para sobrescribir su programa en modo operación.

Estas facultades hicieron que el dispositivo elegido para ser el cerebro de el robot fuera el

PIC16F877 de la familia Microchip. Se determinó que se utilizaría aproximadamente 4K de

la memoria Flash del dispositivo para operar los algoritmos y la otra mitad de la memoria

sería destinada para el almacenamiento de la información de los objetos ya conocidos. El

tiempo de operación del dispositivo no debería ser muy alto ya que a partir de una orden 3 T.I. Texas Instrument.®. 4 MOTOROLA. Marca Registrada MOTOROLA Porducts. 5 Microchip, perteneciente a Microchip Products.

Page 41: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

para reconocer, el cerebro debería dar el número del objeto en menos de un par de

segundos.

Se utilizó el conversor análogo digital del dispositivo para realizar la conversión de los

dieciséis datos provenientes de los sensores, y por medio de una sencilla operación

matemática eran normalizados de 0.0 a 5.0. Por otra parte, era necesario estandarizar el tipo

de datos que se iban a utilizar en el dispositivo. A pesar que este es un procesador de 8 bit,

se utilizó un formato de 24 bit para flotantes que permite trabajar con una gran autonomía

los algoritmos propuestos a nivel software y que además dan una gran precisión hasta

aproximadamente el cuarto decimal en todas las operaciones, comparándolo con los valores

resultantes en un computador con procesador Pentium III.

Para poder utilizar este formato de números, fue necesario la inclusión de una librería con

operaciones matemáticas básicas para estos números. Parte de esta librería puede ser vista y

obtenida de manera gratuita en el portal de la empresa productora del dispositivo. Ahora

que se contaba con una limitante en el número de instrucciones disponibles para ejecutar

los algoritmos, se decidió que todo el código sería trabajado en lenguaje Assembler, que

permite tener un control total de los recursos del dispositivo, así como del uso de la

memoria RAM del mismo. Por esta razón, fue necesario rescribir parte de la librería que se

encontraba en lenguaje C, para poder tener una completa librería para flotantes de 24 bit en

código Assembler. El resultado de este proceso se encuentra en aproximadamente 1.500

operaciones que permiten sumar, restar, multiplicar, dividir y comparar magnitudes de dos

números flotantes, así mismo se realizó una operación matemática compleja necesaria en

las redes neuronales, la exponencial.

El formato de 24 bit esta representado en dos partes, la primera de ellas consiste en un

exponente de dos que permite saber la potencia a la que es elevado el número de la base. La

base es un conjunto de potencias negativas de dos que da como resultado un número entre

1.0 y 2.0 para representar todos los números en un rango muy amplio. Para un mejor

tratamiento de este formato, se desarrollaron dos pequeños programas en C que permiten

Page 42: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

pasar del formato binario de 24 bit para flotantes a un número decimal y viceversa. El

número en esta representación incluye además su signo, lo que lo hace útil para nuestras

operaciones.

7.2 FORMATO DE 24 BIT PARA FLOTANTES

El formato de 24 bit que se utilizó es planteado por un grupo de desarrollo de programas en

PIC´s de la misma compañía que los produce. El formato de la IEEE de 32 bit para

flotantes es muy efectivo pero debido a su tamaño, el procesamiento requerido para una

simple operación es mucho más complejo que el de 24. Por otro lado, el formato de 24 bit

da una aproximación idéntica hasta el cuarto decimal del número y esto asegura un buen

manejo de los datos sin tener una pérdida significativa de información. Estos dos formatos

son compatibles y en caso de ser necesario se podría pasar de un formato al otro con la

misma librería implementada.

Figura 12. formato decimal de 24 bits.

Para describir un poco el formato, se expondrá un ejemplo de una de las constantes

utilizadas en el programa. El número de 24 bit está repartido en una palabra de 8 bit que

representa la potencia de dos a la que debe ser elevada la base del número. Esta potencia

esta referencia con el número 7Fh, es decir si el exponente es 80h, la base será multiplicada

por dos a la 80h – 7Fh, es decir por dos a la uno. La base del número está representada con

las potencias negativas de dos. Esta base comprende dos palabras de 8 bit, en total, desde la

Page 43: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

potencia -1, hasta la potencia -15 de dos. El primer bit de la base representa el signo del

número.

Analicemos el número 844910h que se encuentra en formato de 24 bit. El exponente del

número corresponde al número 84h. Este número debe ser restado con el número 7Fh para

ver la potencia del número. El resultado es 5, es decir la base del número será multiplicada

por dos a la cinco, 32. La base del número corresponde a 4910h y representa las potencias

negativas de dos. En este caso, (Ver Figura 12), las potencias negativas de dos que son

activadas son: -1,-4,-7 y -11. Por condición del formato, siempre se suma uno al resultado

de la base, es decir la menor base es uno y la mayor es aproximadamente dos.

El resultado de la base corresponde a la suma de estas potencias de dos, dando un resultado

de 1.57080078125 en decimal. Este número multiplicado por dos elevado a la cinco da el

resultado final que corresponde a 50.265625 en decimal. (Ver Figura 13).

Figura 13. ejemplo de traducción del formato decimal de 24 bits al número decimal.

Page 44: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

7.3 EL ALGORITMO PRINCIPAL

A pesar que el proceso fue distribuido en pequeñas rutinas, capaces de operar de manera

independiente pero que cuentan con un formato de comunicación establecido, existe un

gran algoritmo que comprende a los demás y que determina el flujo de datos y control del

robot. Este algoritmo trató de diseñarse de la manera más sencilla para facilitar el acople de

las distintas rutinas, simplificando el trabajo de unión y pruebas. Por último es importante

tener en cuenta que el robot puede operar en varios modos, uno de las cuales está a cargo

de este algoritmo y comprende la función de reconocimiento (Ver Figura 14).

Figura 14. modos de operación del robot.

La secuencia para el reconocimiento de un objeto está dividida en varias partes. Inicia con

un proceso de espera a una señal de activación, operada por el usuario desde el teclado, que

inicia la conversión análoga digital de los dieciséis datos provenientes de los sensores.

Estos dieciséis datos están representados en cinco sensores en cada mano, tres

Page 45: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

fotoresistores, un sensor de temperatura y dos resistencias variables que determinan el

ancho (Ver Figura 15).

Figura 15. flujo de control para el modo de reconocimiento.

El proceso de reconocimiento avanza con el uso de una red neuronal para el reconocimiento

de la forma bidimensional del objeto. La primera operación de esta se realiza con los datos

normalizados provenientes de la mano izquierda, y posterior a esto se alimenta de nuevo

esta red con los datos de la mano derecha. Cuando este resultado está completo, se procede

Page 46: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

a la utilización de los datos cromáticos. Estos tres datos son comparados y son clasificados

en un espacio vectorial definido, para determinar cuales son los colores más representativos

del objeto.

Posterior a este proceso se realiza la comparación de magnitudes para los datos de

temperatura y ancho en espacios difusos. Con estos dos últimos procesos terminados, se

tiene un vector de veintiocho bits con la información del objeto. Esta información es

comparada con la información almacenada en la base de datos de objetos del robot, con

una proporción del 96.5% de parentesco para identificar el objeto actual como uno ya

conocido.

Este porcentaje se deduce de la relación de un bit distinto de los veintiocho que componen

el vector de información. Es decir, si dos objetos comparten veintisiete o más bits iguales

del vector, se consideran objetos iguales. Este porcentaje se consideró necesario debido a

los cambios que se pueden presentar en las mediciones del objeto, cambios debido a

luminosidad, temperatura ambiente, etc.

Finalmente si no se encuentra un objeto que cumpla con las características antes

mencionadas, se concluye que el objeto es desconocido y su información se almacena en el

primer campo de la base de datos vacío. Esta información es almacenada de forma

permanente y se le informa al usuario que el objeto ha sido catalogado como nuevo,

informándole además el número que le fue asignado dentro de la base de datos. En caso que

el espacio de memoria de la base de datos haya terminado, el objeto no es almacenado y se

muestra el número de objeto FFFh.

El procesamiento de los datos se realiza en varias etapas que comprenden desde la

obtención de una señal mecánica o física, hasta el resultado que es visible para el usuario y

la información almacenada que es invisible para este mismo, pero que puede ser obtenida

leyendo la información contenida en la memoria del dispositivo.

Page 47: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

El primer paso en el procesamiento de los datos consiste en la transformación de señales

mecánicas y físicas, como lo son desplazamiento, intensidad de la luz y temperatura, en

señales eléctricas. Cumplida esta etapa, que es explicada con mayor detalle en cada uno de

los sensores, se procede a una conversión análoga digital. La conversión se realiza por

medio de un ADC incorporado en el microprocesador utilizado, que cuenta con un reloj de

20 MHz, y una característica de conversión de diez bits para voltajes que oscilan entre la

alimentación del dispositivo (5V) y la referencia (Gnd). El ADC del dispositivo cuenta con

ocho entradas análogas y un único conversor para estas ocho líneas, por lo que cuenta con

un multiplexor interno para seleccionar cada línea. Este proceso se lleva de forma iterativa

convirtiendo las cinco entradas provenientes de la mano izquierda y las tres

correspondientes a los fotoresistores en la primera ronda de conversión.

Como el robot cuenta con dieciséis señales provenientes de los sensores, se realiza una

segunda ronda de lectura. Estas rondas se diferencian utilizando multiplexores análogos

externos al microprocesador, que son manejados por una señal de salida de este último. La

segunda ronda está compuesta por la lectura de los cinco sensores provenientes de la mano

derecha, los dos sensores que miden el ancho y la señal correspondiente a la temperatura.

A medida que cada dato es convertido a un valor digital, este es considerado un entero de

16 bits (añadiendo los cinco bits más significativos como ceros), y es convertido a un

número decimal en formato de 24 bits, que es el utilizado en nuestro algoritmo gracias a la

librería de operaciones de flotantes de 24 bits. Ya en este formato, el número que oscila

entre un valor de 0 y 1028, es normalizado en valores entre cero y cinco para mantener una

hegemonía entre el valor obtenido por el sensor y el dato a procesar.

Posterior a esta normalización, los dieciséis datos son almacenados en la memoria RAM del

microprocesador para ser utilizados en los distintos algoritmos de comparación y

reconocimiento. El resultado de estos procesos de reconocimiento es almacenado en una

memoria tipo FLASH, también interna del microprocesador, para hacer parte de la base de

datos de objetos del robot. Este último resultado es invisible para el usuario quien

Page 48: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

desconoce las características asignadas al objeto, pero si es conocido el número del campo

de ese objeto, es decir el número con el cual se asocia ese tipo de objetos en la base de

datos. Este dato se encuentra en un formato tipo vector de 28 bits. Finalmente el dato

mostrado al usuario es un número hexa que corresponde al número del objeto dentro de la

base de datos (Ver Figura 16)..

Figura 16. flujo de datos del modo de reconocimiento.

Si por ejemplo el objeto a reconocer es una pelota de ocho centímetros de diámetro, de

color rojo, las posibles características asociadas al objeto serán: para la mano derecha un

objeto cóncavo, para la mano izquierda un objeto cóncavo, en cromas un objeto rojo, en

anchura un objeto ancho y en temperatura un objeto tibio. Esto se puede ver representado

Page 49: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

en el formato de 28 bits que está dividido en dos palabras de ocho bits y dos palabras de

seis bits (Ver Figura 17).

Figura 17. formato de 28 bits para representación de un objeto.

La primera palabra del formato la conforma la palabra de seis bits correspondiente a los

seis primero cromas. Esta palabra se denomina OBJ0. La segunda palabra del formato está

constituida por la información de la forma bidimensional de la mano izquierda, a este

palabra se le llama OBJ1. La palabra OBJ2 corresponde a otra palabra de seis bits que

contiene los colores blanco y negro, y los datos de anchura y temperatura. Por último la

palabra OBJ3 corresponde a la información de forma bidimensional, proveniente de la

mano derecha del robot.

Para el caso de la pelota roja tendríamos una información como la siguiente: OBJ0 = 04h,

OBJ1 = 10h, OBJ2 = 0Bh y OBJ3 = 10h. Es decir se tendría una forma bidimensional

cóncava para cada mano, un color rojo, una temperatura media y el objeto sería ancho. En

resumen, cada bit del vector de 28 bits corresponde a una característica específica y al

momento de una comparación, todas las características son equivalentes en importancia.

Page 50: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

8 APLICACIONES

Un producto no tiene ninguna razón de ser, sino está encaminado a la utilización posterior

en el mercado, es decir, toda investigación debe estar referenciada a un desarrollo posible

para algún área del mercado donde pueda generar beneficios. A priori es a veces difícil

saber con certeza en que circunstancias puede ser o no utilizado un producto, sobre todo

cuando este se encuentra en un estado de desarrollo e investigación, sin embargo es posible

describir algunos escenarios donde la nueva alternativa pueda contribuir con avances.

8.1 CAMPOS DE ACCIÓN EN EL MERCADO

Un sistema con capacidad para identificar algunas características físicas de cualquier

objeto, teniendo en cuenta las limitaciones físicas del mismo, tiene un sin número de

posibles aplicaciones, tanto en el mercado, como en situaciones de la vida cotidiana. Pero

es en áreas laborales donde es posible encontrar un mejor uso de estos servicios, que de

pronto por su tamaño y forma de operación, esté un poco más limitado en oficios no

empresariales.

Un primer aspecto que es importante recalcar, es el precio de fabricación de este

dispositivo. Para el prototipo, que se presenta junto con este documento, no se ha invertido

una gran cantidad de dinero, sin embargo si ha tenido un costo importante en horas hombre,

no de producción, sino en diseño, tanto física, mecánica, estética y electrónica. Para esto es

Page 51: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

necesario ver el cronograma trazado en un principio y ver como fue el desarrollo completo

del sistema.

Este cronograma tiene una duración completa de 144 días hábiles que fueron repartidos en

tres grandes bloques. Estos bloques, que son básicamente las mismas tres áreas de

desarrollo definidas en este trabajo. El primer bloque de trabajo lo compone el diseño

mecánico del dispositivo, es decir, el movimiento de brazos, el diseño de los sensores, los

materiales elegidos para la fabricación, etc. Para esto se definió un periodo aproximado de

44 días hábiles, que está comprendida desde la última semana de abril, hasta la última

semana del mes de junio. El segundo bloque está constituido por el diseño de algoritmos y

secuencias de aprendizaje, así mismo como la programación necesaria. Este bloque fue

desarrollado en 67 días hábiles, cuya dependencia del primer bloque es inminente, debido a

la necesidad de conocer los sensores físicos para realizar simulaciones.

Finalmente el último bloque lo constituye el acople de algoritmos con una implementación

física y su posterior unión con las partes mecánicas del dispositivo. Este proceso, que

cuenta con una duración de 43 días hábiles, tuvo una terminación el día 27 de Noviembre,

día en el cual se dio el visto bueno al prototipo. En total, un periodo que va desde la última

semana de marzo, hasta la última semana de Noviembre, es decir, un desarrollo completo

de siete meses.

El tiempo para este desarrollo puede considerarse un poco extenso, sin embargo hay que

tener en cuenta que no todo esto fue desarrollado por un sola persona, lo que claramente

aumento el tiempo de investigación y desarrollo. Pasado este proceso, y contando con un

grupo de tres personas, es posible llegar a un producto final en menos de tres meses. Es

decir, es un producto que podría ser producido en poco tiempo, un dato favorable para el

ingreso en la industria.

Un punto importante en este punto, es definir un plazo de tiempo razonable en el cual el

dispositivo debe conocer el tipo de objetos con los que va a interactuar, sea cual fuere su

Page 52: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

función específica en la industria. Es decir, si el dispositivo se encargara de seleccionar

entre distintas producciones de cristalería, es necesario que el robot conozca primero los

objetos para que realice mejor su trabajo. Debido que dos robot no van a presentar un

mismo comportamiento debido a la estructura evolutiva y adaptativa de su algoritmo. Es

necesario ser muy selectivo a l momento de un entrenamiento para un fin particular.

El tiempo para que el robot genere una base de datos de objetos conocidos apropiada para

la función a realizar, es realmente corto y puede darse en pocas horas si los objetos

seleccionados para este aprendizaje son los mejores. Si la función del robot es de nuevo,

reconocer distintos tipos de copas de cristal, la primera copa de cristal que se le muestre

debe contar con las mejores característica de la producción.

Teniendo esto en cuenta, sabiendo que el tiempo de fabricación en cadena no es crítico, por

la sencillez de los modelos mecánicos y eléctricos, que su precio no es alto y su flexibilidad

para ser utilizado en distintos mercados, este dispositivo ofrece una gama de posibilidades

de uso, de las cuales se pueden destacar tres. La primera, orientada a un uso familiar, es su

utilización en el mercado de los juguetes. Un dispositivo que es capaz de aprender objetos y

asociarlos con objetos similares, es un dispositivo perfecto para una interacción entre el

niño y el juguete que permite guiar procesos de aprendizaje en formas básicas para las

primeras etapas de desarrollo motriz, o para crear inquietudes a una edad mayor. Para este

campo es necesario un proceso de reingeniería para adaptar el dispositivo a un modelo más

seguro que no vaya a generar problemas de protección para los menores. Además una

reestructuración de la forma como muestra la información al usuario, ya que debe contar

con un modelos más didáctico, como una pequeña imagen del objeto reconocido.

Un segundo campo, cuya importancia puede llegar a ser mayor, lo constituye el uso del

dispositivo para procesos de control de calidad y diferenciación de productos. Este campo,

muy encaminado al uso continuo del proceso de reconocimiento como un acto repetitivo,

puede aminorar el costo en procesos en los que se requiera un reconocimiento de patrones,

sin el uso de un sistema de video o de tratamiento de imágenes, que en muchos casos exige

Page 53: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

un computador para la realización de cálculos. Esta exigencia puede ser un factor

importante para la no utilización de un sistema automático para procesos de diferenciación

o control, que puede ser resulta con la portabilidad de nuestro dispositivo.

8.1.1 Utilización en la industria. Las características de portabilidad, adaptabilidad y

sencillez de este dispositivo, le dan una oportunidad para su inclusión en la industria. Un

algoritmo que es capaz de diferenciar más de mil tipos de objetos distintos, con posibilidad

de extensión hasta más de dos mil, con un bajo consumo de energía y la independencia de

su lugar de trabajo, son características generosas de este robot.

Dos procesos claramente definidos pueden ser las aplicaciones más claras en la industria

para este producto, la primera de ellas la diferenciación de productos. En muchos casos un

mismo sistema se encarga de la producción de distintas líneas de productos, incluso en

muchas fábricas se obtienen distintas piezas en una misma línea de producción. Para la

separación de estas piezas, o productos, es necesario tener un medio para diferenciarlas y

clasificarlas. En un gran número de fábricas este trabajo se realiza de forma manual donde

un error puede causar grandes pérdidas a una empresa. Solo imaginemos un modelo de silla

para armar en casa cuyas partes han sido colocadas de forma errada y en vez de el brazo

derecho de la silla, tenemos otro espaldar. El costo de cambio del producto es grande, más

si se tiene en cuenta que este error puede producirse en varias ocasiones.

Si por el contrario se ajusta el dispositivo a ese tipo particular de objetos o piezas, es

posible conseguir un sistema capaz de clasificar las partes de una manera confiable y

rápida, o por lo menos mejorando un poco la velocidad normal de una persona, sobre todo

teniendo en cuenta que las labores repetitivas por espacios prolongados de tiempo

realizadas por humanos suelen incrementar el número de errores.

Para este tipo de trabajo, sería necesario determinar que características medibles por el

robot tienen importancia y cuales no. Retomando el ejemplo de la silla plegable, la

Page 54: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

temperatura de las piezas puede no ser de importancia, sin embargo la forma bidimensional,

o el ancho de la pieza son características fundamentales. Para estos casos, la modificación

de la lectura de los datos sería el único cambio necesario. Si por otra parte se requiere

cambios más profundos, se puede dar más importancia a algunos aspectos del objeto que a

otros, por ejemplo la forma.

El otro proceso en la industria que puede ser un candidato para el uso del dispositivo es el

control de calidad. El control de calidad, que puede estar muy ligado al proceso anterior, es

la diferenciación entre un objeto con las características mínimas necesarias y uno que no las

cumple. Para esto, un sistema de reconocimiento de patrones físicos puede ser la solución

en muchos campos de fabricación. Si se tiene una fábrica de engranes, se requiere un buen

sistema para el control de calidad que verifique cada engrane y determine si cumple con las

características necesarias. Para un caso como este, la medición de forma podría ser una

solución viable.

Al igual que en la diferenciación de objetos, es posible que sea necesario la inclusión de

nuevas mediciones, por ejemplo cambiar la medida de temperatura por una medición de

resistencia eléctrica, y cambiando las constantes de reconocimiento, o dando más

importancia a algunas mediciones, como el ancho, que a otras, los colores.

Para el control de calidad, es necesario que el primer proceso de aprendizaje, es decir,

reconocer un objeto en buenas condiciones y conocer varios objetos que presenten fallas de

algún tipo, sea riguroso, para que el proceso de control de calidad dé los mejores frutos. En

caso de un entrenamiento pobre o apresurado, es posible que el robot no logre distinguir

entre un objeto defectuoso, de uno que cumpla con las exigencias de producción de la

fábrica.

8.1.2 Utilización en exploración. Existen un sin número de casos en los que es

necesario realizar la inspección de un espacio determinado, pero esta inspección se ve

Page 55: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

limitada debido al difícil acceso, o a las condiciones ambientales del medio, presión,

humedad, ausencia de oxígeno, etc. Para estos casos el dispositivo puede llegar a ser

utilizado.

Uno de los objetivos trazados al inicio de este trabajo, era el construir un dispositivo capaz

de llevar a cabo un proceso de reconocimiento y aprendizaje de objetos. Para este fin, se

apartó un poco el concepto de un tipo de objetos específicos, es decir, se trató de

generalizar la mayor cantidad de objetos sin basarse en un caso específico. Por esta razón,

se cuenta no solo con variadas formas y colores bases, sino con la medición de varios

patrones físicos como lo es la temperatura. La idea de generalizar el aprendizaje de objetos,

sin sesgar las características o tipos de objetos reconocibles, se debió a la necesidad de

tener un dispositivo que no solo fuera previsto para la industria, sino que por el contrario

aportara significativamente en el estudio de algoritmos de aprendizaje evolutivo.

Aprovechando esta característica que nos permite la interacción con distintos y diversos

objetos, que cumplan con un tamaño y temperatura adecuada para poder ser manipulados

por el robot, se promueve el uso de este último en la exploración. Teniendo en cuenta que

existen lugares en los cuales el ingreso de personas puede ser peligroso, o incluso casi

imposible, un sistema de reconocimiento y aprendizaje diseñado para ser un dispositivo

móvil puede ser una solución interesante.

A pesar que en las condiciones actuales, la información presentada por el robot no refiere a

las características del objeto, sino su posición en la base de datos, es posible conocer la

información de los distintos objetos conocidos, por medio de una comunicación serial de

lectura del microprocesador, claro está, con un circuito adecuado.

Esta información puede ser almacenada para conocer el tipo de objetos y elementos

presentes en el medio no conocido y así tomar decisiones que sería imposible tomar sin esa

información. Para este propósito es posible que se cambien algunas lecturas por otras, por

Page 56: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

ejemplo cambiar el sensor de temperatura por un analizador de niveles de oxígeno o de

gases tóxicos.

Todas estas razones, sumadas al hecho que su batería es capaz de mantener un

funcionamiento permanente por veinte horas, hacen del robot un posible candidato para

estas tareas de exploración, y que aprovechan al máximo las características de generalidad

y flexibilidad en el aprendizaje de objetos del robot.

8.1.3 Utilización familiar o casera. En este campo se puede asociar todo uso del

dispositivo que no sea incluido como industrial o de exploración, sin embargo se enfoca

principalmente con dos alternativas. En la creciente industria de la juguetería, se han venido

desarrollando juguetes con capacidad de aprendizaje e interrelación con el usuario, en

muchos casos, el infante. Este dispositivo posee estas características que le permitirían

competir con otros productos, y que por su sencillez en la fabricación entraría en la gama

de juguetes interactivos de un costo alto moderado. Bastaría un proceso de rediseño, para

lograr una interfaz correcta como juguete, es decir, una salida visual del objeto, y por

supuesto, desarrollar un mecanismo seguro para los niños que no comprometa la seguridad

del mismo.

En la actualidad, el dispositivo ya cuenta con características, como una batería recargable,

con una duración significativa, para ser considerado apropiado en el mundo de los juguetes,

además de vistosos colores, una forma particular apreciable, recordando una araña o un

cangrejo.

Por otro lado, este juguete podría ser utilizado no solo en la diversión de los niños, sino

como instrumento de aprendizaje para algunas clases de discapacitados. Si se tiene el caso

de un niño que ha quedado ciego, este necesitará un periodo en el cual aprenda a reconocer

los objetos con las manos, el olfato y los otros sentidos para reemplazar su vista. Este

dispositivo podría sugerirse como un tutor didáctico, con el cual el niño va aprendiendo a

Page 57: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

palpar objetos y puede comparar sus apreciaciones con el resultado obtenido con el robot.

Con este simple proceso, el niño va mejorando su capacidad táctil y podrá tener un tutor al

momento que el lo requiera y no cuando una persona sin limitaciones esté disponible.

Para este último uso, es necesario que la respuesta originada por el dispositivo sea sonora o

pueda ser interpretada por un niño discapacitado, así mismo como un control remoto

especialmente diseñado para permitir una utilización segura.

Page 58: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

9 RESULTADOS

Después de un periodo pertinente de pruebas se debe llegar a una serie de resultados,

esperados o no, que permiten determinar las características de un dispositivo o producto

para su posterior caracterización en uso, es decir, conocer las limitaciones del producto a la

hora de sacarlo al mercado. Así mismo es importante conocer los avances que ha traído

consigo el dispositivo, producto de la investigación realizada para llegar a este.

9.1 AVANCES EN MATERIA DE RECONOCIMIENTO

Al momento de plantear las características del dispositivo se conocía la existencia de

dispositivos capaces de reconocer formas y características de distintas clases de objetos. La

mayoría de estos dispositivos poseían una sistema de captura de imágenes que utilizaban

para la adquisición de información del objeto. Con el tiempo estos dispositivos se han

vuelto más complejos y comerciales, pero han limitado un poco su utilización por su misma

naturaleza, es decir, es necesario tener una cámara fotográfica o de video para su

funcionamiento.

Para este caso, se propuso un sistema capaz de reconocer las características físicas más

comunes en los sistemas de reconocimiento, pero que no tuviera la dependencia de un

sistema de captura de imágenes. Con este objetivo claro, se diseño un sistema de dedos

retráctil acoplado en un montaje al que se le llamó “mano”, que era capaz de transformar

una forma física en señales eléctricas. Este primer avance marcó con mucha determinación

el producto final que se obtuvo. Este diseño contó con asesoramiento de profesionales y

Page 59: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

estudiantes en áreas como la ingeniería electrónica y diseño industrial, para lograr un

funcionamiento adecuado.

Gracias a este pulcro diseño de la “mano”, se logró un muy buen resultado en el

reconocimiento de formas bidimensionales, siendo el proceso de reconocimiento más veraz

de los realizados por el dispositivo. Sin embargo no solo se debe tener en cuenta el diseño

físico sino la matemática y los algoritmos que hay detrás de este reconocimiento para poder

entender el éxito de este proceso. Por un lado, se determinó prudente la posibilidad de tener

múltiples respuestas para la descripción de una forma bidimensional, es decir, no se quiere

encasillar a la fuerza una superficie a una figura, sino por el contrario poder describir esa

superficie como un conjunto de formas básicas, determinando cuales de las formas básicas

se aproximan mejor a la superficie en medición.

Por otro lado, un riguroso entrenamiento de redes neuronales, buscando entre distintas

dimensiones de las redes, para ver su comportamiento y así poder determinar la mejor

arquitectura. Este proceso, fue uno de los más largos para poder asegurar que la

identificación de formas bidimensionales iba a ser exitosa.

9.1.1 Nuevos modelos para el reconocimiento de patrones. A pesar del éxito

obtenido con el reconocimiento de formas, no se puede olvidar otros avances significativos

durante todo el proceso de investigación. Por un lado, se logró demostrar que procesos

sencillos de comparación, como lo son regiones vectoriales ene dimensionales, se podía

obtener una respuesta rápida para tediosos procesos de reconocimiento. La utilización de

lógica difusa para determinar niveles de respuesta fue clave para una compresión de la

información y una representación clara de las características como el ocurrido con la

temperatura. Para este caso, se decía que el objeto era tanto frío como caliente, para decir

que tenía una temperatura media, es decir tibio. En la naturaleza humana, el tibio es un

término tan poco claro, que es necesario decir que no es del todo frío ni del todo caliente

para describirlo, así no solo se comprimió la información de tres niveles de respuesta en dos

Page 60: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

bits de información, sino que se logró una aproximación significativa a la manera como se

evalúan las características en casos de la vida cotidiana.

En general, todos los procesos de reconocimiento involucrados con este dispositivo son de

carácter difuso, es decir no se limita una característica a ser encasillada como una única

respuesta sino que se da lugar a intersecciones entre las posibles respuestas para describir

con una mejor proporción a la característica medida. Al igual como pasa con el tibio, el

medio ancho o simplemente la diferenciación entre el naranja y el amarillo, o el vertical y

el curvo se vuelve un juego de posibilidades de intersecciones de respuestas posibles.

Para describir un poco todo este sistema, se podría decir que se quería un acercamiento con

la forma de clasificar los objetos utilizada por el común de las personas. Al introducir una

copa de cristal utilizada para servir Margaritas, un compañero la identificó por medio de

figuras básicas como rectas, curvas, diagonales y cambios bruscos, así mismo identifico el

color de la copa entre un verde y un amarillo y digo que la copa era ancha a comparación

de otros tipos de copas, en general, este mismo sistema es utilizado en el dispositivo,

agregando que la copa no era tan caliente ni tan fría.

9.2 IMPLEMENTACIÓN DE UNA RED NEURONAL EN UN

DISPOSITIVO MÓVIL

Las redes neuronales han sido utilizadas cada vez con más frecuencia en muchos procesos,

reconocimiento de patrones, realización de predicciones financieras, entre otras. Todos

estos procesos, son llevados a cabo por medio de complejos algoritmos basados en redes

neuronales, acompañados de bancos de información almacenados en distintos medios. A

Page 61: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

pesar de la gran variedad de utilidades de las redes neuronales, casi en su mayoría se

encuentran implementadas en computadores.

A través de los años se ha querido llegar a la implementación de redes neuronales en

dispositivos móviles para distintas necesidades del mercado, saliéndose un poco de la

necesidad de un computador para ello. Por un lado, el procesamiento digital, casi obligado

en la redes neuronales actuales, ha impedido la migración de estos algoritmos a dispositivos

de otras características. Una alternativa clara a este inconveniente, es el uso de lenguajes de

alta descripción para su posterior implementación en FPGA`s y otros dispositivos de

arreglos programables. Desde hace más de un año, junto con mi compañero Alvaro Varela,

hemos trabajo en la implementación de una Neurona Digital implementada en una FPGA

por medio de una descripción en VHDL. Partiendo del mismo gusto por las redes

neuronales, mi compañero se dedicó al mejoramiento de la neurona y a una posterior

utilización recurrente de la misma para conformar una red neuronal completa. Esta

implementación, mejora el tiempo de respuesta de una neurona, pero pierde velocidad al ser

utilizada la misma neurona para simular toda la red. Esta arquitectura es bastante compleja

y útil en casos en los cuales sea necesaria una reducción de componentes. Sin embargo la

respuesta en tiempo podría mejorarse si se utilizaran varias FPGA’s para crear una red sin

neuronas recurrentes.

Conociendo un poco todo este trabajo anteriormente realizado y que se continúa realizando,

se definió desde un principio que para el desarrollo de un sistema capaz de realizar el

reconocimiento de varias características de un mismo objeto, y que por tanto utilizaría más

de una red neuronal, se descartó de inmediato el uso de FPGA´s para su implementación.

Establecido esto, se buscaron otras alternativas de las cuales la más interesante fue la

utilización de un PIC de la familia Microchip con suficiente capacidad para albergar no

solo las redes, sino la base de datos necesaria. La arquitectura funcional de la red neuronal

implementada en el PIC posee características similares a las establecidas para el trabajo

original en VHDL. Se describió una neurona sin importar su ubicación dentro de la red

Page 62: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

neuronal, y se establecieron algunos registros exclusivos para las entradas a la neurona y

otros para la salida generada por esta. Teniendo comprobada la funcionalidad de la

neurona, se realizó un proceso de Copia y Pegado para armar la arquitectura de la red

deseada. Al final de cada capa de neuronas, fue necesaria la inclusión de un proceso de

movimiento de información a través de los registros de salidas y entradas para así habilitar

la segunda capa de neuronas.

Toda la descripción de la red neuronal se realizo en lenguaje Assembler de Microchip y

ocupa para una red de cinco neuronas de entrada y ocho de salida, aproximadamente mil

instrucciones, sin incluir la librería matemática encargada de realizar operaciones como

suma, resta, multiplicación, división y exponencial de decimales. Finalmente se realiza una

comparación de magnitudes con el umbral establecido para las respuesta de la red, que se

encuentra descrito en menos de cincuenta instrucciones. Este proceso de instanciación

convierte la red neuronal del dispositivo, en una red iterativa, en otras palabras no hay

procesamiento paralelo de datos en neuronas de la misma capa.

9.2.1 Tiempos de respuesta. A pesar de la iteratividad de los procesos de comparación,

como en las redes neuronales, y así mismo en el proceso de búsqueda de objetos conocidos,

el sistema responde en un tiempo más que suficiente. Se tiene un cristal de veinte MHz

para el procesador (PIC16F877), haciendo de cada instrucción un retardo de 200

nanosegundos, y sabiendo que la librería matemática cuenta con cinco operaciones básicas,

en promedio cada una de cien instrucciones, y una operación exponencial con más de mil

operaciones involucradas, sin contar las cerca de dos mil instrucciones adicionales

utilizadas para los algoritmos de reconocimiento, lectura y comparación. Además de esto,

para cada neurona se realizan seis multiplicaciones, cinco sumas, una resta, una división,

una exponencial y una comparación de magnitud, con todo esto, el dispositivo responde en

tiempo real. Para el momento en que se oprime y suelta el pulsador que determina el inicio

de la comparación, la operación ha finalizado y se tiene una respuesta visual por medio de

Page 63: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

cuatro displays siete segmentos y un led indicando el final de la operación. El tiempo

promedio de operación completa está por debajo de 500 milisegundos.

Entre los 500 milisegundos se incluye también la conversión análoga digital de todas las

señales, y la escritura en la base de datos de objetos en caso de ser un objeto nuevo. Es

decir, para el funcionamiento típico de este dispositivo, este tiempo de respuesta es lo

suficientemente bajo y pueda competir con otros sistemas de reconocimiento.

Este tiempo no incluye el movimiento de los brazos para hormar el objeto, ya que este

proceso se considera un modo de operación distinto, únicamente dependiente del tipo de

objeto y de la fuerza de los motores. Para el caso actual de poleas con reductores de fuerza

y motores DC trabajados a once Voltios en promedio, se tiene un tiempo aproximado de

tres segundos y medio para la horma del objeto. Aún así, este tiempo puede ser de mayor

tiempo si el objeto posee cambios bruscos que dificulten el movimiento de los dedos, en

algunos casos es necesario la un segundo proceso de cierre de brazos para obtener una

mejor horma, convirtiéndolo en un proceso más lento. Sin embargo, siendo un proceso

mecánico de cierre, se puede mejorar dependiendo de la naturaleza de los objetos a medir, y

se puede aumentar la relación de fuerza si los objetos no son frágiles, hay que recordar que

el prototipo puede hormar cristal y vasos de vidrio sin romperlos.

Page 64: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

10 CONCLUSIONES

La conclusión de este trabajo fue la creación de un prototipo, por medio del cual se pudo

comprobar la teoría expuesta en capítulos anteriores, así mismo, conocer un acercamiento

real del diseño en un producto final. Si bien es cierto que el prototipo no es, y no debe ser,

el modelo final para producción, si es un paso grande a la conclusión de este. Por esta

razón, la contribución que nos da el prototipo es un avance en la dirección correcta, para la

toma posterior de decisiones de ajuste al producto final. Tomando esto como un hecho, se

logra una serie de conclusiones.

10.1 HACIA UN RECONOCIMIENTO ADAPTATIVO

El reconocimiento adaptativo se puede definir, a partir de este trabajo, como un proceso

mediante el cual no solo se reconocen patrones físicos, mecánicos, eléctricos o de otra

índole, sino que se realiza un proceso de comparación de la información obtenida con

información de conocimiento previo para crear asociaciones.

La diferencia fundamental entre un proceso comparativo tradicional y el expuesto en este

trabajo se basa en la manera de representar la información, es decir por medio de zonas o

regiones de decisión no excluyentes unas con otras, para representar un sin número de

posibilidades. Para ver este concepto de una forma más clara supóngase el reconocimiento

de una forma bidimensional de un objeto cualquiera. Para el prototipo actual existen

definidas ocho formas básicas por medio de las cuales se puede representar la superficie

Page 65: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

lateral del objeto. Teniendo en cuenta que las ocho formas básicas son no excluyentes al

momento de una respuesta, es posible que la forma del objeto sea representada con una o

más formas básicas. A pesar del reducido número de formas básicas, es difícil determinar

las combinaciones posibles, incluso podría darse el caso de obtener las ocho formas básicas

como respuesta de una misma superficie lateral.

La formulación matemática de este cálculo es un poco compleja, sin embargo será

explicada. Teniendo en cuenta que la respuesta puede ser una, dos o hasta ocho formas, y se

deben calcular todas las posibles agrupaciones no ordenadas de la misma, es necesario

recrear el cálculo como una serie de subconjuntos no ordenados de un conjunto mayor.

Sumado a todo este resultado debe tenerse en cuenta el resultado nulo, es decir que el

dispositivo no asocie la superficie lateral del objeto a alguna forma básica. Se tendría

entonces la siguiente fórmula (Ver Figura 18).

Figura 18. fórmula de posibles respuestas para una superficie.

Se puede notar que el número de respuestas posibles coincide con la cantidad de números

representados con 8 bits. A pesar de esto es difícil suponer que se lleguen a dar las

condiciones para la aparición de las 256 posibles respuestas, por el contrario en la práctica

se han diferenciado más de quince respuestas típicas.

Sabiendo que existe la posibilidad de existencia de 256 posibles respuestas, permite que el

dispositivo tenga una amplia gama de descripción permitiendo una mejor caracterización de

una superficie cualquiera. Para el momento de la comparación de la información recién

obtenida con la información de la base de datos de objetos, se estipula un porcentaje

Page 66: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

permitido para considerarlos el mismo tipo de objetos. A este proceso se le pueden atribuir

características de adaptación, teniendo en cuenta que la base de datos de objetos va

creciendo y enriqueciéndose con la experiencia propia de cada dispositivo, en otras

palabras dos robots iguales no tendrán la misma capacidad de reconocimiento para el

mismo objeto, sino que esta capacidad estará determinada por la historia del robot.

10.2 POSIBLES MEJORAS AL DISEÑO

Es importante reconocer que el prototipo no tiene todas las cualidades que debe tener un

producto que sale al mercado, por ello, se deben recalcar algunas fallas típicas que sufre

durante su funcionamiento con el fin de ser corregidas.

Para el movimiento de los brazos, el robot utiliza un sistema de polea doble, mientras una

polea se enrolla la otra se desenrolla para así tener un movimiento en ambos sentidos con

un único motor por brazo. Para la polea de apertura, se utilizó Nylon para pesca. Este

Nylon es bastante duro, grueso y difícil de moldear. Para la polea de cierre, se utilizó un

Nylon de menor calibre, con un poco de elasticidad incluida, esto con el fin de no presionar

demasiado al objeto que se esté reconociendo. Debido a las diferencias en las tensiones

producidas por ambas poleas, las poleas de cierre tiene una vida útil muy corta. Se podría

cambiar el sistema de apertura y cierre, por uno que utilice otros medios como lo son

solenoides6 u otro tipo de actuadores.

Otras posibles mejoras son el cambio del algoritmo para reconocimiento de cromas por uno

basado en redes neuronales, cuyos resultados no fueron los mejores pero con algo de

tiempo para un entrenamiento más detallado se podría tener mejores resultados, tal y como

fue expuesto en capítulos anteriores.

6 Solenoide: Actuador electromagnético cuya función es halar un eje central-

Page 67: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

10.3 TRABAJO A FUTURO

Uno de los ideales al inicio del proyecto, fue la inclusión de movimiento al dispositivo, en

otras palabras, un sistema capaz de mover el robot como se tiene hoy en día. Para este fin,

ya se cuenta con interruptores adecuados en el teclado de operación para llevar a cabo la

movilidad del dispositivo por medido e los motores D.C., sin embargo, estos motores no

han sido acoplados aún al diseño. Este es el proceso a seguir en cuanto a operación del

dispositivo.

Un poco más ambicioso es el querer implementar un sistema que permita un libre

movimiento al robot por medio de algoritmos de inteligencia artificial, redes neuronales o

lógica difusa, para que sea el mismo robot quien determine su ruta de movilización y por

supuesto su necesidad de tomar objetos para su aprendizaje. Este objetivo va encaminado

un poco más al estudio de un modelo de aprendizaje autónomo que permita un desarrollo

interesante en sistemas con capacidad de decisión.

Finalmente bastaría agregar que es necesario esperar más pruebas para poder conocer más a

fondo las implicaciones de este modelo de aprendizaje y reconocimiento, que por su

dependencia con el historial del mismo, requiere de mucho tiempo para establecer con

mayor claridad los patrones más frecuentes de aprendizaje.

Page 68: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

11 BIBLIOGRAFÍA

1. S. Caselli, C. Magnanini, y F. Zanichelli, “Haptic Recognition with a Dextrous

Hand Based on Volumetric Shape Representation”, Università di Parma, 1994.

2. --------, “Efficient Exploration and Recognition of Convex Objetcs Based on Haptic

Perception”, Università di Parma, 1996.

3. B. Beccari, S. Caselli, y F. Zanichelli, “Pose-Independent Recognition of Convex

Objects from Sparse Tactile Data”, Università di Parma, 1997.

4. G. Looney, “Pattern Recognition using Neural Networks”, Oxford University Press,

1997.

5. F. Testa, “Floating Point Math Functions”, FJT Consulting, MicroChip.

6. --------, “Fixed Point Routines”, FJT Consulting, MicroChip.

7. --------, “Compliant Floating Point Routines”, FJT Consulting, MicroChip.

8. Microchip Group, “PIC16F877 Datasheet”, MicroChip Website.

9. F. Cady, “Microcontrollers and Microcomputers”, Oxford University Press, 1997.

10. S. Chapman, “Electric Machinery Fundamentals”, Mc Graw Hill, 2000.

11. B. Kuo, “Automatic Control Systems”, Prentice Hall, 1995.

Page 69: IEL2-2002-II-19 RECONOCIMIENTO DE OBJETOS PARA …

IEL2-2002-II-19

12 INDICE DE FIGURAS

Pag. Figura 1 16

Figura 2 18

Figura 3 21

Figura 4 23

Figura 5 26

Figura 6 29

Figura 7 29

Figura 8 30

Figura 9 30

Figura 10 35

Figura 11 38

Figura 12 42

Figura 13 43

Figura 14 44

Figura 15 45

Figura 16 48

Figura 17 49

Figura 18 65