Robtica Inteligente Tema 6 Programacin L Enrique Sucar
Robótica Inteligente Tema 6: Programación L. Enrique Sucar Marco López ITESM Cuernavaca
Programación Robots Arquitectura Planeación sensores Modelado espacio actuadores Control Programación bajo nivel
Programación Robots • • • Repaso arquitecturas Programación bajo nivel Introducción a control Modelado del espacio Planeación de trayectorias • Prototipo terminado Concurso México
Repaso: Arquitecturas de Robots • Arquitectura – Arquitecturas deliberativas – Arquitecturas reactivas – Arquitecturas híbridas
Arquitectura • “organización de la generación de acciones a partir de las percepciones del robot” • “arreglo de módulos de software para un robot móvil. ”
Arquitecturas básicas • Arquitectura deliberativa • Arquitectura reactiva sensores actuadores
Arquitectura deliberativa • Basada en el paradigma de sensa-planeaactua (SPA): – Se tiene un modelo completo (mapa) del ambiente – Se construye un plan de acción para realizar la tarea basado en el modelo – Se ejecuta el plan
Arquitectura deliberativa Sensado Modelo del mundo Plan Control Ejecución
Ejemplo: enfoque deliberativo • Construir mapa del ambiente, incluyendo obstáculos y meta • Generar un plan para ir de la posición inicial a la meta evitando los obstáculos • Ejecutar el plan
Arquitectura deliberativa • Ventajas: – El tener un modelo del ambiente permite optimizar las acciones para obtener el “mejor” plan • Limitaciones: – Necesidad de un modelo preciso del ambiente – Altos requerimientos de cómputo y memoria – Dificultad de operar en un mundo dinámico o desconocido – Reacción “lenta” a situaciones imprevistas
Arquitectura Reactiva • En el enfoque reactivo hay una conexión directa de percepción a acción sin necesidad de un modelo del mundo • Normalmente se considera una serie de niveles de comportamiento que realizan diferentes comportamientos en forma “paralela” (subsumtion architecture)
Arquitectura basada en Comportamiento Planear sensores Explorar actuadores Deambular Evitar objetos
Manejo de Conflictos • Al existir varios módulos en paralelo pueden existir conflictos, que se resuelven dando prioridades a los diferentes comportamientos • El comportamiento de mayor prioridad “suprime” los otros comportamientos Deambular Evitar objetos motores
Ejemplo: enfoque reactivo Buscar luz Ir a la luz Evitar objetos motores
Arquitectura Reactiva • Ventajas: – Bajo requerimiento de cómputo, respuesta rápida – Facilidad de desarrollo modular – No requiere un modelo del mundo • Limitaciones: – Difícil de extender a tareas complejas – Limitaciones sensoriales pueden ocacionar problemas al no contar con un modelo – No garantiza la mejor solución (óptimo)
Arquitecturas Híbridas • Combinación de arquitecturas deliberativas y reacticas que intentan aprovechar ventajas de ambas • Ejemplos: – Arquitecturas jerárquicas (3 capas) – Arquitecturas de pizarrón (blackboard) – Arquitecturas probabilísticas
Arquitectura de 3 capas • Tres componentes básicos: – Capa de habilidades: Mecanismo de control reactivo (controlador) – Capa de secuenciación: Mecanismo de ejecución de plan (secuenciador) – Capa de planeación: Mecanismo deliberativo (deliberador) • El secuenciador selecciona los mecanismos básicos de la capa de habilidades en base al plan de la capa de planeación
Arquitectura de 3 capas: ejemplo Planeador Secuenciador sensores avanzar sin chocar girar ir a luz actuadores
Arquitectura de Pizarrón • Conjunto de módulos o procesos que interactuan mediante un espacio de información común llamado pizarrón (blackboard) • Cada módulo implemente una función específica y en conjunto todos realizar la tarea • Todos los módulos pueden ver la información en el pizarrón y actuan en forma oportunística, de acuerdo al que más pueda aportar en ese momento (coordinador)
Arquitectura de Pizarrón Obtener info. sensores PIZARRÓN Ir a la meta Evitar obstáculo control planeación
Selección de arquitectura • Depende de la tarea, medio ambiente, capacidad de cómputo, . . . • Deliberativa: mundos estáticos, tarea bien definida, conocimiento previo del mundo, alta capacidad de cómputo • Reactiva: tareas sencillas, poca capacidad de cómputo, no hay modelo del mundo • Híbridas: mundos dinámicos, incertidumbre, tareas complejas
Referencias • • [Jones, Flynn] Cap 9 [Kortenkamp et. al] – Parte III [Russell y Norvig] – Cap 25 [Dodek y Jenkin – Cap 6]
Actividades • Especificación detallada de software de su robot: – Arquitectura de software – Principales módulos – Función de cada módulo • Entregar breve reporte y hacer presentación en clase lunes 25 de febrero
- Slides: 23