You are on page 1of 62

Fundamentos de Navegacin Autnoma de Robots

6-Planificacin
Dr. Nelson ACOSTA nacosta@exa.unicen.edu.ar
INCA/INTIA Facultad de Ciencias Exactas UNCPBA Tandil 2011

Esta clase de Planificacin

Incluye:
Bsqueda en grafos Programacin dinmica Grafos de visibilidad Campos de potencial

Fund. Nav. Autnoma de Robots

Planificacin Proceso Cognitivo / Razonamiento:


es la habilidad para decidir que acciones son necesarias realizar para conseguir un determinado objetivo en una situacin dada decisiones varan desde qu camino tomar hasta qu informacin del entorno hay que utilizar.
Fund. Nav. Autnoma de Robots 3

Planificacin Proceso Cognitivo / Razonamiento:


Los robots industriales pueden trabajar incluso sin ningn proceso cognitivo ya que trabajan en un entorno perfectamente estructurado y esttico. En la robtica mvil, los procesos cognitivos y el razonamiento son procesos bsicos de su naturaleza, tales como determinar el camino ms seguro o determinar donde ir despus de realizar una accin.
Fund. Nav. Autnoma de Robots 4

Planificacin
En robtica mvil, el conocimiento sobre el entorno y la situacin es normalmente un conocimiento parcial y con incertidumbre:
Esto hace que las tareas sean mucho ms difciles Se requieren mltiples tareas en paralelo, algunas de planificacin (global) para garantizar la supervivencia del robot.
Fund. Nav. Autnoma de Robots 5

Planificacin
El control del robot normalmente se puede descomponer en varias funciones o comportamientos:
seguir paredes, localizacin, generacin del camino evasin de obstculos.

Entre los principales procesos cognitivos se puede distinguir la planificacin (planificacin global) y la evasin de obstculos (planificacin local)
Fund. Nav. Autnoma de Robots 6

Navegacin
Global

Navegacin
Es la ciencia (o arte) de conducir un robot mvil mientras atraviesa un entorno (tierra, mar, aire, o espacio) para alcanzar un destino o meta, sin chocar con ningn obstculo. Creacin de mapas Planificacin de caminos Conduccin
Percepcin del entorno Fusin de sensores Modificacin y/o generacin de mapas Control de movimiento Esquivar obstculos
Fund. Nav. Autnoma de Robots 8

Navegacin Global Destino lejano


Necesidad de mapa: a priori o construido automticamente Localizacin dentro de ese mapa Se apoya en una representacin del entorno Planificacin de caminos SLAM: Simultaneous Localization and Mapping
Fund. Nav. Autnoma de Robots 9

Navegacin
Planes clsicos y planes como recurso Clsico: secuencia de subobjetivos Recurso: ayuda a la decisin

Fund. Nav. Autnoma de Robots

10

Navegacin

Navegacin basada en mapas


Dependen del formato del mapa Por ejemplo:
Grafo de visibilidad Diagramas de voronoi Descomposicin en celdas Dijkstra Greedy
11

Fund. Nav. Autnoma de Robots

Navegacin Lista de Caminos


Puede incluir informacin como:
Zonas vacas Zonas con gente Zonas peligrosas

Grafos de objetos Grafos de balizas Permiten bsquedas muy eficientes Pueden existir regiones ambiguas
Fund. Nav. Autnoma de Robots 12

Navegacin
Local

Navegacin Local
Navegar sin usar un mapa Sin un mapa dnde podemos ir?
En una direccin determinada Siguiendo a otro

Cules son los problemas?


Generalmente no colisionar Seguir la direccin, al otro robot Uso por otros comportamientos
Fund. Nav. Autnoma de Robots 14

Navegacin Local

Tres tcnicas clsicas:


CVM, espacio de velocidades LVM campos de potencial, VFF

Fund. Nav. Autnoma de Robots

15

Navegacin Local
Mtodo de Velocidad y Curvatura (CVM)
Los obstculos se aproximan a crculos 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 direccin objetivo La distancia del robot a un obstculo es la tangente ms corta

Fund. Nav. Autnoma de Robots

16

Navegacin Local

Fund. Nav. Autnoma de Robots

17

Navegacin Local
Mtodo de Carriles y Velocidad (LVM)

Fund. Nav. Autnoma de Robots

18

Navegacin Local
Campos de potencial

Fund. Nav. Autnoma de Robots

19

Planificacin basada en mapa


Planificacin Global

Planificacin Global
Punto de partida: existe un mapa del entorno lo suficientemente bueno para realizar la navegacin.
Topolgico Mtrico Mixto (topolgico o mtrico)

Primer paso:
Representacin del entorno: grafo, celdas o un campo de potencial. Las posiciones discretas o celdas resultante permiten realizar algoritmos de planificacin estndar.

Ejemplos:
Grafos de visibilidad Diagrama de Voronoi Descomposicin en Celdas -> Grafos de conectividad Campos de Potencial
Fund. Nav. Autnoma de Robots 21

Planificacin Global
Se parte de un punto conocido (ubicado en el mapa) Se construye el camino en base a segmentos rectos y sus ngulos

Fund. Nav. Autnoma de Robots

22

Planificacin Global
1. Construir Grafo
Identificar un conjunto de rutas dentro del espacio libre Dnde ponemos los nodos? Basado en topolgico:
En posiciones distintivas

Basado en mtrico:
Las caractersticas se hacen visibles o no

2. Descomposicin en Celdas
Discriminar entre espacio libre y ocupado Dnde ponemos los lmites de las celdas? Topolgico - mtrico:
Las caractersticas se hacen visibles o no

3. Campo de Potencial
Imponer una funcin matemtica sobre el espacio disponible
Fund. Nav. Autnoma de Robots 23

Planificacin Basada en Mapa


Grafo de Visibilidad
Se trazan segmentos desde todos los vrtices de los obstculos hasta los vrtices que son visibles, incluyendo los puntos inicial y final. Como ruta ptima se selecciona el camino de longitud menor Problema: colisiones con los obstculos -> se aumenta el tamao de los obstculos de forma virtual
Fund. Nav. Autnoma de Robots 24

Planificacin Basada en Mapa


Grafo de Visibilidad (2)
Propuestos por Nilsson 1969 Uno de los ms antiguos Une vrtices de obstculos (polgonos) mediante rectas que no atraviesan obstculos Mtodo 2D Se obtienen caminos de distancia mnima
Fund. Nav. Autnoma de Robots 25

Planificacin Basada en Mapa


Grafo de Visibilidad (3)
Pro: Fcil de encontrar el camino ms corto. Fcil de implementar con obstculos de polgonos Contras: El nmero de arcos y nodos incrementa con el nmero de polgonos. Puede ser ineficiente en ambientes con muchos obstculos. La solucin no contempla el tamao del robot
Fund. Nav. Autnoma de Robots 26

Planificacin Basada en Mapa


Diagrama de Voronoi
Se tiende a maximizar la distancia entre el robot y los obstculos del espacio de configuracin Se calcula la distancia desde todos los puntos en el espacio libre hasta los obstculos y se seleccionan los de mayor distancia. En un espacio con obstculos poligonales se obtienen segmentos de tipo recta y parbola. Los puntos indican su unin. Como ruta ptima se selecciona el camino de longitud menor
Fund. Nav. Autnoma de Robots 27

Planificacin Basada en Mapa


Diagrama de Voronoi (2)
Los puntos de cada celda estn ms prximos a un objeto que a los dems (paredes, obstculos) El algoritmo es similar: identificar arcos entre inicio y meta Se obtienen trayectorias de mxima seguridad
Fund. Nav. Autnoma de Robots 28

Planificacin Basada en Mapa


Diagrama de Voronoi (3)
Pro: Un robot puede navegar por simples reglas usando un sensor de rango (lser o sonar). Contra: Intenta mantener al robot tan lejos como pueda de los obstculos (no sigue camino ms corto) Peculiaridades: cuando los obstculos son polgonos, el mapa de Voronoi consiste de segmentos rectas y parablicas.

Fund. Nav. Autnoma de Robots

29

Planificacin Basada en Mapa


Descomposicin 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 bsqueda 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.
Fund. Nav. Autnoma de Robots 30

Planificacin Basada en Mapa


Descomposicin en Celdas Fijas
Existen diferentes estrategias (Wavefront, Breadth-First, Depth-First,) Computacionalmente tiene un coste muy bajo Problema: pasos estrechos, memoria depende del tamao del mapa

Fund. Nav. Autnoma de Robots

31

Planificacin Basada en Mapa


Descomposicin en Celdas Adaptativas

Fund. Nav. Autnoma de Robots

32

Planificacin Basada en Mapa


Descomposicin en Celdas Trapezoidales
Descomposicin en polgonos convexos Calcular el grafo de conectividad
Nodos: Cada celda Arcos: Si las celdas estn 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 Fund. Nav. Autnoma de Robots

33

Planificacin Basada en Mapa


Descomposicin en Celdas Trapezoidales

Fund. Nav. Autnoma de Robots

34

Planificacin Basada en Mapa


Descomposicin en Celdas Adaptativas

Fund. Nav. Autnoma de Robots

35

Planificacin Basada en Mapa


Descomposicin en Celdas Enrejado

Fund. Nav. Autnoma de Robots

36

Planificacin basada en mapa


Estrategias de bsqueda en grafos y planos

Planificacin Basada en Mapa


Estrategias de Bsqueda en Grafos y Planos
NF1 o expansin de frente de ondas (WaveFront Expansion) Otras estrategias de bsqueda
Breadth-First Depth-First Greedy

Fund. Nav. Autnoma de Robots

38

Planificacin Basada en Mapa


Estrategias de Bsqueda en Grafos y Planos
NF1 o expansin de frente de ondas (WaveFront Expansion)

Fund. Nav. Autnoma de Robots

39

Planificacin Basada en Mapa


Estrategias de Bsqueda en Grafos y Planos
Breadth-First

Fund. Nav. Autnoma de Robots

40

Planificacin Basada en Mapa


Estrategias de Bsqueda en Grafos y Planos Depth-First

Fund. Nav. Autnoma de Robots

41

Planificacin Basada en Mapa


Estrategias de Bsqueda en Grafos y Planos Greedy

Obtiene el camino con menor costo estimado


Fund. Nav. Autnoma de Robots 42

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 atraccin Los obstculos generan fuerzas de repulsin Los movimientos del robot son similares a una bola rodando cuesta abajo hacia el objetivo

Fund. Nav. Autnoma de Robots

43

Planif. B/Campos de Potencial


La generacin de la funcin del campo de potencial puede ser:
atractiva (destino) o repulsiva (obstculos).

Los campos deben ser diferenciables Si definimos la velocidad del robot como proporcional a la fuerza generada por el campo, la fuerza gua el robot al destino.

Fund. Nav. Autnoma de Robots

44

Planif. B/Campos de Potencial


Problemas:
Existen problemas de mnimos locales El problema es mucho ms 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 mnimas entonces pueden existir oscilaciones

Fund. Nav. Autnoma de Robots

45

Planif. B/Campos de Potencial


Mtodo extendido de campo de potencial
Se introduce un campo de potencial de rotacin y un campo de potencial de tarea Campo de potencial de rotacin:
La fuerza es funcin de la orientacin del robot al obstculo

Campo de potencial de tarea:


Se filtran los obstculos que no influyen en el movimiento del robot, slo se incluyen los que estn dentro de un sector en frente del robot

Fund. Nav. Autnoma de Robots

46

Planif. B/Campos de Potencial


Mtodo 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 actan directamente sobre los filtros del modelo, lo que redunda en movimientos suaves Mnimos locales

Fund. Nav. Autnoma de Robots

47

Planif. B/Campos de Potencial


Mtodo de campo de potencial harmnico
Se utiliza analoga con la hidrodinmica El robot se mueve como si fuese una partcula dentro de un fluido en movimiento Asegura que no hay problemas con los mnimos locales Slo se ha demostrado el funcionamiento en simulacin

Fund. Nav. Autnoma de Robots

48

Evasin de obstculos

Evasin de Obstculos
El objetivo de los algoritmos de evasin de obstculos es la de evitar colisiones entre el robot y los objetos del entorno Es considerado como planificacin local. Normalmente se basan en mapas locales A menudo se implementa como una tarea ms o menos independiente. Debera ser eficiente con respecto a los siguiente criterios:
El objetivo global La velocidad actual y la cinemtica del robot Los sensores de a bordo El riesgo actual y futuro de colisin
Fund. Nav. Autnoma de Robots 50

Evasin de Obstculos
Algoritmo de evasin Bug1.
Se recorre el obstculo alrededor por completo para evitarlo. Cada obstculo encontrado se recorre completamente una vez y luego se deja el obstculo en el punto ms cercano al objetivo.

Fund. Nav. Autnoma de Robots

51

Evasin de Obstculos
Algoritmo de evasin Bug2.
Se recorre el obstculo alrededor siempre en el mismo sentido (derecha o izquierda). Se deja el obstculo cada vez que se cruza la recta que une el objetivo con el punto de partida.

Fund. Nav. Autnoma de Robots

52

Evasin de Obstculos
Algoritmo de evasin 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 obstculo

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 funcin de coste G tiene

Donde: target_direction: alineacin del robot con respecto al objetivo wheel_orientation: diferencia entre la nueva direccin y la orientacin actual de las ruedas previous_direction: diferencia entre la direccin previamente seleccionada y la nueva direccin a, b, c: parmetros de ajuste comportamiento del robot
Fund. Nav. Autnoma de Robots 53

Evasin de Obstculos
Algoritmo de evasin VFH Vector Field Histogram:

Clculo del histograma polar El valor de certidumbre de cada celda activa se trata como un vector obstculo con una direccin y magnitud

Fund. Nav. Autnoma de Robots

54

Evasin de Obstculos
Algoritmo de evasin VFH+ Vector Field Histogram+: Se realiza una simplificacin en cuanto a la capacidad para moverse del robot (su dinmica)
el robot slo se mueve en rectas o arcos los obstculos que bloquean una direccin dada tambin bloquean todas las posibles trayectorias a travs de esa direccin

Fund. Nav. Autnoma de Robots

55

Evasin de Obstculos
Algoritmo de evasin BURBUJAS:
Burbuja = mximo espacio libre alrededor del robot sin riesgo de colisin 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

Fund. Nav. Autnoma de Robots

56

Evasin de Obstculos
Algoritmo de evasin x Curvatura Mxima: Se imponen restricciones fsicas al robot y el entorno en cuanto a la cinemtica y las velocidades lineal y angular del robot Se supone que el robot navega describiendo arcos de curvatura Se imponen restricciones de aceleracin mxima del robot Restricciones obstculos: son transformados en crculos dentro del espacio de velocidad Se define una funcin objetivo para seleccionar la velocidad ptima

Fund. Nav. Autnoma de Robots

57

Evasin de Obstculos
Algoritmo de evasin x Curvatura Mxima CARRILES: El robot no navega nicamente en arcos Los carriles se calculan evaluando la longitud y anchura del carril al objeto ms cercano El carril con mejores propiedades se elige usando una funcin objetivo Destacado:
Mejor funcionamiento en la navegacin con pasos estrechos Sigue teniendo el problema de mnimos locales

Fund. Nav. Autnoma de Robots

58

Evasin de Obstculos
Algoritmo de aproximacin por Ventana Dinmica: Se utiliza la cinemtica del robot para elegir un espacio de velocidad adecuado Espacio velocidad: espacio de configuracin Asegura detener el robot antes de golpear un obstculo Funcin objetivo para seleccionar la velocidad ptima Se asume que el robot se mueve en arcos

Fund. Nav. Autnoma de Robots

59

Evasin de Obstculos
Algoritmo de aproximacin por Ventana Dinmica Global: Se aade una funcin libre de mnimos L, denominada NF1 (Wave-Propagation), a la funcin objetivo O. La rejilla de ocupacin se actualiza en base a la medida de los sensores de distancia (lser, ultrasonidos)

Fund. Nav. Autnoma de Robots

60

Evasin de Obstculos
Algoritmo de aproximacin SCHLEGEL: Es una variacin sobre el algoritmo de ventana dinmica 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

Fund. Nav. Autnoma de Robots

61

Fund. Nav. Autnoma de Robots

62

You might also like