PDF de programación - Redes Neuronales Cooperativas para el Control de un Robot Autónomo

Filtrado por el tag: mysql
Imágen de pdf Redes Neuronales Cooperativas para el Control de un Robot Autónomo

Redes Neuronales Cooperativas para el Control de un Robot Autónomográfica de visualizaciones

Publicado el 27 de Julio del 2017
782 visualizaciones desde el 27 de Julio del 2017
880,7 KB
5 paginas
Creado hace 12a (29/10/2012)
Redes Neuronales Cooperativas para el Control de un Robot Autónomo



División de Estudios de Posgrado e Investigación, Instituto Tecnológico de La Paz

Oscar Luis Ruíz Bernal, Saúl Martínez Díaz

[email protected], [email protected]



Resumen

En este trabajo se propone el uso de redes
neuronales cooperativas para controlar un robot
autónomo. El entrenamiento de las redes se llevó a
cabo utilizando un algoritmo genético. Además se
realizó una comparación entre la estructura propuesta
y una estructura de red neuronal única. Los resultados
obtenidos por medio de simulaciones muestran un
mejor desempeño de la estructura cooperativa con
respecto a la estructura monolítica.


1. Introducción


En

se ha

los últimos años

incrementado
considerablemente la aplicación de redes neuronales
artificiales (RNA) en
la solución de problemas
diversos. En gran medida esto se debe a su capacidad
de aprender, generalizar y organizar datos [1]. Esta
idea resulta particularmente atractiva en el área de la
robótica, donde se trata de emular un comportamiento
inteligente en el robot para realizar una
tarea
determinada.

Uno de los aspectos aún en estudio de las RNA´s es
la estructura que debe tener la red. En [2] se utilizó una
RNA única para que un robot seleccionara una acción
entre un conjunto de acciones posibles. Bajo este
esquema se requiere una red grande de la cual depende
totalmente la tarea a realizar. Otra posibilidad que se
ha propuesto es el uso de varias redes que trabajan de
manera colaborativa. De este modo una tarea se divide
en sub-tareas más simples, cada una de las cuales se
distribuye entre cada red [3]-[7]. En [3] se propuso el
alineamiento de imágenes utilizando redes neuronales
cooperativas. En [4] se utilizó este enfoque modular
para prevenir intrusiones en redes de computadoras y
dispositivos móviles. En [5] se utilizó este tipo de red
modular para clasificar datos obtenidos por sensores
remotos. En [6] se propuso una estructura de sub-
agentes simples para controlar un robot autónomo
mediante el uso de múltiples RNA’s. Además, en [7]



se presenta una aplicación utilizando una arquitectura
de múltiples redes cooperativas para controlar un robot
dirigible. En este último caso los resultados muestran
que dicha arquitectura es más robusta a fallas del robot
que una arquitectura monolítica.

resolver una

cooperativas para

En este trabajo se propone una arquitectura de
tarea
RNA´s
determinada, utilizando un robot autónomo. La tarea
consiste en encontrar un objeto (una pelota), buscar un
contenedor y colocar el objeto. Además se presenta una
comparación de la capacidad de generalización de la
arquitectura propuesta con respecto a una arquitectura
monolítica. En ambos casos se utilizó un algoritmo
genético (AG) para entrenar las redes. Debido a sus
características, los AG´s y las RNA´s han tendido a
fusionarse en diversas aplicaciones de inteligencia
artificial [8]. El entrenamiento se efectuó de forma
simultánea en varias computadoras personales, para
incrementar su velocidad.



Figura 1. Estructura de red neuronal monolítica.



2. Redes neuronales


La arquitectura de las RNA´s utilizadas se diseñó
utilizando retroalimentación (red recurrente). Este tipo
de redes han demostrado ser más poderosas y tener una

Memorias del 5to.Congreso Internacional en Ciencias Computacionales CiComp 2012-26- mayor estabilidad que las redes no recurrentes en
aplicaciones de planeación de trayectorias y control
[9]. La estructura de red neuronal monolítica se
muestra en la figura 1. Por otro lado las redes
cooperativas tienen la misma estructura, la cual se
muestra en la figura 2.


En la red neuronal de estructura monolítica se
definen tres capas de neuronas una de ellas oculta, la
capa de entrada cuenta con doce neuronas, nueve
reciben información de los sensores de distancia, una
recibe cero o uno al haber capturado o no la pelota, y
las dos siguientes reciben retroalimentación de la capa
de salida. La capa oculta cuenta con 11 neuronas sin
retroalimentación de la capa de salida o de sí misma.
Finalmente se tienen dos neuronas de salida que
definen el movimiento de cada rueda del vehículo y
cada neurona retroalimenta a una neurona de entrada
diferente.



Figura 2. Estructura de red neuronal monolítica.



El modelo de redes cooperativas utiliza tres redes
neuronales con la misma estructura. La primera red se
configura para evitar chocar, la segunda para detectar
de manera lateral los objetos, y la tercera para detectar
de manera frontal los objetos.

red

seis neuronas, cada

En cada red cooperativa se definen tres capas de
neuronas una de ellas oculta, la capa de entrada cuenta
con
recibe diferente
información de entrada. La capa oculta cuenta con
cuatro neuronas sin retroalimentación de la capa de
salida o de sí misma. Finalmente se tienen dos
neuronas de salida que definen el movimiento de cada
rueda del vehículo y cada neurona retroalimenta a una
neurona de entrada diferente.

El valor final de salida que define la velocidad y la
dirección del vehículo es la sumatoria de las salidas de
las tres redes neuronales. Esto es, la neurona de salida
1 de cada red neuronal se suma para alimentar a la



rueda izquierda, la neurona de salida 2 de cada red
neuronal se suma para alimentar a la rueda derecha.

Se utiliza retroalimentación a sí misma para que
cada neurona establezca un nivel de “estados”, donde
una parte de la entrada sea un historial de los
comportamientos anteriores. Con
la finalidad de
incrementar la influencia de los comportamientos
anteriores, la entrada de estas neuronas se calcula por:



E = (S *0.2) + (E * 0.8)



(1)


Donde E es el valor de entrada y S es la salida que
se retroalimenta. El parámetro de umbral no se utiliza.
El resto de las neuronas se definen con la sumatoria de
todas las entradas y en cada neurona se utiliza como
función de activación la siguiente función, la cual
permite utilizar entradas continuas y discretas con un
rango de salida de [0, 1].



(2)


3. Algoritmo Genético


De acuerdo con Zbigniew Michalewicz [10] un

algoritmo genético está compuesto por 5 elementos:
 Un individuo como una representación genética de
la solución del problema, el cual es evaluado para
seleccionar las mejores soluciones,

 Un camino para crear una población inicial de

soluciones,

 Una función de evaluación de la calidad de las

soluciones en términos de su eficiencia,

 Operadores genéticos

intercambien
componentes genéticos en los hijos durante la
reproducción y

tal que

 Un grupo de valores adecuados para los parámetros

del algoritmo genético.
Los AG´s se utilizan principalmente porque pueden
trabajar sobre varias soluciones de forma simultánea,
lo cual facilita su implementación en paralelo. Además,
al utilizarse en problemas de optimización son menos
susceptibles de quedar atrapados en óptimos locales,
comparados con los métodos de búsqueda local. Los
parámetros utilizados para el AG fueron:
Población = 100
Generaciones = 50
Tamaño del torneo = 3
Probabilidad de cruce = 70%
Probabilidad de mutación = 10%

Estos parámetros fueron obtenidos de manera
experimental, buscando aquellos que dieran mejores
resultados. Durante el cruce se hace una selección
aleatoria del número de cromosomas a intercambiar. El
porcentaje de mutación disminuye
cada

con

11xyeMemorias del 5to.Congreso Internacional en Ciencias Computacionales CiComp 2012-27- generación. Se utiliza el elitismo para conservar el
mejor de cada generación. El operador de selección por
torneo presenta la característica de preservar sólo a los
mejores individuos a diferencia del método de la ruleta
donde existe la posibilidad de que el peor calificado de
los individuos pase a la siguiente generación. El
número de individuos es de tres ya que da mayor
seguridad sobre
los mejor
calificados. Esta decisión va acorde al uso del elitismo,
el cual permite que el mejor de los individuos se
conserve para la siguiente generación, de modo que en
la última generación se tenga el mejor individuo hasta
ese momento.

la supervivencia de

En el caso particular de las redes independientes se
toman como un sólo individuo por lo que evolucionan
en su conjunto, esto es, se suma el valor de eficiencia
de las tres redes para estimar su valor al momento del
torneo y se seleccionan las tres para conformar el
siguiente
individuo. Al momento del cruce se
intercambian cromosomas entre las redes del mismo
tipo. La función de aptitud le da puntos por diferentes
conceptos:
 El máximo valor se obtiene al depositar la pelota en

el contenedor (10,000).

 Al encontrar la pelota (1,000).
 Al detectar la pelota o el contenedor por los
sensores frontales se agrega 0.1 si la diferencia de
velocidad en ambas ruedas es menor a 0.05 (en un
rango de -3 a 3), en caso contrario se resta 0.1.

 Al detectar la pelota o el contenedor por los
sensores laterales se agrega 0.1 si la diferencia de
velocidades de las ruedas en menor a 0.1 a favor
del sentido donde fue detectado el objeto, en caso
contrario se r
  • Links de descarga
http://lwp-l.com/pdf5810

Comentarios de: Redes Neuronales Cooperativas para el Control de un Robot Autónomo (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad