Circuitos

Solo disponible en BuenasTareas
  • Páginas : 6 (1441 palabras )
  • Descarga(s) : 0
  • Publicado : 22 de marzo de 2011
Leer documento completo
Vista previa del texto
OBJETIVOS

1. Definir la arquitectura de una Red Neuronal que permita realizar el control de dos motores que definen el desplazamiento de un robot básico.

2. Entrenar una Red Neuronal para que resuelvan un problema con parámetros linealmente separables.

3. Validar el modelo que se tiene con una Red Neuronal luego de entrenarla con los datos provenientes de la planta.DESCRIPCIÓN DEL PROBLEMA

Un robot cuenta con cuatro sensores de proximidad en distintas ubicaciones que permanentemente detectan si hay objetos en una distancia superior o inferior a la preestablecida. Con base en esto, se decide si se da marcha atrás o adelante con cada uno de los dos motores que posee. Para las entradas, tenga en cuenta que un objeto cercano es presentado por un sensor como un 1, y unobjeto lejano como un ‐1. En la salida, la marcha hacia adelante se presenta como un 1 y la marcha hacia atrás como un ‐1. La tabla presenta el comportamiento deseado del robot para siete posibles entradas.

Procedimiento

1. Dibuje la arquitectura de la red a implementar. Dada la simplicidad del problema (salidas binarias y número de posibles combinaciones de entrada conocido), podríapensarse en resolverlo con una red tipo perceptrón, utilícela y verifique, si el problema es linealmente separable.

1 (BIAS)

ADELANTE (M1)∑

HARLIMS
P1


P2
HARLIMS

∑1 (BIAS)
P3 ATRÁS (M2)
P4

Para la solución del problema se utilizó un perceptrón con dos neuronas con función deactivación HARLIMS, una para la activación del motor uno y la otra para el motor dos, cada una con sus respectivas entradas (sensores) y un bias definido.
La utilización de esta función de activación se debió a que las salidas toman valor de 1 o -1.

2. Seleccione y justifique una función de activación adecuada.
La función de activación adecuada para esta arquitectura, es una función deactivación HARLIMS, ya que las salidas para la activación de los respectivos motores (adelanto y retroceso) toman valores de 1 y -1 comprendidas en

3. En el código pruebe utilizando los siguientes comandos (utilice la ayuda de matlab para observar la sintaxis adecuadas en cada caso y en el informe describa cada comando
Definiciones de comandos
Newp: inicializa el perceptrón
Net.IW{1,1}:para definir o llamar un vector de pesos
Net.b{1}: para definir o llamar un vector de bias
Net.adaptparam.passes: para definir el número de iteraciones máximo
Adapt: para entrenar la red neuronal
Sim: para simular la red con el vector de pesos final (después de haber entrenado).
Programa en matlab para el entrenamiento de la red

%este programa entrena una red neuronal con dos neuronaspara la detección de obstáculos para un robot

clc %limpio pantalla
act_sensores=[1 -1 1 -1 1 1 1;1 1 1 -1 -1 1 1;1 1 -1 -1 1 -1 1;1 1 -1 -1 1 1 -1]%vector de entradas con base a los sensores
act_motores=[-1 -1 1 1 1 -1 1;-1 1 -1 1 -1 1 -1]; %activación de los motores, salidas deseadas.
net=newp([-1 1;-1 1;-1 1;-1 1],2,'hardlims')%inicializó el perceptrón con valor máximo y mínimo, y elvalor de las neuronas a utilizar y la función de activación
t=clock ; %asignación de reloj.
net.iw{1,1}=rand(2,4); %defino pesos de forma aleatoria
net.b{1}=[0.5;0.5]; %Se define valor de los bias inicial, dos por ser de neuronas.
net.adaptParam.passes = 100;%Defino el # máximo de iteraciones.
[net,act_motores,e] = adapt(net,act_sensores,act_motores); %adapto...
tracking img