Está en la página 1de 5

RCGCalume 1

Implementación, Entrenamiento y Análisis de


Robot con Sensores
Roberto Carlos Guevara Calume Ingeniero de Sistemas , Esp Redes corporativas integración de
tecnologías, Msc Automatización y control industrial


Abstract—. This paper focuses on the Implementation,
Training and Analysis of Robot with sensors, analyzes the
perceptron response, varying quality and quantity of training
matrix

Index Terms— Robot, Sensores, Perceptron, Entrenamiento


mínimo,

I. PLANTEAMIENTO DEL PROBLEMA


Tabla 1 Entradas de los sensores (S1, S2, S3) y Salidas esperadas en los
Se tiene un robot que cuenta con tre sensores de proximidad en motores
distintas ubicaciones que permanentemente detectan si hay
objetos que se encuentren a una distancia superior o inferior a Las posibilidades se pueden expresar como:
la preestablecida.
Entrada_Analizar =
En las lecturas de los sensores podrían darse 8 posibles
combinaciones (8 = 23) y para cada combinación cada uno de 1 -1 1 -1 1 -1 1 -1
los dos motores podría dar marcha adelante o marcha atrás. 1 1 -1 -1 1 1 -1 -1 (3)
1 1 1 1 -1 -1 -1 -1
Entrada_Conocida =
La implementación de la red neuronal debe entregar una salida
-1 -1 1 1 1
consecuentemente lógica, de (3) que impida al carro estrellarse
-1 1 -1 1 1 (1)
-1 1 1 -1 1

II. IMPLEMENTACIÓN CON LAS CONDICIONES PROPUESTAS


Salida_Conocida =

1 -1 1 1 -1 (2) Para buscar una salida consecuentemente lógica, de (3) que


1 1 1 -1 -1 impida al carro estrellarse contra un obstáculo , se entrena la
red usando los valores conocidos para las entradas (1) y para
Esta información esta dada en el planteamiento del problema las salidas (2).

La implementación requirió completar todas las posibilidades


de entrada (3)

Luego de implementar la red en MATLAB usando hardlims


se entrena usando (1) y (2) y apoyado en :

net=adapt(net,Entrada_Conocida,Salida_Conocida);(4)

se solicita a la red entrenada y condicionada según el


entrenamiento previo, una matriz de salida

Salida = sim (net, Entrada_Analizar) (5)


RCGCalume 2

Salida_Conocida =
III. ANÁLISIS DE LAS SOLUCIÓN ENTREGADA POR LA RED
1 -1 1 1 (9)
Para el análisis se tomo (3) como entrada las respuestas 1 1 1 -1
posibles teniendo como preferencia tomar derecha y avanzar,
incluso si podía girar. Lo que se puede representar, para las
entradas (S1, S2 y S2) con un -1 entrada sin obstáculos, 1 Entrada_Analizar =
entrada con obstáculo, para las salidas (M1, M2) avance de
motor 1, retroceso de motor -1. 1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1 (10)
1 1 1 1 -1 -1 -1 -1
Entradas Salidas
S1 S2 S3 Situación M1 M2 resultado
1 1 1 X X X -1 -1  Salida =
1 1 -1 X X 1 -1 
1 -1 1 X X 1 1  -1 -1 1 -1 1 -1 1 1 (11)
 -1 1 1 1 -1 -1 -1 1
1 -1 -1 X 1 -1
-1 1 1 X X -1 1 
-1 1 -1 X -1 -1  Al comparar las salidas (7) y (11) no existen diferencias con
-1 -1 1 X -1 1  menos infamación inicial el sistema llega a la misma respuesta
-1 -1 -1 1 1 
Nuevamente eliminamos más información de entrenamineto a
una matriz de 3x3
Tabla 2 Entradas de los sensores y salidas completas (S1, S2, S3, M1, M2),
las líneas en azul son dados como condiciones iníciales.
Entrada_Conocida =
Al ejecutar el programa usando la función Sim apoyados de
-1 1 1
Salida = sim (net, Entrada_Analizar)(6) 1 -1 1 (12)
1 1 -1
Se verifica como respuesta la siguiente matriz

Salida = Salida_Conocida =

-1 -1 1 -1 1 -1 1 1 (7) -1 1 1 (13)
-1 1 1 1 -1 -1 -1 1 1 1 -1

Al comparar la salida de la implantación en Matlab estas (7)


coinciden con lo esperado en la tabla 2 en un 100% ,. Entrada_Analizar =

1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1 (14)
IV. VERIFICACIÓN E IMPLEMENTACIÓN CON MENOS 1 1 1 1 -1 -1 -1 -1
INFORMACIÓN INICIAL
Para validar el sistema se cambiaron la condiciones iníciales
Salida =
matriz 4x4 , entrenando al sistema con menos información
inicial y estas fueron las condiciones iníciales y respuesta
-1 -1 1 -1 1 -1 1 1 (15)
-1 1 1 1 -1 -1 -1 1
Entrada_Conocida =

-1 -1 1 1
Al comparar las salidas (7), (11) y (15) no existen diferencias
-1 1 -1 1 (8)
con menos infamación inicial el sistema llega a la misma
-1 1 1 -1
RCGCalume 3

respuesta, Nuevamente eliminamos más información de


entrenamiento a una matriz de 2x2

Entrada_Conocida =

-1 1
1 -1 (16)
1 1

Salida_Conocida = Fig 2 obstaculos en ambos flancos y en frente.

-1 1 (17)
1 1 Reajustamos en entrenamiento de forma que, si no hay ningún
obstáculo avanza y si hay un obstáculo en en cualquier flanco
retrocede
Entrada_Analizar =
Entrada_Conocida =
1 -1 1 -1 1 -1 1 -1
-1 1
1 1 -1 -1 1 1 -1 -1 (18) -1 1 (20)
1 1 1 1 -1 -1 -1 -1 -1 1

Salida = Salida_Conocida =

-1 -1 1 -1 1 -1 1 1 (19) 1 -1 (21)
1 1 1 1 1 1 1 1 1 -1

En esta ves la respuesta esperada no es igual, sin embargo solo Entrada_Analizar =


presenta un error cuando la hay un obstáculo en de la forma
mostrada en fig 1 y fig 2 1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1 (22)
1 1 1 1 -1 -1 -1 -1

Salida =

-1 -1 -1 1 -1 1 1 1 (23)
-1 -1 -1 1 -1 1 1 1

Bajo el esquema de la figura 3 podríamos pensar que podría


retroceder y retrocede de forma predecible aunque no de
forma inteligente
Fig 1 Obstáculos enfrente y derecha

Fig 3 Obstáculos laterales


RCGCalume 4

Sin embargo existe error, bajo el esquema de la figura 4 donde Entrada_Conocida =


existen menos obstáculos y avanza pero de forma incorrecta
-1
1 (28)
-1

Salida_Conocida =

-1 (29)
-1

Fig 4 Entrada_Analizar =

Lo que lleva a pensar que se usa la cantidad de obstáculos 1 -1 1 -1 1 -1 1 -1


como parámetro a seguir cuando no tiene información. 1 1 -1 -1 1 1 -1 -1 (30)
1 1 1 1 -1 -1 -1 -1

Nuevamente como entrada se usa una matriz de 2x2 pero se


Salida =
enseña que si no hay ningún obstáculo se debe avanzar pero de
tener un obstáculo en frente debe retoceder
1 -1 1 1 -1 -1 1 -1 (31)
1 -1 1 1 -1 -1 1 -1

La respuesta es errática para el problema, aunque lógica pues


Entrada_Conocida =
se guía asi retocede si si hay mayor cantidad de -1 en la
entrada, de igual forma avanza si hay mayor cantidad de 1;
-1 -1
-1 1 (24)
Pero si cambiamos a que avance solo si hay posibilidad de
-1 -1
avanzar como lo mostrado en la figura 5

Salida_Conocida =

1 -1 (25)
1 -1

Entrada_Analizar =

1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1 (26) Fig 5 Onstaculos en ambos flancos
1 1 1 1 -1 -1 -1 -1
Salida =

Salida = 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 (32)
-1 -1 1 1 -1 -1 1 1
-1 -1 1 1 -1 -1 1 1 (27) La salida es muy interesante pues aunque se “negó ” la entrada
la salida final no fue (31) negado

En esta ocasión la salida (27) es consecuente con un modelo Con 2 entradas como figura 1 y figura 4 vemos
sin errores,
Entrada_Conocida =
Por último se aplica el software entrenándolo solo para que
retroceda si hay un obstáculo en frente -1 1
1 -1 (33)
RCGCalume 5

-1 1 V. CONCLUSION

La efectividad del software depende en gran medida del


Salida_Conocida = universo de posibilidades, y la cantidad de información inicial
que se tenga disponible.
-1 1 (34)
-1 1 Las respuestas siempre son lógicas pero se basan en calidad de
los valores de entrenamiento, se puede evidenciar que en el
caso del robot la información no negada no da iguales
resultados que la información sin negar.
Salida =
La contidade de informacion de de entrenamiento es crucial
1 -1 1 1 -1 -1 1 -1 pero aun no se entiende el mecanismo que permite desidir cual
1 -1 1 1 -1 -1 1 -1 (35) información es más relevante que otra.
Si comparamos (31) salida con solo una entrada conocida y Parece ser que existe una relación mínima entre la cantidad de
(35) salida con 2 entradas conocidas son iguales, de información de entrenamiento y la cantidad de salidas
posibles del sistema que asegura una la respuesta esperada, en
este caso se evidencio que 3 entradas pueden dar una salida
igual que 4 entradas planteadas

Se llevo al límite del entrenamiento, solo con una entrada a


que se pudo evidenciar que existen entradas que contienen mas
infamación que otras.

REFERENCIAS
[1] Bonifacio M. del Brio., S. M. Alfredo “Redes neuronales y sistemas
difusos,” 2nd ed. vol. 1, RA-MA, Ed. Alfaomega,
[2] Moore, holly Matlab para Ingenieros Editorial: Pearson ISBN: 970-26-
1082-6

También podría gustarte