Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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).
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).
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.
Sensor 3
Sensor 2
Sensor 1
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 per ceptr ó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).
Figura 5. Perceptrón
Este modelo se conoce como perceptrón de McCullochPitts, 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).
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.
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.
CÁM
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:
· Filtr o 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.
· Filtr o de media ponder ada, 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.
· Filtr o 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.
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
video
abrirPuerto()
cerrarPuerto() detectarDispositivo()
enviarDatos() grabarVideo()
recibirDatos() startPreview()
+1 isBussy() detenerPreview()
generarTrama() inicializar()
grabarImagen()
modificarPropiedadesVideo()
+1 buscarCanal()
establecerCanal()
+1..*
USUARIO +1 +1
(from Use Case View)
enviarOrden()
+1
Imagen
Imagen
FiltrarImagen()
mostrarVideoFiltrada()
escaladeGrises()
Figura 8. Diagrama a bloques de las clases usadas en el programa que controla el móvil
La ventana de aplicación para ver las imágenes del móvil hacía la pc se observa en la Figura 9.
Señal
Original
Señal
filtrada
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 TXM315LC
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 RXM315LCS de LINX Technologies.
DESTINO : Toma los datos del receptor, los decodifica y los procesa.
T RANSMISOR TXM315LC
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.
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.75.2VDC.
Presenta armónicos pequeños.
Receptor RXM315LCS
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 oper ació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.
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.
McGrawHill. 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
Escuela Superior de Cómputo Instituto Politécnico Nacional
Departamento de Sistemas Electrónicos, México D.F.
.
rgaliciam@.ipn.mx aaparicioc@ipn.com, rortegag@ipn.mx
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 SEPIEsime 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 or a 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.