Universidad Nacional Experimental del Táchira
Vicerrectorado Académico
Decanato de Docencia
Departamento de Ingeniería Electrónica
Trabajo de Aplicación Profesional
“Sistema de semáforos inteligentes basados en redes
neuronales”
San Cristóbal, Diciembre de 2010
UNET – Departamento de Ingeniería Electrónica
Universidad Nacional Experimental del Táchira
Vicerrectorado Académico
Decanato de Docencia
Departamento de Ingeniería Electrónica
Trabajo de Aplicación Profesional
“Sistema de semáforos inteligentes basados en redes
neuronales” Trabajo presentado como parte de los requisitos para optar al Título de Ingeniero
Electrónico
Autores: Br. Niño Parra, Rosmar
C.I: V-18.392.888
Teléfono: 0414-7184650
Br. Suarez Omaña, Sergio
Alejandro
C.I: V-19.235.286
Teléfono: 0414-7061399
Tutor Académico: Ing. Jhon Edgar Amaya
San Cristóbal, Diciembre de 2010
UNET – Departamento de Ingeniería Electrónica
iii
Universidad Nacional Experimental del Táchira
Vicerrectorado Académico
Decanato de Docencia
Departamento de Ingeniería Electrónica
Trabajo de Aplicación Profesional
“Sistema de semáforos inteligentes basados en redes neuronales”
Autores: Niño Parra, Rosmar
Suarez Omaña, Sergio Alejandro
Tutor: Ing.
Jhon Edgar Amaya
San Cristóbal, Diciembre 2010
RESUMEN
El proyecto consiste en un sistema de semáforos con la capacidad de tomar
decisiones mediante el uso de redes neuronales, los datos se toman por medio de
sensores en tiempo real y para lograr el objetivo de la investigación se hace uso de
una tarjeta marca Xilinx modelo XC2XL que contiene un CPLD CoolRunner-II
XC2C256, este dispositivo se programó en lenguaje VHDL. El tipo de red que se usa
en el desarrollo del proyecto es Backpropagation ya que se verificó que es un modelo
que se ajusta a los requerimientos del proyecto. La red neuronal cuenta con 4 sensores
que sirven de entradas y 6 salidas que indican los tiempos de 3 de los 4 semáforos
presentes en el sistema, un semáforo cambiará sus luces de manera constante. Para el
entrenamiento de la red, se realizó un programa en Microsoft Visual Basic que ajusta
los pesos de las matrices para que responda de acuerdo a ciertos patrones de
entrenamiento previamente establecidos. El programa en VHDL define el
funcionamiento típico del semáforo así como la red neuronal que aporta los
elementos novedosos de control. Como resultado se obtuvo un semáforo que
responde ante diversas situaciones de congestión modificando sus tiempos para
organizar de una manera eficiente la situación del tráfico en la intersección.
Descriptores: Semáforos Inteligentes, Red Neuronal, Backpropagation, CPLD,
VHDL.
vii
Agradecimientos
En primer lugar a Dios por guiar mi camino y permitirme disfrutar de tantas
experiencias durante el transcurso de mi carrera universitaria.
A mi mama, por ser mi ejemplo a seguir, quien siempre me apoyo de todas
las maneras posibles, usando las palabras más cariñosas para animarme a seguir
adelante, las palabras fuertes cuando me cerraba a continuar y siempre celebrando
mis triunfos como suyos propios.
A mi papa, quien me enseño que con sacrificio se consiguen las mejores
cosas, gracias a él me anime aceptar este reto y lo conseguí.
A mis hermanos, jhonmar y Jesús Homero, por el apoyo y cariño que me han
brindado durante todos estos años
A las familias Gandica-Cardenas y Suarez-Omaña por brindarme su cariño,
apoyo y hacerme sentir parte de sus familias.
A mis amigos y compañeros que conocí a lo largo de este período
universitario, en especial, a Sergio Suarez y Jose Ney Gandica quienes desde el
primer día de clases, me brindaron su amistad y su compañía para alcanzar esta meta.
A todas aquellas personas que de una u otra forma hicieron posible que
culminara con éxito mi carrea universitaria.
Rosmar Niño Parra
Agradecimientos
viii
Primero que todo creo que debo agradecerle a Dios, que me dio la oportunidad
de tener a mi lado personas que se preocupaban por mí y me guió en todas las
decisiones que tomé en el transcurso de mi carrera universitaria.
A mi Mamá, que en los malos momentos siempre me ayudó a sobreponerme y
me tendió su mano amiga para no decaer, tomar más fuerza y recuperarme
rápidamente. Además siempre celebró mis triunfos con la típica alegría que la
caracteriza.
A mi Papá, que ha sido mi pilar de inspiración para lograr todas mis metas,
quien me enseñó que con esfuerzo y trabajo duro se puede llegar lejos; con sus
acciones y sus consejos me demostró que ninguna meta se puede lograr sin
dedicación y perseverancia. Su orgullo es mi alegría.
A mis hermanos, Carlos y María Gabriela, que siempre me apoyaron y con
sus actitudes me animaron para seguir adelante en el desarrollo de esta meta.
A mi tía Leyda, que más que una tía es mi segunda madre y que sé que
siempre rezó en cada semestre para que todo me saliera de la mejor manera.
A mis Abuelas, Alicia y Carmen, que siempre me mostraron una cara
diferente de ver las cosas y me brindaron su cariño incondicional.
A nuestro tutor Jhon Edgar Amaya, que siempre se mostró complacido de
ayudarnos aportándonos sus conocimientos y nos animó para culminar el proyecto
que teníamos planeado.
A mis tíos, primos, amigos y demás personas que de alguna u otra manera me
apoyaron para que mi meta se cumpliera; de verdad, creo que con palabras es difícil
expresar cuan agradecido estaré con ustedes.
Sergio Alejandro Suarez Omaña
9
Índice General Introducción ..................................................................................................................
Capítulo I....................................................................................................................... El problema ....................................................................................................................
Planteamiento del problema ....................................................................................
Objetivos ................................................................................................................... Objetivo general .................................................................................................. Objetivo específicos .............................................................................................
Justificación ..............................................................................................................
Alcance .....................................................................................................................
Capítulo II .....................................................................................................................
Antecedentes .............................................................................................................
Bases teóricas............................................................................................................
Redes neuronales artificiales ...............................................................................
Red de Hopfield ...................................................................................................
Red de retro-propagación ...................................................................................
Inteligencia artificial ........................................................................................... Divisiones de la inteligencia artificial (IA) ..................................................... Técnicas utilizadas en IA ................................................................................
Aplicaciones y campos de aplicación de la IA................................................
Dispositivos CPLD (complex programable logic device) ................................... Matriz de interconexiones programables ..................................................... Bloques lógicos ............................................................................................... Distribución de productos ............................................................................. Macroceldas ................................................................................................... Celda de entrada/salida ................................................................................. Dispositivos FPGA (Field programmable gate array) ....................................... Lenguaje VHDL ................................................................................................. Elementos sintácticos en VHDL .................................................................... Formas de descripción en VHDL .................................................................. Semáforo inteligente ........................................................................................... Capítulo III....................................................................................................................
Marco metodológico ........................................................................................... Enfoque de la investigación .......................................................................... Tipo de investigación .................................................................................... Diseño de la investigación .............................................................................. Técnicas e instrumentos ................................................................................ Etapas de desarrollo ......................................................................................
a. Selección de la tarjeta adecuada para el desarrollo de la investigación
b. Documentación sobre el manejo del lenguaje VHDL
c. Documentación sobre el desarrollo de redes neuronales
d. Implementación del algoritmo de inteligencia artificial sobre la tarjeta
seleccionada en lenguaje VHDL
e. Desarrollo de un prototipo básico para realizar las pruebas de
funcionamiento del sistema
f. Desarrollo de la electrónica complementaria
g. Integración de la tarjeta con la electrónica complementaria. Realización
de pruebas de funcionamiento
10
Capítulo IV ....................................................................................................................
Desarrollo del proyecto ...........................................................................................
Selección de la tarjeta adecuada para el desarrollo de la investigación .... Documentación sobre el manejo del lenguaje VHDL .................................. Ambiente de pruebas ............................................................................... Desarrollo del semáforo .......................................................................... Documentación sobre el desarrollo de redes neuronales ..............................
Implementación del algoritmo de inteligencia artificial sobre la tarjera
seleccionada en lenguaje VHDL .......................................................................
implementación de la red neuronal en VHDL ....................................... Desarrollo de la electrónica complementaria ....................................................
Integración de la tarjeta con la electrónica complementaria. Realización
de pruebas de funcionamiento ...........................................................................
Capítulo V ..................................................................................................................... pruebas ...................................................................................................................
Conclusiones y recomendaciones ................................................................................. Referencias bibliográficas ............................................................................................ Anexos ..........................................................................................................................
11
Índice de Figuras
Figura 1. Modelo de Neurona ...................................................................................... Figura 2. Modelo matemático de la Neurona ............................................................... Figura 3. Arquitectura Básica de un CPLD .............................................................. Figura 4. Estructura de un Bloque Lógico en dispositivos de las familias MAX340 y MAX500……. ............................................................................................................ Figura 5. Distribución de Productos en dispositivos de las familias MAX340 y MAX5000 .................................................................................................................. Figura 6. Macroceldas de entrada/salida y macroceldas ocultas en dispositivos de la familia FLASH 370. .................................................................................................. Figura 7. Macrocelda de entrada en dispositivos de la familia FLASH 370 ............ Figura 8. Intersección y ubicación de los semáforos ................................................. Figura 9. Secuencia de las luces del semáforo ........................................................... Figura 10. Red neuronal Multicapas. ........................................................................ Figura 11. Posición de los sensores ............................................................................ Figura 12. Entradas y salidas de la red neuronal ..................................................... Figura 13. Red neuronal Multicapas ......................................................................... Figura 14. Entradas y salidas de la nueva red neuronal ........................................... Figura 15. Circuito de conexión entre la tarjeta y los semáforos ............................. Figura 16. Error al intentar compilar la red con 4 entradas y 12 salidas ................ Figura 17. Error al intentar compilar la red con 4 entradas y 8 salidas ..................
12
Índice de Algoritmos
Tabla 1. Programa en VHDL para el manejo de compuertas. ................................. Tabla 2. Programa en VHDL para el manejo del flip-flop tipo D............................ Tabla 3. Programa en VHDL para realizar el retardo de 1.14 segundos mediante un divisor de frecuencia. ........................................................................................... Tabla 4. Declaración de las entradas y salidas del semáforo. ................................... Tabla 5. Proceso de control de retardo. .................................................................... Tabla 6. Estados del semaforo. .................................................................................. Tabla 7. Información de los sensores. ....................................................................... Tabla 8. Programa en Visual Basic para el cálculo de los pesos. ............................. Tabla 9. Proceso en VHDL para la implementación de la Red neuronal. ............... Tabla 10. Proceso en VHDL para asignar el tiempo de encendido del semáforo en verde de acuerdo a la salida de la red. ..................................................................... Tabla 11. Declaración de las entradas y salidas. ....................................................... Tabla 12. Matrices de pesos en VHDL ...................................................................... Tabla 13. Código en VHDL para la implementación de la red neuronal ................ Tabla 14. Proceso en VHDL para asignar los tiempos de encendido de la luz verde a los semáforos ..........................................................................................................
13
Índice de Tablas
Tabla 1. Características de la CoolRunner II................................................................ Tabla 2. Diferencias entre las tarjetas Spartan. ............................................................ Tabla 3. Características de la tarjeta Digilab II. ........................................................... Tabla 4. Diferencias entre las tarjetas Atlys Spartan. ................................................... Tabla 5. Características de las tarjetas XS95................................................................ Tabla 6. Aplicación de Entrenamiento en Microsoft Visual Basic. .......................... Tabla 7. Instancias de prueba para entrenar la red. ................................................ Tabla 8. Matriz de pesos entre capa de entrada y capa oculta ....................................... Tabla 9. Matriz de los pesos entre capa oculta y capa de salida.................................... Tabla 10. Comportamiento de la red para todas las instancias posibles ........................
Top Related