#acl BecariosGrupo:read,write,revert All:read #acl Default All:read == Arquitectura Reactiva == Opuesto al sistema Jerárquico, los sensores están directamente acoplados con los actuadores. El movimiento del robot se descompone en una serie de comportamientos que, una vez combinados, dan lugar al comportamiento global, en vez de ser este obtenido como resultado de un proceso deliberativo. En el enfoque reactivo hay una conexión directa de percepción a acción sin necesidad de un modelo del mundo. Esta se puede definir como la principal diferencia con la arquitectura anterior pierde relevancia el concepto de planificacion global. Es necesario definir un mecanismo para determinar la acción a tomar. {{attachment:ArquitecturaNavegacionRobot5.png | "ArquitecturaNavegacionRobot5.png" | width="50%" }} ==== Ventajas ==== * Sistema de Control mas rápido. * Resuelven la necesidad de modelar el entorno y compartir este conocimiento entre todos los sistemas del robot . * Se utilizan cuando la tarea a realizar es sencilla, incluso en entornos cambiantes * Facilidad de desarrollo modular * No requiere un modelo del mundo. Una tarea simple no obliga a razonar sobre todo el modelo ==== Desventajas ==== * Los comportamientos complejos quedan codificados en función de otros más simples, lo cual dificulta su depuración y entendimiento. * Existe siempre la incertidumbre de si el comportamiento global emergente permitirá finalmente alcanzar el objetivo seleccionado. * Limitaciones sensoriales pueden ocasionar problemas al no contar con un modelo. * No garantiza la mejor solución * no existe un método de descomposición en comportamientos ni en el orden (sistemas subsumption) ni las ganancias (motor schemas) son fáciles de definir * A veces los comportamientos entran en conflicto, se compensan y el robot queda bloqueado Incertidumbre: con respecto al sistema jerarquico toma mas importancia los errores debido a * Ruido en los sensores. * Error en los actuadores. === Dos metodos para calcular el comportamiento global === ==== Modelo Cooperativo ==== Permite utilizar concurrentemente las salidas de muchos comportamientos individuales. Puesto que la salida global del sistema es una media ponderada de los comportamientos activos en cada caso, la respuesta tiende a ser suave . {{attachment:ArquitecturaNavegacionRobot6.png | "ArquitecturaNavegacionRobot6.png" | width="50%" }} '''Desventaja''' Puede quedar bloqueado como consecuencia de los posibles conflictos que pueden crearse entre distintos comportamientos . === Modelo competitivo === La acción global de control depende únicamente del comportamiento elegido en cada caso. {{attachment:ArquitecturaNavegacionRobot7.png | "ArquitecturaNavegacionRobot7.png" | width="50%" }} Por último, resta por solucionar la selección y coordinación de los comportamientos básicos que están activos en cada momento === Arquitectura reactiva Subsumption === Una arquitectura descompuesta en módulos especializados en realizar tareas individuales, denominados comportamientos. Se trata de una descomposición vertical del problema de navegación que se comporta de forma eficiente en entornos dinámicos donde se posee un conocimiento impreciso del mismo. Esta parcialmente estratificada en capas. La primera de ellas propone la agrupación de los comportamientos en distintas capas jerárquicas, que aumentan en nivel de complejidad conforme se asciende en dicha jerarquía. Este método de coordinación está basado en el modelo competitivo de obtención del comportamiento global, ya que las capas inferiores tienen una prioridad mayor que las superiores. En cada intervalo de navegación el sistema sensorial, según la información extraída del entorno local del robot, activa uno o varios comportamientos simples que suman sus actuaciones, de tal manera que el comportamiento final resulta una mezcla de los simples activados. Los módulos de una capa pueden sobreescribir o subsumar la salida de un comportamiento de una capa inferior. {{attachment:ArquitecturaNavegacionRobot8.png | "ArquitecturaNavegacionRobot8.png" | width="50%" }} Brooks, R.: «A robust layered control system for a mobile robot». IEEE Journal of Robotics and Automation, 1986, 2(1), IEEE Computer Society. ISSN 0882-4967. Como ejemplo tenemos la arquitectura Saphira1. Está organizada alrededor de un espacio de percepción local (Local Perceptual Space, LPS), que contiene diversas representaciones del entorno que rodea al robot, tal y como es percibido por los sensores del mismo. El LPS no sólo actúa como un repositorio centralizado de la información sensorial y de los mapas suministrados a priori, sino que también proporciona diversas interpretaciones de la misma, según las necesidades del módulo que la requiere. La arquitectura de control del robot contiene representaciones y rutinas para procesado de información de los sensores, representación del entorno y acciones de control del robot. La decisión de qué modulo toma el control no será tomada por ningún proceso planificador, si no que estará preestablecida por software o hardware. === Arquitectura reactiva Motor Schema === Los comportamientos sencillos son denominados Motor schema porque cada uno produce como salida un vector de velocidad que representa la dirección y la velocidad a que debe desplazarse el robot. La acción global de movimiento es obtenida como resultado de la suma vectorial de todos los vectores velocidad resultado de los comportamientos activos en cada momento. Es decir, en este caso se sigue un modelo cooperativo. {{attachment:ArquitecturaNavegacionRobot9.png | "ArquitecturaNavegacionRobot9.png" | width="50%" }}