16
1. Tema Implementación de un control de motor con redes neuronales. 2. Objetivo Diseñar e implementar el control de un motor mediante un grupo de con un grupo de perceptrones 3. Materiales Protoboard Sensor de luz CNY70 Amplificadores operacionales LM741 Comparador LM311 Resistencias Motor Tarjeta arruino Cables de conexión Multímetro 4. Marco teórico 4.1. Definición De Una Red Neuronal Artificial Las RNA se definen como sistemas de mapeos no lineales cuya estructura se basa en principios observados en los sistemas nerviosos de humanos y animales. Constan de un número grande de procesadores simples ligados por conexiones con pesos. Las unidades de procesamiento se denominan neuronas. Cada unidad recibe entradas de otros nodos y genera una salida simple escalar que depende de la información local disponible, guardada internamente o que llega a través de las conexiones con pesos.

Control de Un Motor de Pasos Con Un Grupo de Perceptrones

Embed Size (px)

DESCRIPTION

Control de Un Motor de Pasos Con Un Grupo de Perceptrones tomado del libro de inteligencia artificia

Citation preview

1. TemaImplementacin de un control de motor con redes neuronales.2. Objetivo Disear e implementar el control de un motor mediante un grupo de con un grupo de perceptrones3. Materiales

Protoboard Sensor de luz CNY70 Amplificadores operacionales LM741 Comparador LM311 Resistencias Motor Tarjeta arruino Cables de conexin Multmetro 4. Marco terico

4.1. Definicin De Una Red Neuronal ArtificialLas RNA se definen como sistemas de mapeos no lineales cuya estructura se basa en principios observados en los sistemas nerviosos de humanos y animales. Constan de un nmero grande de procesadores simples ligados por conexiones con pesos. Las unidades de procesamiento se denominan neuronas.Cada unidad recibe entradas de otros nodos y genera una salida simple escalar que depende de la informacin local disponible, guardada internamente o que llega a travs de las conexiones con pesos.Pueden realizarse muchas funciones complejas dependiendo de las conexiones.Las neuronas artifi ciales simples fueron introducidas por McCulloch y Pitts en 1943. Una red neuronal se caracteriza por los siguientes elementos:1. Un conjunto de unidades de procesamiento o neuronas.2. Un estado de activacin para cada unidad, equivalente a la salida de la unidad.3. Conexiones entre las unidades, generalmente defi nidas por un peso que determina el efecto de una seal de entrada en la unidad.4. Una regla de propagacin, que determina la entrada efectiva de una unidad a partir de las entradas externas.5. Una funcin de activacin que actualiza el nuevo nivel de activacin basndose en la entrada efectiva y la activacin anterior.6. Una entrada externa que corresponde a un trmino determinado como bias para cada unidad.7. Un mtodo para reunir la informacin, correspondiente a la regla del aprendizaje8. Un ambiente en el que el sistema va a operar, con seales de entrada e incluso seales de error.En muchas redes las unidades de proceso tienen respuesta de la forma:

xk : seales de salida de otros nodos o entradas externas.wk : pesos de las ligas de conexin.f () : funcin no lineal simple.La funcin f puede ser sigmoidal, tangente hiperblica, escaln, entre otras. En MATLAB se tiene diferentes funciones de activacin como tansig, hardlim y purelin, entre otras, lo cual facilita las aproximaciones que se requieran hacer, empleando RNA.Cada unidad de proceso tiene una tarea simple: recibe la entrada de otras unidades o de fuentes externas y procesa la informacin para obtener una salida que se propaga a otras unidades.Una red puede tener una estructura arbitraria, pero las capas que contienen estas estructuras estn definidas de acuerdo con su ubicacin en la topologa de la red neuronal. Las entradas externas son aplicadas en la primera capa, y las salidas se consideran la ltima capa. Las capas internas que no se observan como entradas o salidas se denominan capas ocultas. Por convencin, las entradas no se consideran como capa porque no realizan procesamiento.La entrada total u de una unidad k es la suma de los pesos de las entradas conectadas, ms un bias :

Si el peso l es positivo se habla de una excitacin y si el peso es negativo se considera una inhibicin de la entrada. Si consideramos a las entradas como funciones del tiempo, la expresin anterior se convierte en:

4.2. Funciones De ActivacinLa regla que logra establecer el efecto de la entrada total u(t) en la activacin de la unidad k se denominaFuncin de activacin (Fk):

En muchas ocasiones esta funcin es de la forma no decreciente respecto a la entrada total de la unidad:

Algunas de las funciones de activacin ms usadas son las siguientes:Funcin escalnLa funcin de activacin escaln se asocia a neuronas binarias en las cuales, cuando la suma de las entradas es mayor o igual que el umbral de la neurona, la activacin es 1; si es menor, la activacin es 0 (o -1).

4.3. Entrenamiento De Las Redes NeuralesSe denomina entrenamiento al proceso de confi guracin de una red neuronal para que las entradas produzcan las salidas deseadas a travs del fortalecimiento de las conexiones. Una forma de llevar esto a cabo es a partir del establecimiento de pesos conocidos con anterioridad, y otro mtodo implica el uso de tcnicas de retroalimentacin y patrones de aprendizaje que cambian los pesos hasta encontrar los adecuados.Adems, el aprendizaje puede dividirse en supervisado o asociativo y no supervisado o auto-organizado.En el primer caso se introducen entradas que corresponden a determinadas salidas, ya sea por un agente externo o por el mismo sistema. En el segundo caso el entrenamiento se enfoca a encontrar caractersticas estadsticas entre agrupamientos de patrones en las entradas.Un tipo de regla que se usa para el entrenamiento mediante el ajuste de pesos es la Hebbiana, propuesta por Hebb en 1949 y que ha dado pie a diversas variantes propuestas en el transcurso del tiempo.Si dos unidades j y k estn activas al mismo tiempo, la conexin entre las dos debe ser fortalecida mediante la modifi cacin del peso:

Donde es una constante de proporcionalidad positiva que representa la tasa de aprendizaje.Otra regla usada comnmente implica el ajuste de los pesos a travs de la diferencia entre la activacin actual y la deseada; se le conoce como Regla Delta:

Donde dk es la activacin deseada.

4.4. El perceptrn

Figura. 1. Perceptron

Es un modelo que nos ayuda a dividir patrones linealmente separables y lo que hace este entrenamiento es deducir cundo una entrada pertenece a una de las dos clases.Dentro del campo de las redes neuronales tiene dos acepciones. Puede referirse a un tipo de red neuronal artificial desarrollado por Frank Rosenblatt.Y dentro de la misma teora de Rosenblatt. Tambin puede entenderse como la neurona artificial y unidad bsica de inferencia en forma de discriminador lineal, es decir, un algoritmo capaz de generar un criterio para seleccionar un sub-grupo, de un grupo de componentes ms grande. La limitacin de este algoritmo es que si dibujamos en un plot estos elementos, se deben poder separar con un hiperplano los elementos "deseados" de los "no deseados". El perceptrn puede utilizarse con otros perceptrones u otro tipo de neurona artificial, para formar redes neuronales ms complicadas.

4.5. ADALINE (Adaptive Linear Neuron)La red ADALINE tiene una topologa similar a la del perceptrn, excepto porque emplea una funcin de activacin lineal, usando para su entrenamiento un mtodo de mnimos cuadrados (LMS).Entre sus aplicaciones se encuentran: Procesamiento de seales. Canceladores de ECO, en seales telefnicas. Sistemas de prediccin.

Un esquema de prediccin bsico es el siguiente, en el cual se presenta un entrenamiento con datos del sistema tanto de la entrada como de la salida. Despus de realizado el entrenamiento se elimina la entrada de datos de la salida del sistema, como lo muestra la fi gura

Figura. 2. Red ADALINE

Figura. 3. ADALINE con salida de activacinLas redes ADALINE son estructuras de una capa con una funcin de escaln como no linealidad.Adicionalmente, las entradas pueden ser de forma continua, mientras que en el perceptrn son binarias de 1. Los pesos son ajustados mediante la regla de Widrow-Hoff para minimizar la diferencia entre la salida y el objetivo. Este algoritmo es una implementacin iterativa de la regresin lineal, reduciendo el error cuadrado de un ajuste lineal. (Cruz, 2010)

5. Procedimiento

El desarrollo de este ejercicio es a travs del entrenamiento de dos neuronas: la primera de ellas ser entrenada para decidir la direccin de un sistema que consta de dos sensores de luz y que va a girar hacia la izquierda o hacia la derecha por medio de un motor, dependiendo qu sensor se active con la incidencia de luz. La segunda neurona ser entrenada para decidir a qu velocidad va a girar el sistema antes mencionado de acuerdo con la combinacin que presenten dos interruptores.

5.1. Crear las tablas de verdad para las cuales el sistema funcionara el motor. Tabla 1. DireccinV1V2Salida

000

010

101

111

1 izquierda 0 derecha

Tabla 2. VelocidadV1V2Salida

000

010

100

111

1rpido 0 lento

5.2. Con ayuda de un programa de computador C++ se halla los pesos

La inicializacin de los pesos de la neurona de direccin fue:

Los pesos que resultan son:

La inicializacin de los pesos de la neurona de velocidad fue:

Los pesos que resultan son:

5.3. Realizamos la suma de las entradas por los pesos de la siguiente ecuacin: Mediante el uso de amplificadores operacionalesEn el caso de la entrada negativa previamente se debe invertir la entrada posteriormente se hace la suma y finalmente se compara como lo indica la siguiente figura

Figura. 4Configuracin de los Amplificadores operacionales.5.4. Verificar las entradas y las salidas que cumplan la tabla de verdad

Figura. 5. Entradas V1= 0, V2= 0

Figura. 6. Entrada V1=0, V2=1

Figura. 7. Entrada de V1=1,V2=0

Figura. 8 Entrada de V1=1, V2=15.5. Programamos el pic para las salidas deseadas

#include // libreria del pic#fuses XT,NOWDT // Configuracion de fusibles#use delay(clock=4M ) int i;void main (){ set_tris_b(0x00); //Configura el puerto como salida set_tris_a(0xff);

output_low(PIN_B0); output_low(PIN_B1);

while(TRUE) { // Gira izquierda //a0=v1,a1=v2

if( input(pin_a0)==0 && input(pin_a1)==0 || input(pin_a0)==0 && (input(pin_a1)==1 )) { output_high(PIN_B0); output_low(PIN_B1); delay_ms(500); } // Gira derecha //a0=v1,a1=v2 if(input(pin_a0)==1 && input(pin_a1)==0 ) { output_low(PIN_B0); output_high(PIN_B1); } if(input(pin_a0)==1 && input(pin_a1)==1 ) { output_low(PIN_B0); output_high(PIN_B1); }

}}

5.6. Adicionamos la parte de control del motor

Figura. 9. Funcionamiento del motor

5.7. Procedemos armar el protoboa|rd

Figura. 10. Implementacin .

6. Anlisis de resultados.Para evaluar la salida de la red neuronal se hace uso de la siguiente frmula. Con la que obtuvimos los siguientes resultados donde 0= 0V y 1=5V.

Tabla 3. DireccionV1V2Salida(V)

000.01

010.02

1012.7

1115.2

1 izquierda 0 derecha

Tabla 4. VelocidadV1V2Salida(V)

000.01

010.02

100.02

115.09

1rpido 0 lento

7. Conclusiones. Los pesos en el control mediante el uso de perceptores, son el factor ms determinante por el cual permite deducir cundo una entrada pertenece a una de las dos clases. Las resistencias en una red neuronal hacen las funciones de los pesos mientras que los Amplificadores operacionales se encargan de realizar las operaciones aritmticas lgicas. En entrenamiento de la red neuronal ests dado por los pesos y esta a su vez por el valor la las resistencias que se implementan.

8. Recomendaciones Tener en cuenta los valores de resistencias comerciales disponibles en el mercado ya que difieren en alto rango de las calculadas BibliografaCruz, P. P. (2010). INTELIGENCIA ARTIFICIAL CON APLICACIONES A LA INGENIERIA. Mexico: Alfaomega. Recuperado el 01 de Junio de 2015