Introducción a la navegación reactiva y a la planificación de misiones
MT3005 - Robótica 1
Ejecutando la planificación en un mundo dinámico
planificación de movimiento
+ control de trayectorias
NO fue parte de la planificación original
NO fue parte de la planificación original
¿Qué debe hacer el robot?
¿Qué debe hacer el robot?
Para no colisionar con el peatón, el robot debe cambiar su comportamiento de ir hacia la meta por uno de evadir obstáculos.
¿Qué debe hacer el robot?
Para no colisionar con el peatón, el robot debe cambiar su comportamiento de ir hacia la meta por uno de evadir obstáculos.
Esto, sin embargo, va en contra de la perspectiva que hemos empleado por el momento para sistemas de control.
¿Qué debe hacer el robot?
Para no colisionar con el peatón, el robot debe cambiar su comportamiento de ir hacia la meta por uno de evadir obstáculos.
Esto, sin embargo, va en contra de la perspectiva que hemos empleado por el momento para sistemas de control.
¿Por qué?
Esto implica que el comportamiento se termina de ejecutar "eventualmente" (i.e. asintóticamente*), y asume que el agente siempre estará ejecutando el mismo comportamiento.
Esto implica que el comportamiento se termina de ejecutar "eventualmente" (i.e. asintóticamente*), y asume que el agente siempre estará ejecutando el mismo comportamiento.
*aunque en algunos casos llega a ejecutarse lo suficientemente cerca en tiempo finito
¿Qué necesitamos?
seguir el camino
esquivar obstáculos
obstáculo detectado
sin obstáculos
¿Qué necesitamos?
seguir el camino
esquivar obstáculos
obstáculo detectado
sin obstáculos
¿Qué necesitamos?
seguir el camino
esquivar obstáculos
obstáculo detectado
sin obstáculos
¿Qué necesitamos?
seguir el camino
esquivar obstáculos
obstáculo detectado
sin obstáculos
Es decir, no fue suficiente con la planificación, sino que tuvo que complementarse con un comportamiento reactivo para esquivar obstáculos y una lógica que permita el cambio entre comportamientos.
Esto es distinto a la perspectiva "tradicional" de sistemas dinámicos que hemos empleado por el momento.
\(\Rightarrow\) Necesitamos un nuevo modelo.
Preámbulo histórico: behavior-based robotics
El nuevo modelo
El nuevo modelo
estado continuo
El nuevo modelo
estado continuo
estado discreto
dinámica continua que cambia acorde al estado discreto del sistema
El nuevo modelo
estado continuo
estado discreto
Recibe el nombre de sistema dinámico híbrido.
dinámica continua que cambia acorde al estado discreto del sistema
El nuevo modelo
estado continuo
estado discreto
dinámica continua que cambia acorde al estado discreto del sistema
En otras disciplinas también se conocen como Variable Structure Systems (VSS) o Switched-Mode Systems.
La perspectiva completa
La perspectiva completa
modos de operación
La perspectiva completa
condiciones de transición o guardas
La perspectiva completa
saltos en el estado o resets
La perspectiva completa
Transición entre distintos modos de operación [estados] mediante condiciones discretas [eventos]
\(\Rightarrow\) máquina de estados finitos
La perspectiva completa
Transición entre distintos modos de operación [estados] mediante condiciones discretas [eventos]
\(\Rightarrow\) máquina de estados finitos
+ distinto sistema dinámico para cada modo de operación
La perspectiva completa
Transición entre distintos modos de operación [estados] mediante condiciones discretas [eventos]
\(\Rightarrow\) máquina de estados finitos
+ distinto sistema dinámico para cada modo de operación
= Autómata Híbrido
Ejemplo
Objetivo:
Llegar a la meta esquivando obstáculos, sin planificación.
sensores de distancia
Modos de operación
GO_TO_GOAL
AVOID_OBSTACLES
Propuesta v1
GO_TO_GOAL
AVOID_OBSTACLES
Conclusión
Es más sencilla la intuición que la implementación
i.e. NO es tan simple como parece
¿Más problemas? Estabilidad
¿Más problemas? Zeno
Otro modelo: Behavior Trees