“Sistema de semáforos inteligentes basados en redes ...

13
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

Transcript of “Sistema de semáforos inteligentes basados en redes ...

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

[email protected]

Teléfono: 0414-7184650

Br. Suarez Omaña, Sergio

Alejandro

C.I: V-19.235.286

[email protected]

Teléfono: 0414-7061399

Tutor Académico: Ing. Jhon Edgar Amaya

[email protected]

[email protected]

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.

iv

v

vi

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 ........................