El simulador del EyeBot tiene la forma de una librería. Esta librería implementa las funciones que ofrece ROBIOS en el robot real [Bräunl, 2005]. De esta forma el diseñador puede generar sus programas para el robot y enlazarlos para probarlos en un escenario simulado antes de ejecutarlos en el robot real.
Además de la librería el simulador incluye un script que se encarga de compilar el programa y enlazarlo con la librería de simulación, no con la librería preparada para el robot real. No todas las funciones de ROBIOS están soportadas en el simulador, aunque sí la mayoría. Por ejemplo el acceso crudo a los encoders o a los motores no está implementado. En su lugar se ha simulado el conjunto la librería VW. El soporte a la cámara es opcional y se decide en tiempo de instalación si se materializan las funciones relativas a la cámara o no. Si se quiere soportar es necesario incluir unas librerías adicionales (Mesa, Imlib y Coin) para enlazar con ellas.
El simulador del EyeBot es un ambiente de simulación para múltiples robots. Lo que se busca es poder realizar los experimentos necesarios antes de ejecutar los programas en los robots reales. El simulador del EyeBot incluye herramientas con las cuales es posible controlar la movilidad del robot, así como controlar los sensores además de lo siguiente:
• Visión On-board (imagen simulada) • Sensores infrarrojos
• Bumpers • Odometría
Éste simulador muestra una representación 3D del ambiente y de todos los robots existentes en la simulación, también es posible observar una lista de los robots activos.
La Figura E.1 muestra un ejemplo del simulador EyeBot con múltiples robots navegando en tiempo real, donde es posible observar lo que cada robot capta con su cámara.
Figura E. 1 Simulador EyeBot con múltiples robots.
Entre las principales características del simulado se encuentran las siguientes:
• Forma de compilación para simulación y enlace con las librerías necesarias: gccsim myfile.c
• Simulación de todas las funciones de los robots
• Error controlado de sensores, movilidad, y error en la imagen recibida • Teclas de entrada y pantalla LCD de salida
• Múltiples robots en la misma simulación
• Permite a los robots móviles navegar en ambientes simulados
• Sensores simulados: Bumpers, sensores infrarrojos, IR-proxy, la configuración de los sensores, nombres y valores son mostrados.
• Concurrencia: Múltiples robots puede ser simulados en tiempo real en el mismo ambiente.
• Parámetros de los archivos o myfile.sim
Parámetro principal para la simulación, enlaza el ambiente con los archivos del robot.
o myrobot.robi
Archivo de descripción del robot, dimensiones físicas, localización de sensores, etc.
o eyesim.ini
Archivo de inicialización de simulación, parámetros de tiempo, configuración de error, etc.
o myenv.maz o myenv.wld Archivo del ambiente.
G
Glloossaarriioo
Acción: Conducta que el agente utiliza para modificar al ambiente.Adaptabilidad. Es la habilidad para vencer los cambios internos y externos
Agente. Es un sistema que se inserta en un ambiente, y toma acciones para cambiar el estado del ambiente. Los ejemplos incluyen robots móviles, agentes de software, o los controladores industriales.
Ambiente. El sistema externo en el que un agente es “insertado”, y puede percibir y actuar sobre él.
Conducta. Es una ley de control que logra y/o mantiene alguna meta.
Estado. Percepción que el agente tiene del ambiente.
Estocástico. Es cuando solamente se toma un valor desconocido y dependiente.
Factor de descuento. Es un valor escalar entre 0 y 1 que determina el valor actual de la futura recompensa. Si el factor de descuento utiliza 1, el agente toma más en cuenta futuras recompensas. Los algoritmos que descuentan futuras recompensas incluyen Q-Learning y DT(Lambda).
Función de aproximación. Se refiere al problema de inducir una función desde ejemplos entrenados. Incluyen aproximaciones estándar, árboles de decisión y redes neuronales.
Función de recompensa: Define la meta a lograr por el agente. Determina que tan deseable es un estado o una pareja (estado-acción). En cierto sentido muestra que eventos son buenos o malos para que el agente logre su meta. El objetivo del agente es maximizar la cantidad de recompensa recibida durante el tiempo del experimento. La función de recompensa define lo que es bueno para el agente en forma inmediata.
Función de valor (estado):El valor de un estado es la cantidad total de recompensa que el agente espera acumular en el futuro, a partir de dado estado. Especifica lo que es bueno para el agente en el largo plazo.
Función de valor (estado-acción): Valor esperado de la recompensa acumulada en el futuro, a partir del estado y la acción dados. La estimación de los valores de estas funciones es el núcleo de la actividad de este método.
Política. Es un mapa de las entradas, estados, o condiciones, para las acciones o conductas.
Proceso de Decisión de Markov (PDM). Es un modelo probabilístico de un problema de decisión secuencial, donde los estados pueden percibirse exactamente, y el estado actual y la acción determina una probabilidad de distribución sobre futuros estados. Esencialmente, el resultado de aplicar una acción al estado depende solo del estado y acción actual (y no de estados o acciones anteriores).
Programación Dinámica (PD). Es una clase de métodos de solución para resolver problemas de decisión secuencial con una estructura de costo composicional. Richard Bellman fue uno de los fundadores principales de este enfoque.
N
Noottaacciióónn
t: Tiempo discretoT: Tiempo final de un episodio
St: Estado en t
at: Acción en t
rt: Recompensa en t
Rt: retorno (recompensa descontada acumulada)
π: Política
π(a): Probabilidad de tomar la acción a
π(s): Acción tomada en el estado s bajo la política determinista π
π(s, a): Probabilidad de tomar la acción a en el estado s bajo política estocástica π
A(s): Conjunto de acciones posibles en el estado s
ℜ: Conjunto de números reales
: '
a ss
P Probabilidad de transición del estado s al estado s’ bajo la acción a
: '
a ss
R Recompensa inmediata esperada en la transición desde s hacia s’ bajo la acción a
Vπ(s): Valor del estado s bajo la política π (retorno esperado)
V*(s): Valor del estado s bajo la política óptima
V, Vt: estimaciones de Vπ o V*
Qπ(s,a): Valor de tomar la acción a en el estado s bajo la política π
Q*(s,a): Valor de tomar la acción a en el estado s bajo la política óptima
γ: Parámetro de factor de descuento
∈: Probabilidad de elegir una acción aleatoria en política ∈-greedy