#acl BecariosGrupo:read,write,revert All:read #acl Default All:read = Revision de arquitectura para robot movil = == Arquitectura deliberativa o jerárquica == Divide el problema de controlar un robot en funciones o componentes aislados que tienen que ser ejecutados en orden, con la salida de un módulo actuando como entrada del siguiente. En cada paso, el robot planea explícitamente el siguiente movimiento, para lo cual necesita almacenar información detallada del entorno y procesarla utilizando algoritmos que pueden tener largos tiempos de cómputo. {{attachment:ArquitecturaNavegacionRobot0.png | "ArquitecturaNavegacionRobot0.png" | width="30%" }} ==== Desventajas ==== * Grandes necesidades de cómputos. * No se actua hasta que no se ejecuta el lazo de control. Mas lento para reaccionar. * Velocidad de procesamiento depende de la cantidad de sensores. * La latencia los sistemas deliberativos suelen asumir que el entorno no cambia entre sucesivas activaciones del módulo de percepción * Intercala Planificación con la ejecución de comandos. El robot obtiene un plan, comienza a ejecutarlo, luego lo cambia si el mundo es diferente del que esperaba. La modelización del entorno es un problema importante en este tipo de arquitecturas, ha sido resuelto tradicionalmente mediante dos métodos === Sistemas Jerárquicos === Descomponen el proceso de control en funciones, de forma que los procesos de bajo nivel proporcionan funciones simples, que son agrupadas sucesivamente en procesos de alto nivel, hasta llevar a cabo el control del robot. Muchas de las arquitecturas desarrolladas según este esquema suelen agrupar la funcionalidad en dos capas: una de acceso y control del hardware y otra en la que se llevan a cabo las labores de planificación y monitorización. Ejemplo NASA/NBS Standard Reference Model for Telerobot Control System Architecture. {{attachment:ArquitecturaNavegacionRobot01.png | "ArquitecturaNavegacionRobot01.png" | width="70%" }} ==== Ventajas ==== * Modularidad * Código re utilizable * Permite diferentes tiempos de operación entre los módulos. === Sistemas Pizarra === La centralización de la información en una pizarra, que es compartida por todos los sistemas que integran la arquitectura, permite desacoplar los procesos entre sí y minimiza la comunicación entre ellos. Esto es debido a que la pizarra actúa como núcleo común que almacena la información. {{attachment:ArquitecturaNavegacionRobot1.png | "ArquitecturaNavegacionRobot1.png" | width="50%" }} Sobre la pizarra se almacena toda la información sensorial que, en muchos casos, pasará previamente por un módulo de percepción que realizará una fusión sensorial. Los sistemas de pizarra facilitan mucho el proceso de fusión sensorial, por el cual se combina la información recibida por diferentes sensores, consiguiendo así ampliar la capacidad de percepción del robot. Las fuentes de conocimiento no se pueden comunicar entre sí directamente, ni interactuar de ninguna otra forma que no sea mediante cambios en la pizarra. No todas las fuentes de conocimiento son apropiadas para ejecución en cualquier instante. Por tanto, sólo un determinado subconjunto de todos los agentes estarán activadas en un momento dado. Un agente se activa en base al estado de la pizarra o a cambios que se producen en dicho estado. '''Ejemplo: Armado de rompecabezas por varias personas ''' El módulo de control normalmente estará formado por un conjunto de módulos que monitorizan los cambios en la pizarra, y un planificador que decide cuáles son las próximas acciones a tomar. Los módulos de control utilizan varios tipos de información proporcionada por el sistema. Esta información puede estar en la pizarra o almacenada de forma separada. ==== Ventajas ==== * Permite sistema de sensores mas complejos * Es muy adecuado para tratar con incertidumbre y con datos incompletos ya que, al ser su funcionamiento incremental, permite ir haciendo progresos e intentar avanzar hacia la solución con el conocimiento disponible. * No todos los sensores estan activos al mismo tiempo ==== Desventajas ==== * Cuello de botella en la comunicación. * Complejidad al diseño de determinados sistemas de la arquitectura y puede introducir errores de temporización. * Mas dificultoso la reutilización de los agentes * El aspecto compartido de las estructuras de datos de la pizarra crea un gran dependencia de la elección de la representación de los datos. == Ejemplos de arquitectura deliberativa == === 1. Conocimento de la tarea y el entorno === Se considera que se cuenta con un mapa del entorno que responde de forma fiel a la realidad. {{attachment:ArquitecturaNavegacionRobot3.png | "ArquitecturaNavegacionRobot3.png" | width="30%" }} '''Planificador de ruta:''' Es una secuencia de puntos que representan submetas para alcanzar el objetivo. '''Generación del camino:''' Interpola la secuencia de submetas construidas por el planificador de ruta mediante una función continua. '''Sampler:''' Discretiza la secuencia de submetas para obtener el camino. '''Seguimiento del camino:''' Efectúa el desplazamiento del vehículo, según el camino generado mediante el adecuado control de los actuadores del vehículo. === 2. Conocimiento de la tarea - Entorno con cierta incertidumbre === Se introducen nuevos elementos al equema anterior que palian las imperfecciones al omitir algunos detalles del entorno. {{attachment:ArquitecturaNavegacionRobot2.png | "ArquitecturaNavegacionRobot2.png" | width="30%" }} Se desdobla la tarea de planificacion en dos partes. '''Planificador Global:''' Es análogo al planificador de ruta del esquema anterior. Construye la ruta que lleve al robot a cada una de las submetas. Esta planificación es una aproximación al camino final que se va a seguir, ya que en la realización de esta acción no se consideran los detalles del entorno local al vehículo. '''Planificador Local:''' Resuelve las obstrucciones sobre la ruta global en el entorno local al robot para determinar la ruta real que será seguida. El modelo del entorno local se construye mediante la fusión de la información proporcionada por los sensores externos del robot móvil. En el caso de realizar una navegación sobre entornos totalmente conocidos resulta innecesario tener un planificación local. A medida que disminuye el conocimiento del entorno, aumenta la relevancia de la misma. === Arquitectura pizarra - Control basado en eventos === {{attachment:ArquitecturaNavegacionRobot5.png | "ArquitecturaNavegacionRobot5.png" | width="90%" }} === Arquitectura pizarra - Control jerárquico === {{attachment:ArquitecturaNavegacionRobot4.png | "ArquitecturaNavegacionRobot4.png" | width="90%" }}