Móvil Inalámbrico dirigido por pc y perceptron

10

Click here to load reader

description

Interesante informe del proyecto llevado a cabo por R Galicia Mejía. A Aparicio Castillo, R. Ortega González.

Transcript of Móvil Inalámbrico dirigido por pc y perceptron

Page 1: Móvil Inalámbrico dirigido por pc y perceptron

Móvil Inalámbr ico Para Lugares de Acceso Difícil

R Galicia Mejía. A Aparicio Castillo, R. Ortega González

Resumen ­ Adaptar un móvil, que apoyado de una cámara y sensores de ultrasonido permita su control de forma inalámbrica hacia puntos de difícil acceso, observando sus movimientos en una PC este trabajo fue desarrollado en la Escuela Superior de Cómputo teniendo como meta impulsar los proyectos de investigación que se llevan a cabo en el Instituto Politécnico Nacional, y de esta forma establecer un prototipo para obtener un producto final a corto tiempo, de esta manera se ve cristalizada la fuerte necesidad de resolver problemas que la sociedad demanda, empleando tecnologías modernas y desarrollando software con tecnología nacional y de esta forma evitar la dependencia en este rublo de otros países.

El objetivo de este trabajo es la implementación y adaptación de un robot móvil para entornos desconocidos empleando una red neuronal para toma de decisiones.

I. INTRODUCCIÓN El uso de robots día a día se hace más popular y en muy distintos ámbitos, teniendo tal impacto que actualmente sus aplicaciones se encuentran desde el campo del entretenimiento hasta grandes proyectos de investigación a nivel mundial.

Existen estimaciones de que para 1995 se encontraban funcionando unos 700,000 robots en el mundo industrializado. Más de 500,000 se empleaban en Japón, unos 120,000 en Europa Occidental y unos 60,000 en Estados Unidos. El empleo de los robots se ha hecho tan popular dado que son unos excelentes auxiliares en tareas con alto grado de riesgo o trabajos que suelen ser desagradables para el ser humano. Los robots pueden realizar tareas monótonas y repetitivas durante las 24 horas sin bajar su rendimiento.

La navegación autónoma de robots en entornos desconocidos constituye uno de los retos tecnológicos más importantes en el campo de la robótica móvil. Actualmente, un gran número de investigadores centran sus estudios en el desarrollo de técnicas de control y navegación de robots. De forma resumida, el problema que se plantea puede enunciarse de la siguiente manera: un robot móvil se encuentra situado en un determinado ambiente, que contiene una serie de obstáculos y una meta, por medio de una cámara de video manda señales a una pc, en donde se puede manipular el robot, pero cuando la señal es débil o nula, entra en modo autónomo usando una red neuronal.

Existen varios enfoques para intentar resolver este problema, por un lado, se está trabajando en mejorar los métodos clásicos de planificación de trayectorias, como los grafos de visibilidad, los diagramas de Voroni, etc.; y por otro, las investigaciones se encaminan hacia sistemas de control inteligentes, basados en técnicas de Inteligencia Artificial como son la Lógica difusa y las Redes Neuronales [1]. Estos sistemas han permitido abocar muchos de los problemas de control gracias a su capacidad de emular algunas características propias de los humanos.

En este trabajo se pretende aprovechar la capacidad de generalización de las redes neuronales para resolver los problemas que se plantean en la navegación de un robot móvil en un ambiente desconocido.

II. ANÁLISIS YDISEÑO

MODELADO DEL SISTEMA Se tienen dos estados en el móvil, los cuales representamos con dos diagramas a bloques diferentes. En el primer diagrama observamos que es controlado por medio de la PC, esto quiere decir que nosotros le daremos las instrucciones, los pasos que debe seguir, por ejemplo si queremos que camine hacia al frente, que de vuelta a la derecha, a la izquierda, o que retroceda (ver Figura 1).

Page 2: Móvil Inalámbrico dirigido por pc y perceptron

La etapa del transmisor se encuentra aislada, por lo tanto, es manejada como un bloque independiente del móvil, pero dependiente de la computadora. Le sigue un bloque más llamado receptor y el que manejaremos como el más complejo de realizar, que será el bloque de la red neuronal, la cual se explicará más adelante.

MÓVIL CONTROLADO POR MEDIO DE LA PC

Figura 1 Diagrama a bloques

En el segundo diagrama a bloques se maneja la etapa con sensores ultrasónicos y aquí entrará en funcionamiento el bloque de la red neuronal programada en un pic, en donde se lleva a cabo una retroalimentación con los sensores ultrasónicos, y el sistema se vuelve autónomo, esto quiere decir que cuando nosotros no lo controlemos, o que por alguna razón se pierda la comunicación con el móvil o quizá únicamente se quiera que decida por si solo utilizando la red neuronal entrara en funcionamiento la red neuronal con los sensores de ultrasonido, que su función es estar detectando todo obstáculo que se le presente y activar la etapa de potencia con los motores que mueven el móvil, (ver Figura 2).

Figura 2. Móvil en modo Autónomo

En esta parte de nuestro trabajo vamos a explicar cómo es que nuestro móvil navega de forma autónoma en un entorno desconocido. Un sistema autónomo es capaz de tomar decisiones como un ser humano, pero de una forma más limitada ya que su base de conocimiento puede ser desarrollado en base a algoritmos de inteligencia artificial (REDES NEURONALES, LÓGICA DIFUSA etc).

Podemos entender que la navegación en un móvil es: la metodología que permite guiar el curso de un robot móvil a través de un entorno con obstáculos. Existen diversos esquemas, pero todos ellos poseen en común el afán por llevar el vehículo a su destino de forma segura. La navegación de un robot móvil involucra las siguientes tareas: § Percepción del entorno a través de sus sensores, de modo que le permita crear una abstracción del mundo. • Planificación de una trayectoria libre de obstáculos, para alcanzar el punto destino seleccionado. • Generación del camino.­ Define una función continua que interpola la secuencia de objetos construida por el

planificador. Posteriormente procede al a discretización de la misma a fin de generar el camino. • Seguimiento del camino.­ Efectúa el desplazamiento del vehículo, según el camino generado mediante el

adecuado control de los transductores del vehículo.

SENSORES DE ULTRASONIDO Tanto en la actualidad como en el pasado, numerosos robots móviles han utilizado sensores de ultrasonidos para realizar tareas de navegación por el entorno como, por ejemplo, evitar obstáculos, seguir paredes, atravesar puertas, etc. Las razones de su utilización son numerosas y entre ellas cabe destacar su bajo costo, velocidad de procesamiento y una más que aceptable precisión [2] (ver Figura 3).

Page 3: Móvil Inalámbrico dirigido por pc y perceptron

Figura 3 Sensores ultrasónicos

Elección de la red neuronal.

Para seleccionar la red neuronal, primero hay que analizar cuales van a ser las entradas de la red. En la Figura 4 se muestra como se van a distribuir los sensores en nuestro móvil.

Figura 4 Sensores ultrasónicos en el móvil.

Los sensores que va a contener el móvil, son las entradas de nuestra red neuronal. En nuestro caso hemos optado por utilizar una red neuronal del tipo perceptrón.

Funcionamiento En la Figura 5 se representa una neurona "artificial", que intenta modelar el comportamiento de la neurona biológica. Aquí el cuerpo de la neurona se representa como un sumador lineal de los estímulos externos zj, seguida de una función no lineal yj = f(zj). La función f(zj) es llamada la función de activación, y es la función que utiliza la suma de estímulos para determinar la actividad de salida de la neurona [3] ver (Figura 5).

Sensor 3

Sensor 1

Sensor 2

Page 4: Móvil Inalámbrico dirigido por pc y perceptron

Figura 5. Perceptrón

Este modelo se conoce como perceptrón de McCulloch­Pitts, y es la base de la mayor parte de la arquitectura de las RNA que se interconectan entre sí. Las neuronas emplean funciones de activación diferentes según la aplicación, algunas veces son funciones lineales, otras funciones sigmoidales (p.ej. la tanh), y otras funciones de umbral de disparo. La eficiencia sináptica se representa por factores de peso de interconección wij, desde la neurona i, hasta la neurona j. Los pesos pueden ser positivos (excitación) o negativos (inhibición). Los pesos junto con las funciones f(z) dictan la operación de la red neuronal. Normalmente las funciones no se modifican de tal forma que el estado de la red neuronal depende del valor de los factores de peso (sinápsis) que se aplica a los estímulos de la neurona. En un perceptrón, cada entrada es multiplicada por el peso W correspondiente, y los resultados son sumados, siendo evaluados contra el valor de umbral, si el resultado es mayor al mismo, el perceptrón se activa

La única neurona de salida del Perceptrón realiza la suma ponderada de las entradas, resta el umbral y pasa el resultado a una función de transferencia de tipo escalón. La regla de decisión es responder +1 si el patrón presentado pertenece a la clase A, o –1 si el patrón pertenece a la clase B, la salida depende de la entrada neta (n = suma de las entradas pi ponderadas).

La red tipo Perceptrón emplea principalmente dos funciones de transferencia, Hardlim con salidas 1, 0 o Hardlims con salidas 1, ­1; su uso depende del valor de salida que se espera para la red, es decir si la salida de la red es unipolar o bipolar; sin embargo la función Hardlims es preferida sobre la Hardlim, ya que el tener un cero multiplicando algunas de los valores resultantes del producto de las entradas por el vector de pesos, ocasiona que estos no se actualicen y que el aprendizaje sea más lento.

Una técnica utilizada para analizar el comportamiento de redes como el Perceptrón es presentar en un mapa las regiones de decisión creadas en el espacio multidimensional de entradas de la red. En estas regiones se visualiza qué patrones pertenecen a una clase y cuáles a otra. El Perceptrón separa las regiones por un hiperplano cuya ecuación queda determinada por los pesos de las conexiones y el valor umbral de la función de activación de la neurona. En este caso los valores de los pesos pueden fijarse o adaptarse empleando diferentes algoritmos de entrenamiento. Ahora que sabemos que tipo de red vamos a ocupar, analicemos como es que nuestro móvil va a ser capaz de evitar obstáculos. Dependiendo de la distancia deseada para detectar o no un obstáculo podemos determinar como será el comportamiento. Como tenemos 3 sensores, entonces tenemos 2^3 posibles patrones de entrada, es decir, todos los posibles casos a los que se puede enfrentar el móvil. Por lo tanto la base de conocimientos que le podemos suministrar se muestra en la siguiente tabla.

Page 5: Móvil Inalámbrico dirigido por pc y perceptron

Sensor 1 Sensor 2 Sensor 3 0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 1 1

Tabla 1 Entradas de la red neuronal.

Un 0 significa ausencia de obstáculo.

Un 1 significa presencia de obstáculo.

Se empleó un pic 16c54 de la empresa microchip en el cual se programó la red neuronal Perceptrón. Los encapsulados son de 18, 20 ó 28 pines. El número de instrucciones es de 33 con un ancho de 12 bits [4] [7]. La memoria de programa es de 512 palabras, 1K ó 2K, y la de datos está comprendida entre 25 y 73 bytes.

ADQUISICIÓN DE VIDEO.

Transmisión del móvil hacia la PC

Para la transmisión del video, el móvil cuenta con una cámara la cual transmite imágenes a color a una Frecuencia de difusión. Canal 16 de UHF (483.25 Mhz) NTSC [5]. En la Figura 6 se puede observar al móvil con la cámara ya instalada.

Figura 6 Muestra al móvil con la cámara instalada.

Filtro pasa bajas.

Su objetivo es suavizar la imagen, cuando se supone que la imagen tiene gran cantidad de ruido y se quiere eliminar. También pueden utilizarse para resaltar la información correspondiente a una determinada escala (tamaño de la matriz de filtrado); por ejemplo en el caso de que se quiera eliminar la variabilidad asociada a los tipos de cubierta presentes en la imagen uniformizando de esta manera su respuesta. Existen tres tipos:

CÁM

Page 6: Móvil Inalámbrico dirigido por pc y perceptron

• Filtro de la media, asigna al píxel central la media de todos los píxeles incluidos en la ventana. La matriz de filtrado estaría compuesta por unos y el divisor sería el número total de elementos en la matriz.

• Filtro de media ponderada, los elementos de la matriz de filtrado no son todos 1 sino que se da más peso a uno de ellos (generalmente el central) para obtener un resultado más parecido a la imagen original y evitar que aparezca borrosa.

• Filtro de la mediana tiene la ventaja de que el valor final del píxel es un valor real presente en la imagen y no un promedio, de este modo se reduce el efecto borroso que tienen las imágenes que han sufrido un filtro de media. Además el filtro de la mediana es menos sensible a valores extremos. El inconveniente es que resulta más complejo de calcular ya que hay que ordenar los diferentes valores que aparecen en los píxeles incluidos en la ventana y determinar cual es el valor central ver ( Figura 7); este tipo de filtro se implementó para mejorar la imagen en caso de ruido de altas frecuencias.

Figura 7 máscaras de los filtros.

Captura de video y el filtr ado de la señal de video

El programa de control del móvil que se elaboro fue programado en java script [6], en la Figura 8 se muestra un diagrama a bloques de las clases usadas en el programa y el filtro de mediana.

puerto Trama

abrirPuerto() cerrarPuerto() enviarDatos() recibirDatos() isBussy() generarTrama()

USUARIO

enviarOrden()

(from Use Case View)

+1

+1

Imagen Imagen

Fil trarImagen() mostrarVideoFiltrada() escaladeGrises()

video

detectarDispositivo() grabarVideo() startPreview() detenerPreview() inicializar() grabarImagen() modificarPropiedadesVideo() buscarCanal() establecerCanal()

+1 +1

+1

+1..*

Figura 8. Diagrama a bloques de las clases usadas en el programa que controla el móvil

Page 7: Móvil Inalámbrico dirigido por pc y perceptron

La ventana de aplicación para ver las imágenes del móvil hacía la pc se observa en la Figura 9.

Figura 9. Ventana de visualización del móvil.

SISTEMA DE COMUNICACIÓN El sistema de comunicación que se muestra en el diagrama a bloques en la Figura 10 utiliza un enlace de radiofrecuencia.

Figura 10 sistemas de comunicación inalámbrica.

FUENTE : Dispositivo que generan los datos a transmitir (PC). TRANSMISOR Tx: Este transforma y codifica la información, nuestro dispositivo a utilizar será el TXM­315­LC de LINX Technologies.

CANAL DE TRANSMISIÓN: El espacio. RECEPTOR Rx: Acepta la información proveniente del sistema de información y la transforma de tal manera que pueda ser manejado por el dispositivo destino nos referimos RXM­315­LC­S de LINX Technologies. DESTINO : Toma los datos del receptor, los decodifica y los procesa.

Caracter ísticas de TXM­315­LC y RXM­315­LC­S

­ TRANSMISOR TXM­315­LC

Es ideal para aplicaciones donde se utilice control remoto, seguridad, identificación y transferencia de datos periódica, no utiliza componentes RF a excepción de una antena que es necesaria para su uso.

Caracter ísticas

­ Bajo costo. ­ Muy bajo consumo de energía. ­ Basado en arquitectura SAW (surface acoustic wave). ­ Transfiere información a 5Kbps. ­ El rango de voltaje es de 2.7­5.2VDC. ­ Presenta armónicos pequeños.

Señal filtrada

Señal Original

Page 8: Móvil Inalámbrico dirigido por pc y perceptron

­ ­Receptor RXM­315­LC­S

Caracter ísticas:

­ Es eficiente, de bajo costo. ­ Consume poca energía. ­ Basado en arquitectura SAW. ­ Notable sensibilidad. ­ Soporta transferencias de 5Kbps. ­ Cuenta con interfaz serial. ­ Recibe información a una distancia máxima de 90 metros.

Modo de operación. El tipo de modulación presenta un ‘0’ lógico cuando no se presenta un mensaje, y presenta un ‘1’ lógico cuando hay mensaje. Este método de modulación aporta numerosos beneficios, dos de los más Importantes son:

1) Eficacia contemplando el costo debido al diseño. 2) La salida se produce con mucha potencia.

La SAW provee de una precisión muy alta de la frecuencia original con excelente inmunidad al ruido, permite incrementar la sensibilidad y reduce la interferencia por bandas cercanas. La calidad de los componentes y arquitectura utilizada en la serie LC es inusual en un producto de bajo costo y esto hace que sean capaces de igualar la salida de algunos componentes más caros.

ETAPA DE POTENCIA En esta etapa se controlan los motores de cd del sistema mecánico encargados de mover al móvil, se empleó el encapsulado de L293D para controlar los motores. Como podemos ver en la Figura 11 el L293D se comporta como un puente H de transistores, para controlar motores, sin embargo se tiene la ventaja de que todo se encuentra en un integrado, muy adecuado para poder mover los motores del móvil y darle movilidad [8].

Figura 11. Puente H L293D.

Page 9: Móvil Inalámbrico dirigido por pc y perceptron

III. RESULTADOS Y CONCLUSIONES

Se implementó el móvil con una cámara de video, la cual en algunos casos, por la lejanía del móvil presentaba ruido en la pantalla de la PC, por lo cual se implementó un filtro de mediana para eliminar el ruido de sal y pimienta, se programó una red neuronal tipo perceptrón en un PIC de microchip con el fin de entrar en modo autónomo cuando la señal sea débil y se desarrolló un software que permite controlar el móvil por la PC y observar sus movimientos así como el filtrado de la imagen, logrando con esto que el móvil sea de gran ayuda para encontrar objetos o personas en lugares de difícil acceso.

BIBLIOGRAFÍA.

[1] José Santos Richard j. Duro “Evolución Artificial y Robótica Autónoma” Alfaomega, 2005 [2] http://www.angelfire.com/biz/itcmex/ultrasensores2.html [3] Hagan Martin, Demuth, Howard, Béale Mark, “NEURAL NETWORK DESIGN”, PWS Publishing Company, 1995. [4] Angulo Usateghi, Jose Maria. “MICROCONTROLADORES PIC”. Diseño práctico de aplicaciones, Ed. McGraw­Hill. Madrid, 1998. [5] http://www.plantraco.com/product_ptv16.html [6] http://www.java.sun.com [7] http://www.microchip.comi [8] http://www.st.com

Page 10: Móvil Inalámbrico dirigido por pc y perceptron

Escuela Superior de Cómputo Instituto Politécnico Nacional

Departamento de Sistemas Electrónicos, México D.F. .

[email protected] [email protected], [email protected]

Rubén Galicia Mejía Ingeniero en Electrónica Industrial en el Tecnológico de Puebla, Maestría en Ciencias en Ingeniería Electrónica opción instrumentación SEPI­Esime Zacatenco, profesor investigador de tiempo completo del Departamento de sistemas Electrónicos de la Escuela Superior de Cómputo del Instituto Politécnico Nacional, actualmente Desarrollando proyectos de Instrumentación Electrónica, dirección de trabajos terminales y publicaciones. Tel. 5729600 Ext. 52022, Fax 52003

Aur ora Aparicio Castillo Ingeniero en Comunicaciones y Electrónica egresada en 1994 de la Escuela Superior de ingeniería Mécanica y Electrica (ESIME) del Instituto Politécnico Nacional (IPN). Obtuvo el grado de Maestro en Ciencias con especialidad en Instrumentación en la ESIME IPN en 1998. Actualmente ha cubierto el 100% de los creditos del Doctorado en Comunicaciones y Electrónica en la ESIME IPN, profesora de la ESIME de 1995 a 1996 y de 1996 a la fecha de la Escuela Superior de Cómputo, también ha ocupado el cargo de Jefa del Depto. de Sistemas Electrónicos de dicha escuela del 2001 al 2003.