Introducción a navegación reactiva y 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
>> mt3005_clase14_ejpropuestav1
Propuesta v2
AVOID_OBSTACLES
GO_TO_GOAL
\(v_0\) estándar
GO_TO_GOAL
\(v_0\) reducida
>> mt3005_clase14_ejpropuestav2
Propuesta v2
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
Un sistema híbrido conformado por modos asintóticamente estables, no necesariamente es asintóticamente estable. Por ejemplo:
ambos sistemas son G.A.S.
¿Más problemas? Zeno
¿Más problemas? Zeno
¿Más problemas? Zeno
(!!) Infinitos saltos | switches en tiempo finito
Otro modelo
Behavior Trees