100% encontró este documento útil (1 voto)
432 vistas13 páginas

Control de Un Motor de Pasos Con Un Grupo de Perceptrones

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

Cargado por

Jairo Vásquez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
432 vistas13 páginas

Control de Un Motor de Pasos Con Un Grupo de Perceptrones

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

Cargado por

Jairo Vásquez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

1.

Tema
Implementacin 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 perceptrones

3. 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 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 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 aprendizaje
8. 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:

y=f ( wk x k )
k

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

u= w j x j +
j

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:

u(t)= w j ( t ) x j (t)+
j

4.2. Funciones De Activacin


La regla que logra establecer el efecto de la entrada total u(t) en la activacin de la
unidad k se denomina
Funcin de activacin (Fk):

y (t +1 )=Fk ( y (t ), u(t )).

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 escaln
La 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 Neurales


Se 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 activacin

Las 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. Direccin
V1
V2
Salida
0
0
0
0
1
0
1
0
1
1
1
1
1 izquierda 0 derecha
Tabla 2. Velocidad
V1
0
0
1
1

V2
0
1
0
1

Salida
0
0
0
1

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:

w 1=1
w 2=1
w 3=1
Los pesos que resultan son:

w 1=3
w 2=0.5
w 3=1.2
La inicializacin 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.55
w 2=0. 4 5
w 3=1.14

5.3.

Realizamos la suma de las entradas por los pesos


ecuacin:

y (t )=f [ w1 X 1 +w 2 X 2w 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. 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=1

5.5.

Programamos el pic para las salidas deseadas


#include<16F628A.h> // 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.

y (t )=f [ w1 X 1 +w 2 X 2w X ]

Con la que obtuvimos los siguientes resultados

donde 0= 0V y 1=5V.

Tabla 3. Direccion
V1

V2

Salida(V

)
0
0
0.01
0
1
0.02
1
0
12.7
1
1
15.2
1 izquierda 0 derecha
Tabla 4. Velocidad
V1

V2

Salida(

0
0
1
1

0
1
0
1

V)
0.01
0.02
0.02
5.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

9. Bibliografa
Cruz, P. P. (2010). INTELIGENCIA ARTIFICIAL CON APLICACIONES A LA
INGENIERIA. Mexico: Alfaomega. Recuperado el 01 de Junio de 2015

También podría gustarte