You are on page 1of 14

Instituto Tecnolgico de la Laguna

Maestra en Ciencias en Ingeniera Elctrica


Instrumentacin Electrnica
Redes Neuronales
Proyecto Final

Profesor: Martn Vzquez Rueda

Inteligencia Artificial
*Ana Silvia Avalos Ibarra
Control: M1313073
TORREN COAHUILA

No. De
26 DE MAYO DE 2014.

I.

Introduccin

Redes Neuronales
Una red neuronal artificial es una estructura compuesta de un nmero de unidades
interconectadas (neuronas artificiales). Cada unidad posee una caracterstica de
entrada/salida e implementa una computacin local o funcin. La salida de cualquier
unidad est determinada por su caracterstica de entrada/salida, su interconexin con
otras unidades, y (posiblemente) de sus entradas externas. Sin embargo es posible un
trabajo a mano, la red desarrolla usualmente una funcionalidad general a travs de una
o ms formas de entrenamiento.
El cerebro humano contiene ms de 100 billones de elementos de procesos llamados
neuronas, que se comunican a travs de conexiones llamadas sinapsis. Cada neurona eta
compuesta por tres partes fundamentales: el cuerpo, dendritas y axn. El cuerpo en su
capa externa tiene la capacidad nica de generar impulsos nerviosos. Las dendritas que
son como las ramas que salen del cuerpo, poseen algunas conexiones sinpticas en donde
se reciben seales que generalmente vienen de otros axones. El axn se encarga de
activar o inhibir otras neuronas las cuales a su vez son activadas por cientos o miles de
otras neuronas.
El funcionamiento de una neurona artificial est basado en este diseo. Bsicamente
consiste en aplicar un conjunto de entradas, cada una representando la salida de otra
neurona, o una entrada del medio externo, realizar una suma ponderada con estos valores
y filtrar este valor como una funcin.

Figura 1.- Red Neuronal con tres entradas

Backpropagation
Backpropagation es un algoritmo de aprendizaje supervisado que se usa para
entrenar redes neuronales artificiales. El algoritmo emplea un ciclo propagacin
adaptacin de dos fases. Una vez que se ha aplicado un patrn a la entrada de la
red como estmulo, este se propaga desde la primera capa a travs de las capas
superiores de la red, hasta generar una salida. La seal de salida se compara con
la salida deseada y se calcula una seal de error para cada una de las salidas. Las
salidas de error se propagan hacia atrs, partiendo de la capa de salida, hacia
todas las neuronas de la capa oculta que contribuyen directamente a la salida. Sin
embargo las neuronas de la capa oculta solo reciben una fraccin de la seal total
del error, basndose aproximadamente en la contribucin relativa que haya
aportado cada neurona a la salida original. Este proceso se repite, capa por capa,
hasta que todas las neuronas de la red hayan recibido una seal de error que
describa su contribucin relativa al error total. La importancia de este proceso
consiste en que, a medida que se entrena la red, las neuronas de las capas
intermedias se organizan a s mismas de tal modo que las distintas neuronas
aprenden a reconocer distintas caractersticas del espacio total de entrada.
Despus del entrenamiento, cuando se les presente un patrn arbitrario de entrada
que contenga ruido o que est incompleto, las neuronas de la capa oculta de la red
respondern con una salida activa si la nueva entrada contiene un patrn que se
asemeje a aquella caracterstica que las neuronas individuales hayan aprendido a
reconocer durante su entrenamiento.

Estructura de la Red

Figura 2.- Estructura de la Red Backpropagation

Puede notarse que esta red de tres capas equivale a tener tres redes tipo
Perceptrn en cascada; la salida de la primera red, es la entrada a la segunda y la
salida de la segunda red es la entrada a la tercera. Cada capa puede tener
diferente nmero de neuronas, e incluso distinta funcin de transferencia.

II.

Software Utilizado

Matlab
Es una herramienta de software matemtico que ofrece un entorno de desarrollo
integrado (IDE) con un lenguaje de programacin propio (lenguaje M) y servicio de
especie. Est disponible para las plataformas Unix, Windows, Mac OS X y GNU/Linux .
Entre sus prestaciones bsicas se hallan: la manipulacin de matrices, la representacin
de datos y funciones, la implementacin de algoritmos, la creacin de interfaces de
usuario (GUI) y la comunicacin con programas en otros lenguajes y con otros
dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que
expanden sus prestaciones, a saber, Simulink (plataforma de simulacin multidominio) y
GUIDE (editor de interfaces de usuario - GUI). Adems, se pueden ampliar las capacidades
de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes
de bloques (blocksets).
Es un software muy usado en universidades y centros de investigacin y desarrollo. En los
ltimos aos ha aumentado el nmero de prestaciones, como la de programar
directamente procesadores digitales de seal o crear cdigo VHDL.

Figura 3.- Logo de Matlab

LabVIEW
Es una plataforma y entorno de desarrollo para disear sistemas, con un lenguaje
de programacin visual grfico. Recomendado para sistemas hardware y software de
pruebas, control y diseo, simulado o real y embebido, pues acelera la productividad. El
lenguaje que usa se llama lenguaje G, donde la G simboliza que es lenguaje Grfico.

Los programas desarrollados con LabVIEW se llaman Instrumentos Virtuales, o VIs, y su


origen provena del control de instrumentos, aunque hoy en da se ha expandido
ampliamente no slo al control de todo tipo de electrnica (Instrumentacin electrnica)
sino tambin a su programacin embebida, comunicaciones, matemticas, etc. Un lema
tradicional de LabVIEW es: "La potencia est en el Software", que con la aparicin de los
sistemas multincleose ha hecho an ms potente. LabVIEW consigue combinarse con
todo tipo de software y hardware, tanto del propio fabricante -tarjetas de adquisicin de
datos, PAC, Visin, instrumentos y otro Hardware- como de otros fabricantes.

Figura 4.- Logo de LabVIEW

Arduino
Es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de
desarrollo, diseada para facilitar el uso de la electrnica en proyectos multidisciplinares.
El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los
microcontroladores ms usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su
sencillez y bajo coste que permiten el desarrollo de mltiples diseos. Por otro lado el software
consiste en un entorno de desarrollo que implementa el lenguaje de programacin Processing/Wiring y
el cargador de arranque que es ejecutado en la placa.4
Arduino se puede utilizar para desarrollar objetos interactivos autnomos o puede ser conectado a
software tal como Adobe Flash, Processing, Max/MSP, Pure Data). Las placas se pueden montar a
mano o adquirirse. Elentorno de desarrollo integrado libre se puede descargar gratuitamente.
Arduino puede tomar informacin del entorno a travs de sus entradas analgicas y digitales, y
controlar luces, motores y otros actuadores. El microcontrolador en la placa Arduino se programa
mediante el lenguaje de programacin Arduino (basado en Wiring) y el entorno de desarrollo Arduino
(basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de
conectar a un computador.

Figura 4.- Logo de Arduino

Mdulo NI LabVIEW MathScript RT


Este software permite trabajar en LabVIEW como si se estuviera en el entorno de Matlab.
Caractersticas

Despliega archivos .m personalizados a hardware en tiempo real

Puede reutilizar varios scripts creados con el software The MathWorks, Inc. MATLAB y otros

Desarrolla archivos .m con una interfaz interactiva de lnea de comando

Integre scripts en aplicaciones de LabVIEW usando el Nodo MathScript.

Figura 5.- Mathscript

III. Arquitectura del Programa


Panel de Control

Figura 6.- Panel frontal con indicadores para las resistencias

IV. Complementos Utilizados


Sensores Utilizados
Fotorresistencias

Una fotorresistencia es un componente electrnico cuya resistencia vara en


funcin de la luz.
Un fotorresistor est hecho de un semiconductor de alta resistencia, si la luz que
incide en el dispositivo es de alta frecuencia, los fotones son absorbidos por las
elasticidades del semiconductor dando a los electrones la suficiente energa para
saltar la banda de conduccin. El electrn libre que resulta, y su hueco asociado,
conducen la electricidad, de tal modo que disminuye la resistencia. Los valores
tpicos varan entre 1 M, o ms, en la oscuridad y 100 con luz brillante.

Figura 7.- Fotorresistencia

Integrado Utilizado para acoplar los motores


El integrado L293D incluye cuatro circuitos para manejar cargas de potencia
media, en especial pequeos motores y cargas inductivas, con la capacidad de
controlar corriente hasta 600 ma en cada circuito y una tensin entre 4,5 v a 36 v.

Figura 8.- Controlador L293D

V.

Plataforma de LabVIEW

Modulo de Matlab en LabView


7

En el mdulo de Matlab Script se declar lo que ser la red neuronal, para esta red
utilizo el algoritmo para redes de tipo backpropagation, y tengo siete entradas y
siete salidas.

Figura 9.- Matlab Script

Inicio y cierre de la comunicacin


Mediante estos bloques se inicia y cierra la comunicacin con arduino, todo
programa necesita llevarlos, en ello se declara el puerto que se utilizar, y la
tarjeta, as como la velocidad de transmisin de datos y el tipo de comunicacin.

Figura 10.- Inicio y Cierre de la Comunicacin

Esquema de los Sensores

Figura 11.- Esquema de los Sensores

Conexin de los Sensores


En las siguientes imgenes se esquematiza la conexin de los sensores, tal como
se muestra a continuacin ese bloque representa al pin anlogo de la arduino al
que va conectado, su voltaje de alimentacin y la intensidad de luz que esta
recibiendo la fotoresistencia (con valores entre un rango del 1-100).

Figura 12.- VI para Fotoceldas

Figura 13.- Caso Delantero

Figura 14.- Caso Trasero

Figura 15.- Caso Derecha

Figura 16.- Caso Izquierda

Figura 17.- Caso Adelante Rpido

Figura 18.- Caso Atrs Rpido

Esquema de comparaciones entre los sensores

10

Figura 19.- Esquema de Comparaciones

Mdulo de Matlab Script que ejecuta las salidas.


11

En el primer mdulo de Matlab script se entrena la red neuronal, en este


dependiendo de la salida que se este obteniendo de los valores de los sensores se
ejecuta el caso reconocido.

Figura 20.- Mdulo MatLab Script

Conexin de los Motores


En la siguiente imagen especifico a que pines de mi arduino conect los motores,
estos los configuro como salidas y utilizo 8 porque usare 4 motores de directa, y
cada uno utiliza dos para cambiar el sentido del giro.

Figura 21.- Conexin de Los motores

Caso 1
12

Para el caso 1 energizo los motores de la manera a continuacin presentada, cada


caso tiene una manera diferente.

Caso 2

Caso 3

Caso 4

Caso 5

Caso 6

Caso 7

Vinculacin de LabView a Matlab.

13

Figura 22.- Plataforma de MatLab

14

You might also like