Introducción a la planificación de movimiento
MT3005 - Robótica 1
Motivación
Control cinemático puro
¿Obstáculos?
\(\Rightarrow\) por esto necesitamos al planificador | generador de trayectorias en el esquema de control jerárquico por capas
¿Obstáculos?
si bien no profundizaremos al respecto, veamos algunas de las ideas y métodos detrás de la planificación de movimiento
¿Obstáculos?
¿Cuál es la diferencia?
Dos problemas similares
¿Cuál es la diferencia?
Dos problemas similares
\(\Rightarrow\) el espacio de configuración
visualización: https://www.cs.unc.edu/~jeffi/c-space/robot.xhtml
Espacio de configuración para brazos
Espacio de configuración para robots móviles
Espacio de configuración para robots móviles
Espacio de configuración para robots móviles
occupancy grid
Métodos de planificación de movimiento
Métodos de planificación de movimiento
Rapidly Exploring Random Trees (RRT)
Entrada:
punto inicial y meta en el espacio de configuración
Salida:
recorrido de inicio a meta
Rapidly Exploring Random Trees (RRT)
Algoritmo
Rapidly Exploring Random Trees (RRT)
Ejemplo RRT
Probabilistic Roadmaps (PRM)
Probabilistic Roadmaps (PRM)
Entrada:
punto inicial y meta en el espacio de configuración
Salida:
recorrido de inicio a meta
Construcción del mapa:
Probabilistic Roadmaps (PRM)
Encontrar recorrido:
Probabilistic Roadmaps (PRM)
Ejemplo PRM
Métodos de búsqueda en grafos
Métodos de búsqueda en grafos
De mapas a grafos | grafo de visibilidad
Aumento de mapa
Aumento de mapa
Aumento de mapa
Procedimiento
Para cada nodo \(n\), matiene un registro del tamaño del camino más corto desde el inicio a \(n\), encontrado hasta el momento, llamado \(g(n)\).
El algoritmo de Dijkstra
Entradas:
grafo de visibilidad, inicio \(S\) y meta \(G\)
Salida:
recorrido de \(S\) a \(G\)
Algoritmo:
El algoritmo de Dijkstra
El algoritmo de Dijkstra
Ejemplo Dijkstra
Ejemplo Dijkstra
Ejemplo Dijkstra
Ejemplo Dijkstra
Ejemplo Dijkstra
Búsqueda A* | Dijkstra + heurística
Búsqueda A* | Dijkstra + heurística
Entrada:
grafo de visibilidad, inicio \(S\) y meta \(G\)
Salida:
recorrido de \(S\) a \(G\)
Algoritmo:
Búsqueda A* | Dijkstra + heurística
Búsqueda A* | Dijkstra + heurística