5-NavRobotica-Planificacion

62
6-Planificación Dr. Nelson ACOSTA [email protected] INCA/INTIA – Facultad de Ciencias Exactas UNCPBA – Tandil – 2011 Fundamentos de Navegación Autónoma de Robots

Transcript of 5-NavRobotica-Planificacion

Page 1: 5-NavRobotica-Planificacion

6-Planificación

Dr. Nelson [email protected]

INCA/INTIA – Facultad de Ciencias ExactasUNCPBA – Tandil – 2011

Fundamentos de

Navegación Autónoma de Robots

Page 2: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 2

Esta clase de Planificación…

Incluye :� Búsqueda en grafos

� Programación dinámica

� Grafos de visibilidad

� Campos de potencial

Page 3: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 3

Proceso Cognitivo / Razonamiento :

� es la habilidad para decidir que acciones son necesarias realizar para conseguir un determinado objetivo en una situación dada

� decisiones varían desde qué camino tomar hasta qué información del entorno hay que utilizar.

Planificación…

Page 4: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 4

Proceso Cognitivo / Razonamiento :

� Los robots industriales pueden trabajar incluso sin ningún proceso cognitivo ya que trabajan en un entorno perfectamente estructurado y estático .

� En la robótica móvil, los procesos cognitivos y el razonamiento son procesos básicos de su naturaleza, tales como determinar el camino más seguro o determinar donde ir después de realizar una acción.

Planificación…

Page 5: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 5

� En robótica móvil, el conocimiento sobre el entorno y la situación es normalmente un conocimiento parcial y con incertidumbre:�Esto hace que las tareas sean mucho más

difíciles�Se requieren múltiples tareas en paralelo,

algunas de planificación (global ) para garantizar la “supervivencia del robot”.

Planificación…

Page 6: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 6

� El control del robot normalmente se puede descomponer en varias funciones o comportamientos:� seguir paredes, � localización, � generación del camino � evasión de obstáculos.

� Entre los principales procesos cognitivos se puede distinguir la planificación (planificación global) y la evasión de obstáculos (planificación local)

Planificación…

Page 7: 5-NavRobotica-Planificacion

Navegación

Global

Page 8: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 8

Navegación� Es la ciencia (o arte) de conducir un robot móvil

mientras atraviesa un entorno (tierra, mar, aire, o espacio) para alcanzar un destino o meta, sin chocar con ningún obstáculo.

� Creación de mapas� Planificación de caminos� Conducción

� Percepción del entorno� Fusión de sensores� Modificación y/o generación de mapas� Control de movimiento� Esquivar obstáculos

Page 9: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 9

Navegación Global

Destino lejano� Necesidad de mapa : a priori o construido

automáticamente� Localización dentro de ese mapa� Se apoya en una representación del

entorno� Planificación de caminos� SLAM : Simultaneous Localization and

Mapping

Page 10: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 10

Navegación

Planes clásicos y planes como recurso� Clásico: secuencia de subobjetivos� Recurso: ayuda a la decisión

Page 11: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 11

Navegación basada en mapas� Dependen del formato del mapa� Por ejemplo:

�Grafo de visibilidad�Diagramas de voronoi�Descomposición en celdas�Dijkstra�Greedy

Navegación

Page 12: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 12

Lista de Caminos� Puede incluir información como:

� Zonas vacías� Zonas con gente� Zonas peligrosas

� Grafos de objetos� Grafos de balizas� Permiten búsquedas muy eficientes� Pueden existir regiones ambiguas

Navegación

Page 13: 5-NavRobotica-Planificacion

Navegación

Local

Page 14: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 14

Navegación Local

� Navegar sin usar un mapa� Sin un mapa ¿dónde podemos ir ?

�En una dirección determinada�Siguiendo a otro

� ¿Cuáles son los problemas ?�Generalmente no colisionar�Seguir la dirección, al otro robot

�Uso por otros comportamientos

Page 15: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 15

Navegación Local

Tres técnicas clásicas:� CVM, espacio de velocidades� LVM� campos de potencial, VFF

Page 16: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 16

Método de Velocidad y Curvatura (CVM)

� Los obstáculos se aproximan a círculos� Supondremos que el robot se mueve en

trayectorias circulares (arcos)� El centro de esas trayectorias está en el eje X� El objetivo será encontrar la “mejor” trayectoria� El robot tiene una dirección objetivo� La distancia del robot a un obstáculo es la

tangente más corta

Navegación Local

Page 17: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 17

Navegación Local

Page 18: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 18

Navegación Local

Método de Carriles y Velocidad (LVM)

Page 19: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 19

Navegación Local

Campos depotencial

Page 20: 5-NavRobotica-Planificacion

Planificación basada en mapa

Planificación Global

Page 21: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 21

� Punto de partida: existe un mapa del entorno lo suficientemente bueno para realizar la navegación.� Topológico� Métrico� Mixto (topológico o métrico)

� Primer paso:� Representación del entorno: grafo, celdas o un campo de

potencial. Las posiciones discretas o celdas resultante permitenrealizar algoritmos de planificación estándar.

� Ejemplos :� Grafos de visibilidad� Diagrama de Voronoi� Descomposición en Celdas -> Grafos de conectividad� Campos de Potencial

Planificación Global

Page 22: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 22

Planificación Global

� Se parte de un punto conocido (ubicado en el mapa)

� Se construye el camino en base a segmentos rectos y sus ángulos

Page 23: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 23

Planificación Global1. Construir Grafo� Identificar un conjunto de rutas dentro del

espacio libre� ¿Dónde ponemos los nodos?� Basado en topológico:

� En posiciones distintivas� Basado en métrico:

� Las características se hacen visibles o no

2. Descomposición en Celdas� Discriminar entre espacio libre y ocupado� ¿Dónde ponemos los límites de las celdas?� Topológico - métrico:

� Las características se hacen visibles o no

3. Campo de Potencial� Imponer una función matemática sobre el

espacio disponible

Page 24: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 24

Planificación Basada en MapaGrafo de Visibilidad� Se trazan segmentos desde

todos los vértices de los obstáculos hasta los vértices que son visibles, incluyendo los puntos inicial y final.

� Como ruta óptima se selecciona el camino de longitud menor

� Problema : colisiones con los obstáculos -> se aumenta el tamaño de los obstáculos de forma virtual

Page 25: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 25

Planificación Basada en MapaGrafo de Visibilidad (2)

� Propuestos por Nilsson 1969

� Uno de los más antiguos

� Une vértices de obstáculos (polígonos) mediante rectas que no atraviesan obstáculos

� Método 2D

� Se obtienen caminos de distancia mínima

Page 26: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 26

Planificación Basada en MapaGrafo de Visibilidad (3)Pro:

� Fácil de encontrar el camino más corto.

� Fácil de implementar con obstáculos de polígonos

Contras:

� El número de arcos y nodos incrementa con el número de polígonos.

� Puede ser ineficiente en ambientes con muchos obstáculos.

� La solución no contempla el tamaño del robot…

Page 27: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 27

Planificación Basada en MapaDiagrama de Voronoi� Se tiende a maximizar la distancia

entre el robot y los obstáculos del espacio de configuración

� Se calcula la distancia desde todos los puntos en el espacio libre hasta los obstáculos y se seleccionan los de mayor distancia.

� En un espacio con obstáculos poligonales se obtienen segmentos de tipo recta y parábola. Los puntos indican su unión.

� Como ruta óptima se selecciona el camino de longitud menor

Page 28: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 28

Planificación Basada en MapaDiagrama de Voronoi (2)

� Los puntos de cada celda están más próximos a un objeto que a los demás (paredes, obstáculos)

� El algoritmo es similar: identificar arcos entre inicio y meta

� Se obtienen trayectorias de máxima seguridad

Page 29: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 29

Planificación Basada en MapaDiagrama de Voronoi (3)� Pro : Un robot puede navegar por

simples reglas usando un sensorde rango (láser o sonar).

� Contra : Intenta mantener al robot tan lejos como pueda de los obstáculos (no sigue camino más corto)

� Peculiaridades : cuando los obstáculos son polígonos, el mapa de Voronoi consiste de segmentos rectas y parabólicas.

Page 30: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 30

Planificación Basada en MapaDescomposición en Celdas Exactas� Se divide el espacio en regiones

conectadas que se llaman celdas� Hay que determinar que celdas son

adyacentes y se construye un grafo de conectividad

� Se busca en el grafo de conectividad el camino que une las celdas que contienen los puntos de partida y final.

� Se utiliza un algoritmo de búsqueda entre todas las celdas para obtener el camino óptimo.

Para pasar de una celda a otra se pueden emplear diferentes estrategias:• Seguir una pared o • Navegar entre las posiciones centrales de cada celda.

Page 31: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 31

Planificación Basada en MapaDescomposición en Celdas Fijas� Existen diferentes estrategias (Wavefront, Breadth-First,

Depth-First,…)� Computacionalmente tiene un coste muy bajo� Problema : pasos estrechos, memoria depende del

tamaño del mapa

Page 32: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 32

Planificación Basada en Mapa

Descomposición en Celdas Adaptativas

Page 33: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 33

Planificación Basada en MapaDescomposición en Celdas Trapezoidales� Descomposición en polígonos

convexos� Calcular el grafo de

conectividad� Nodos: Cada celda� Arcos: Si las celdas están

conectadas

� Calcular el camino en el grafo� Hacer que el camino pase por

el centro del lado que comporten las celdas representadas por cada nodo

Page 34: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 34

Planificación Basada en MapaDescomposición en Celdas Trapezoidales

Page 35: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 35

Descomposición en Celdas Adaptativas

Planificación Basada en Mapa

Page 36: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 36

Descomposición en Celdas Enrejado

Planificación Basada en Mapa

Page 37: 5-NavRobotica-Planificacion

Planificación basada en mapa

Estrategias de búsqueda en grafos y planos

Page 38: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 38

Planificación Basada en MapaEstrategias de Búsqueda en Grafos y Planos� NF1 o expansión de frente de ondas (WaveFront

Expansion)� Otras estrategias de búsqueda

� Breadth-First� Depth-First� Greedy

Page 39: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 39

Planificación Basada en Mapa

Estrategias de Búsqueda en Grafos y Planos

� NF1 o expansión de frente de ondas (WaveFront Expansion)

Page 40: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 40

Planificación Basada en MapaEstrategias de Búsqueda en Grafos y Planos� Breadth-First

Page 41: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 41

Planificación Basada en MapaEstrategias de Búsqueda en Grafos y Planos� Depth -First

Page 42: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 42

Planificación Basada en MapaEstrategias de Búsqueda en Grafos y Planos� Greedy

Obtiene el camino con menor costo estimado

Page 43: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 43

Planif. B/Campos de Potencial� El robot se trata como un punto

sometido a la influencia de un campo de potencial.

� El objetivo genera una fuerza de atracción

� Los obstáculos generan fuerzas de repulsión

� Los movimientos del robot son similares a una bola rodando cuesta abajo hacia el objetivo

Page 44: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 44

Planif. B/Campos de Potencial� La generación de la función del

campo de potencial puede ser:� atractiva (destino) o � repulsiva (obstáculos).

� Los campos deben ser diferenciables

� Si definimos la velocidad del robot como proporcional a la fuerza generada por el campo, la fuerza guía el robot al destino.

Page 45: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 45

Planif. B/Campos de Potencial� Problemas:

� Existen problemas de mínimos locales� El problema es mucho más complejo si el robot se

modela como si no fuera un único punto de masa� Si el objeto es convexo se producen situaciones donde

existen varias distancias mínimas entonces pueden existir oscilaciones

Page 46: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 46

Planif. B/Campos de Potencial� Método extendido de campo de potencial

� Se introduce un campo de potencial de rotación y un campo de potencial de tarea

� Campo de potencial de rotación:� La fuerza es función de la orientación del robot al obstáculo

� Campo de potencial de tarea:� Se filtran los obstáculos que no influyen en el movimiento del robot,

sólo se incluyen los que están dentro de un sector en frente del robot

Page 47: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 47

Planif. B/Campos de Potencial� Método extendido de campo de potencial

� Se trabaja con fuerzas en el plano polar, así no se consume tiempo en transformaciones

� Se puede modelar completamente el robot, las fuerzas actúan directamente sobre los filtros del modelo, lo que redunda en movimientos suaves

� Mínimos locales

Page 48: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 48

Planif. B/Campos de Potencial� Método de campo de potencial harmónico

� Se utiliza analogía con la hidrodinámica� El robot se mueve como si fuese una partícula dentro de un fluido

en movimiento� Asegura que no hay problemas con los mínimos locales� Sólo se ha demostrado el funcionamiento en simulación

Page 49: 5-NavRobotica-Planificacion

Evasión de obstáculos

Page 50: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 50

Evasión de Obstáculos

� A menudo se implementa como una tarea más o menos independiente.

� Debería ser eficiente con respecto a los siguiente criterios:� El objetivo global� La velocidad actual y la cinemática del

robot� Los sensores de a bordo� El riesgo actual y futuro de colisión

� El objetivo de los algoritmos de evasión de obstáculos es la de evitar colisiones entre el robot y los objetos del entorno

� Es considerado como planificación local .� Normalmente se basan en mapas locales

Page 51: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 51

Evasión de ObstáculosAlgoritmo de evasión Bug1 .� Se recorre el obstáculo alrededor por completo para

evitarlo.� Cada obstáculo encontrado se recorre completamente

una vez y luego se deja el obstáculo en el punto más cercano al objetivo.

Page 52: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 52

Evasión de ObstáculosAlgoritmo de evasión Bug2 .� Se recorre el obstáculo alrededor siempre en el mismo sentido

(derecha o izquierda).� Se deja el obstáculo cada vez que se cruza la recta que une el

objetivo con el punto de partida.

Page 53: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 53

� Algoritmo de evasión VFH “Vector Field Histogram”:� Entorno local del robot se representa en una rejilla con 2DOF

� los valores de las celdas almacenan la probabilidad de contener un obstáculo

� Se reduce a un histograma polar en 1DOF� se calcula el histograma en todas las direcciones de giro� se buscan todos los pasos disponibles

� se selecciona el que menor función de coste G tiene

Evasión de Obstáculos

Donde :� target_direction: alineación del robot con respecto al

objetivo� wheel_orientation: diferencia entre la nueva dirección y la

orientación actual de las ruedas� previous_direction: diferencia entre la dirección

previamente seleccionada y la nueva dirección� a, b, c: parámetros de ajuste comportamiento del robot

Page 54: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 54

� Algoritmo de evasión VFH “Vector Field Histogram”:

� Cálculo del histograma polar

� El valor de certidumbre de cada celda activa se trata como un vector obstáculo con una dirección y magnitud

Evasión de Obstáculos

Page 55: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 55

Evasión de Obstáculos� Algoritmo de evasión VFH+ “Vector Field

Histogram+”:� Se realiza una simplificación en cuanto a la

capacidad para moverse del robot (su dinámica)� el robot sólo se mueve en rectas o arcos� los obstáculos que bloquean una dirección dada

también bloquean todas las posibles trayectorias a través de esa dirección

Page 56: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 56

� Algoritmo de evasión BURBUJAS:� Burbuja = máximo espacio libre alrededor del robot sin riesgo de

colisión� Se genera utilizando la distancia al objeto y un modelo simplificado del

robot� Las burbujas se utilizan para formar una banda continua de burbujas

que conectan el punto inicial con el objetivo

Evasión de Obstáculos

Page 57: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 57

Algoritmo de evasión x Curvatura Máxima:� Se imponen restricciones físicas al robot y el entorno en cuanto a la

cinemática y las velocidades lineal y angular del robot� Se supone que el robot navega describiendo arcos de curvatura� Se imponen restricciones de aceleración máxima del robot� Restricciones obstáculos: son transformados en círculos dentro del

espacio de velocidad� Se define una función objetivo para seleccionar la velocidad óptima

Evasión de Obstáculos

Page 58: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 58

Algoritmo de evasión x Curvatura Máxima CARRILES:� El robot no navega únicamente en arcos� Los carriles se calculan evaluando la longitud y anchura del

carril al objeto más cercano� El carril con mejores propiedades se elige usando una

función objetivo

� Destacado :� Mejor funcionamiento en la navegación con pasos estrechos� Sigue teniendo el problema de mínimos locales

Evasión de Obstáculos

Page 59: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 59

Algoritmo de aproximación por Ventana Dinámica:� Se utiliza la cinemática del robot para elegir un espacio de

velocidad adecuado� Espacio velocidad: espacio de configuración� Asegura detener el robot antes de golpear un obstáculo� Función objetivo para seleccionar la velocidad óptima� Se asume que el robot se mueve en arcos

Evasión de Obstáculos

Page 60: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 60

Algoritmo de aproximación por Ventana Dinámica Glob al:� Se añade una función libre de mínimos L, denominada

NF1 (Wave-Propagation), a la función objetivo O.� La rejilla de ocupación se actualiza en base a la medida de

los sensores de distancia (láser, ultrasonidos)

Evasión de Obstáculos

Page 61: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 61

Algoritmo de aproximación SCHLEGEL:� Es una variación sobre el algoritmo de ventana dinámica� Tiene en cuenta la forma del robot� Movimiento del robot en forma de arcos� Funcionamiento en tiempo real conseguido con tablas

precalculadas� Planificador global NF1

Evasión de Obstáculos

Page 62: 5-NavRobotica-Planificacion

Fund. Nav. Autónoma de Robots 62