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. 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 activación 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 señal de entrada en la unidad. 4. Una regla de propagación, que determina la entrada efectiva de una unidad a partir de las entradas externas. La función f puede ser sigmoidal. Cada unidad de proceso tiene una tarea simple: recibe la entrada de otras unidades o de fuentes externas y procesa la información para obtener una salida que se propaga a otras unidades. correspondiente a la regla del aprendizaje 8. Una red puede tener una estructura arbitraria. escalón. y las salidas se consideran la última capa. las entradas no se consideran como capa porque no realizan procesamiento.5. la expresión anterior se convierte en: u(t)=∑ w j ( t ) x j (t)+θ j . wk : pesos de las ligas de conexión. entre otras. Una entrada externa que corresponde a un término determinado como bias para cada unidad. hardlim y purelin. Si consideramos a las entradas como funciones del tiempo. Las capas internas que no se observan como entradas o salidas se denominan capas ocultas. 6. tangente hiperbólica. Por convención. Un método para reunir la información. f (•) : función no lineal simple. Las entradas externas son aplicadas en la primera capa. empleando RNA. pero las capas que contienen estas estructuras están definidas de acuerdo con su ubicación en la topología de la red neuronal. entre otras. En MATLAB® se tiene diferentes funciones de activación como tansig. más un bias θ : u=∑ w j x j +θ j Si el peso él es positivo se habla de una excitación y si el peso es negativo se considera una inhibición de la entrada. lo cual facilita las aproximaciones que se requieran hacer. con señales de entrada e incluso señales de error. En muchas redes las unidades de proceso tienen respuesta de la forma: y=f ( ∑ wk x k ) k xk : señales de salida de otros nodos o entradas externas. Una función de activación que actualiza el nuevo nivel de activación basándose en la entrada efectiva y la activación anterior. La entrada total u de una unidad k es la suma de los pesos de las entradas conectadas. 7. Un ambiente en el que el sistema va a operar. la activación es 0 (o -1). 4. ya sea por un agente externo o por el mismo sistema. la activación es 1.2. cuando la suma de las entradas es mayor o igual que el umbral de la neurona.4. la conexión entre las dos debe ser fortalecida mediante la modifi cación del peso: . propuesta por Hebb en 1949 y que ha dado pie a diversas variantes propuestas en el transcurso del tiempo. si es menor.3. En el segundo caso el entrenamiento se enfoca a encontrar características estadísticas entre agrupamientos de patrones en las entradas. y otro método implica el uso de técnicas de retroalimentación y patrones de aprendizaje que cambian los pesos hasta encontrar los adecuados. u(t )). Además. Si dos unidades j y k están activas al mismo tiempo. En muchas ocasiones esta función es de la forma no decreciente respecto a la entrada total de la unidad: Algunas de las funciones de activación más usadas son las siguientes: Función escalón La función de activación escalón se asocia a neuronas binarias en las cuales. Un tipo de regla que se usa para el entrenamiento mediante el ajuste de pesos es la Hebbiana. Entrenamiento De Las Redes Neurales Se denomina entrenamiento al proceso de confi guración de una red neuronal para que las entradas produzcan las salidas deseadas a través del fortalecimiento de las conexiones. En el primer caso se introducen entradas que corresponden a determinadas salidas. el aprendizaje puede dividirse en supervisado o asociativo y no supervisado o auto-organizado. Funciones De Activación La regla que logra establecer el efecto de la entrada total u(t) en la activación de la unidad k se denomina Función de activación (Fk): y (t +1 )=Fk ( y (t ). Una forma de llevar esto a cabo es a partir del establecimiento de pesos conocidos con anterioridad. El perceptrón Figura.Donde γ es una constante de proporcionalidad positiva que representa la tasa de aprendizaje. También puede entenderse como la neurona artificial y unidad básica de inferencia en forma de discriminador lineal. . es decir. El perceptrón puede utilizarse con otros perceptrones u otro tipo de neurona artificial. un algoritmo capaz de generar un criterio para seleccionar un sub-grupo. 4. 4. usando para su entrenamiento un método de mínimos cuadrados (LMS). se le conoce como Regla Delta: Donde dk es la activación deseada. se deben poder separar con un hiperplano los elementos "deseados" de los "no deseados". Otra regla usada comúnmente implica el ajuste de los pesos a través de la diferencia entre la activación actual y la deseada. para formar redes neuronales más complicadas. Perceptron Es un modelo que nos ayuda a dividir patrones linealmente separables y lo que hace este entrenamiento es deducir cuándo una entrada pertenece a una de las dos clases.Y dentro de la misma teoría de Rosenblatt. La limitación de este algoritmo es que si dibujamos en un plot estos elementos. Dentro del campo de las redes neuronales tiene dos acepciones. de un grupo de componentes más grande. Puede referirse a un tipo de red neuronal artificial desarrollado por Frank Rosenblatt. 1.4. excepto porque emplea una función de activación lineal. ADALINE (Adaptive Linear Neuron) La red ADALINE tiene una topología similar a la del perceptrón.5. Después de realizado el entrenamiento se elimina la entrada de datos de la salida del sistema. en señales telefónicas. Canceladores de ECO. reduciendo el error cuadrado de un ajuste lineal. 2010) . Los pesos son ajustados mediante la regla de Widrow-Hoff para minimizar la diferencia entre la salida y el objetivo. (Cruz. Un esquema de predicción básico es el siguiente. 3. Sistemas de predicción. Adicionalmente. las entradas pueden ser de forma continua. ADALINE con salida de activación Las redes ADALINE son estructuras de una capa con una función de escalón como no linealidad. 2. como lo muestra la fi gura Figura. en el cual se presenta un entrenamiento con datos del sistema tanto de la entrada como de la salida. Este algoritmo es una implementación iterativa de la regresión lineal. Red ADALINE Figura. mientras que en el perceptrón son binarias de ∓ 1.Entre sus aplicaciones se encuentran: Procesamiento de señales. Velocidad V1 0 0 1 1 V2 0 1 0 1 Salida 0 0 0 1 1→rápido 0 →lento 5. Crear las tablas de verdad para las cuales el sistema funcionara el motor. Dirección V1 V2 Salida 0 0 0 0 1 0 1 0 1 1 1 1 1 →izquierda 0 →derecha Tabla 2. Con ayuda de un programa de computador C++ se halla los pesos La inicialización de los pesos de la neurona de dirección fue: w 1=1 w 2=1 w 3=1 Los pesos que resultan son: . 5. La segunda neurona será entrenada para decidir a qué velocidad va a girar el sistema antes mencionado de acuerdo con la combinación que presenten dos interruptores.2. Procedimiento El desarrollo de este ejercicio es a través del entrenamiento de dos neuronas: la primera de ellas será entrenada para decidir la dirección 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.5. Tabla 1.1. Realizamos la suma de las entradas por los pesos ecuación: y (t )=f [ w1 X 1 +w 2 X 2−w θ X θ ] de la Mediante el siguiente uso de amplificadores operacionales En 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.55 w 2=0.3.2 La inicialización de los pesos de la neurona de velocidad fue: w 1=1 w 2=1 w 3=1 Los pesos que resultan son: w 1=0.4.14 5. 5.w 1=3 w 2=0. 4Configuración de los Amplificadores operacionales. Verificar las entradas y las salidas que cumplan la tabla de verdad .5 w 3=1. 4 5 w 3=1. V2=1 . V2= 0 Figura. Entradas V1= 0. Entrada V1=0.Figura. 5. 6. V2=0 Figura. output_low(PIN_B1). Programamos el pic para las salidas deseadas #include<16F628A. V2=1 5. .Figura.5. //Configura el puerto como salida set_tris_a(0xff). Entrada de V1=1. 7. void main () { set_tris_b(0x00). output_low(PIN_B0). 8 Entrada de V1=1.NOWDT // Configuracion de fusibles #use delay(clock=4M ) int i.h> // libreria del pic #fuses XT. output_high(PIN_B1). } } } 5. Adicionamos la parte de control del motor Figura. } // Gira derecha //a0=v1. output_high(PIN_B1). } if(input(pin_a0)==1 && input(pin_a1)==1 ) { output_low(PIN_B0). delay_ms(500).7. Funcionamiento del motor 5.a1=v2 if(input(pin_a0)==1 && input(pin_a1)==0 ) { output_low(PIN_B0).6. 9. 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). Procedemos armar el protoboa|rd . Implementación .Figura. 10. . Direccion V1 V2 Salida(V ) 0 0 0. Conclusiones.09 1→rápido 0 →lento 7.01 0. Análisis de resultados. son el factor más determinante por el cual permite deducir cuándo una entrada pertenece a una de las dos clases. y (t )=f [ w1 X 1 +w 2 X 2−w θ X θ ] Con la que obtuvimos los siguientes resultados donde 0= 0V y 1=5V. Las resistencias en una red neuronal hacen las funciones de los pesos mientras que los Amplificadores operacionales se encargan de realizar las operaciones aritméticas lógicas. .02 5. Los pesos en el control mediante el uso de perceptores. Velocidad V1 V2 Salida( 0 0 1 1 0 1 0 1 V) 0. Para evaluar la salida de la red neuronal se hace uso de la siguiente fórmula.2 1 →izquierda 0 →derecha Tabla 4.6.01 0 1 0. Tabla 3.02 0.7 1 1 15.02 1 0 12. Mexico: Alfaomega. INTELIGENCIA ARTIFICIAL CON APLICACIONES A LA INGENIERIA. P. Recuperado el 01 de Junio de 2015 . 8. En entrenamiento de la red neuronal estás dado por los pesos y esta a su vez por el valor la las resistencias que se implementan. Recomendaciones Tener en cuenta los valores de resistencias comerciales disponibles en el mercado ya que difieren en alto rango de las calculadas 9. (2010). P. Bibliografía Cruz.
Report "Control de Un Motor de Pasos Con Un Grupo de Perceptrones"