Resolviendo Motion Planing

22
1 Resolviendo Motion Planing Prof. Teddy Alfaro O. Seminario Modelo y Métodos Cuantitativos Metodologías más usadas Los métodos de planificación se pueden agrupar en 3 grandes grupos – Planificación basada en mapas (2 fases) – Métodos basados en descomposición de celdas (2 fases) – Metodología de los Campos Potenciales (Técnica)

Transcript of Resolviendo Motion Planing

Page 1: Resolviendo Motion Planing

1

Resolviendo Motion Planing

Prof. Teddy Alfaro O.Seminario Modelo y Métodos

Cuantitativos

Metodologías más usadas

• Los métodos de planificación se pueden agrupar en 3 grandes grupos– Planificación basada en mapas (2 fases)– Métodos basados en descomposición de celdas

(2 fases)– Metodología de los Campos Potenciales

(Técnica)

Page 2: Resolviendo Motion Planing

2

Metodologías basadas en Mapas

Planificación Basada en Mapas

• Idea: aprovechar las características geométricas del ambiente y de los obstáculos para generar un grafo de posibles trayectorias

• Centrado en los obstáculos• Espacio discreto• Algunas técnicas:

– Grafos de Visibilidad, Diagramas de Voronoi, C.R.G

Page 3: Resolviendo Motion Planing

3

Grafos (Mapas) de Visibilidad

• Propuestos por Nilsson en 1969• Enfoque geométrico para entornos

bidimensionales con obstáculos en forma de polígonos

• Concepto de visibilidad, con arcos rectilíneos

• Se requiere información de los vértices de los objetos

• Se construye un grafo de visibilidad

Grafo de Visibilidad

• Un grafo de visibilidad GV es un grafo no dirigido, que se define por el par (N,γ):– i) Donde, N resulta un conjunto de nodos formado por la

configuración inicial qa, la configuración final qf, y los vértices de los obstáculos que pertenencen al conjunto B.

– ii) Y la función γ definida de NxN�[0,1] es no nula si y solo si los dos nodos referenciados se encuentran conectados. Se dice que dos nodos están conectados si y solo si se puede trazar un segmento que los una, de forma que resulte una arista de un obstáculo de B, o bien yazca por completo en elespacio libre del entorno Cl.

Page 4: Resolviendo Motion Planing

4

Ejemplo de GV

• Los nodos son el conjunto de vértices de los obstáculos más el inicial y final

• Dos nodos están conectados ssi son visibles

• También se consideran visibles los segmentos que son bordes de los obstáculos

Observaciones• Los obstáculos deben ser poligonales o discretizarse

como tales. Como quedaría un mapa conformado por poligonos con gran cantidad de vértices

• La desventaja es que las trayectorias pasan muy cerca de los obstáculos y consideran un robot puntual – se puede aminorar este problema dilatando a los obstáculos en función del tamaño del robot (problema con robots no cilíndricos)

• Se complementan con el concepto de entornos expandidos (visibilidad semi-libre según Latombe)

• Entornos totalmente conocidos

Page 5: Resolviendo Motion Planing

5

Diagramas (mapas) de Voronoi

• Elimina el problema de los grafos de visibilidad ya que se construyen rutas lo más alejadas de los obstáculos

• Los diagramas de Voronoi son una proyección del espacio libre en una red de curvas, conformadas por rectilíneas y parabólicos

• Se define el concepto de Retracción

Función de Restracción RT• RT construye un conjunto Cv de Cfree

(notación C-space)freevvfree CCCCqRT ⊂→= /)(

s1 nace de e1 y n2s2 nace de e1 y e2

Retracción del Espacio

Page 6: Resolviendo Motion Planing

6

Retracción de una configuración

• Dado una configuración q no perteneciente a Cv, existe un único punto p más cercano perteneciente a un vértice o arista de un obstáculo. La función RT(q) se define como el primer corte con Cv de la línea que une p con q

Ejemplo DV• El algoritmo de

planificación consite en encontrar la secuencia de segmente del diagrama de voronoi tal que conecten la RT(qinit) con RT(qgoal)

• Algoritmo base:– Calcular el diagrama

de Voronoi– Calcular el RT(qinit) y

RT(qgoal)– Encontrar la ruta más

corta

Las rectas se forman con puntos equidistantesde dos o más obstáculos.Las parábolas se forman en los vértices

Page 7: Resolviendo Motion Planing

7

Observaciones

• Los obstáculos también son modelados poligonalmente

• No resulta ser la ruta más corta real• Trabaja sobre entornos totalmente

conocidos

Cilindros Rectilíneos Generalizados (CRG)

• También se pretende que el robot navegue lo más alejado posible de los obstáculos

• Se modela el espacio libre de acuerdo formas como cilindros o conos

• Se construeyen cilindros a partir de las artistas de los obstáculos y luego se conforma un mapa de caminos

Page 8: Resolviendo Motion Planing

8

CRG• El eje de un CRG se define como la bisectriz del

ángulo alfa formado por las rectas que contienen las aristas x e y de los obstáculos b1 y b2, luego se construyen segmentos rectilíneos que se proyectan para ser unidos con otros.

Ejemplo CRG

Page 9: Resolviendo Motion Planing

9

Observaciones

• Objetos poligonales• La ruta más corta a obtener tiende a alejarse

de la distancia más corta real• Entorno totalmente conocidos

Road Maps en General

• Los más utilizados son los PRM (probabilistic Road Map), se construye una aproximación semi-aletoria del la conectividad de confiuraciones del Cfree

• Consiste en un procesamiento sobre el Cfree en el cual se utiliza una estrategia de muestreo para obtener nodos sin colisión y luego se conectan los nodos basandose en una estrategia de conectividad simple

Page 10: Resolviendo Motion Planing

10

Ejemplo

Observaciones

• Se requiren de una buena estrategia de muestreo

• Se requiere de una estrategia simple y rápida de conectividad

• Requiere procesamiento de apoyo: quitar o agregar nodos estratégicos

• Pueden haber pasadizos que no sen descubiertos

Page 11: Resolviendo Motion Planing

11

Metodologías basadas en Descomposición de Celdas

Descomposición en Celdas

• Idea: identificar las áreas libres de espacio y establecer nodos en esas áreas

• Centrado en el espacio libre• Se puede ajustar el nivel de discretización• Algunas Técnicas:

– Descomposiciones Trapezoidales, verticales, horizontales, enrejado

Page 12: Resolviendo Motion Planing

12

Descomposición en Celdas

• Basada en la construcción de un camino desde una configuración inicial a una final, en una entorno discretizado en celdas

• La ruta no está representada con segmentos como en las metodologías anteriores, sino por una secuencia de celdas

• Requiere 2 etapas– Descomposición de celdas– Construcción de un grafo de conectividad

Celdas trapezoidales

• Se consideran entre 3 o 4 vértices para formar un trapezoides

• Cada trapecio representa una zona libre por la cual puede transitar el robot

• Cada trapecio representa un nodo que se conecta con otros trapecios

Page 13: Resolviendo Motion Planing

13

Celdas Trapezoidales

Celdas verticales (horizontales)

• Generar trazos verticales (horizontales) desde cada uno de los vértices poligonales, hasta el borde del entorno u otro obstáculo

• Situar dentro de las zonas generadas un nodo representativo de la zona

• Generar un mapa de camino de acuerdo a la adyacencia de cada zona (no necesariamente visibilidad)

Page 14: Resolviendo Motion Planing

14

Ejemplo 1

• Descompocisión Vertical

Ejemplo 2

c1 c10

c2

c3

c4 c5

c6

c7

c8

c9

c11

c12

c13

c14

c15

c11c1

c2

c4

c3c6

c5c8

c7

c10

c9c12

c13

c14

c15

Page 15: Resolviendo Motion Planing

15

Ejemplo 3

• Descomposición Horizontal

1

2

45

6

3

78

1011

9

12

1

3 2

4

5

67

8

9

1011

12

Descomposiciones no exactas

• A la descomposición en trapezoides, celdas verticales y horizontales, se pueden encontrar otras formas de celdas

• La información del grafo de conectividad es solo en adayacencia, por ello el resultado será una secuencia de zonas que debe visitar el robot

• Como el robot navega dentro de la zona o celda, es un tema abierto.

Page 16: Resolviendo Motion Planing

16

Engrillado

• Construir una colección de celdas que no se superpongan de manera que cubra aproximadamente todo el Cfree

• Los obstáculos pueden ser discretizados en celdas, de los contrario se tendran celdas empty, full y mixed

Engrillado

Page 17: Resolviendo Motion Planing

17

Engrillado regular• El tamaño del espacio de búsqueda depende de la

resolusión y de la conectividad

Ajustando resolución

• Dependiendo del nivel de detalle, puede haber o no solución

Page 18: Resolviendo Motion Planing

18

Observaciones• Ventajas del engrillados

– Simple y descomposición uniforme– Fácil y eficiente de implementar– Puede ser re-adaptado de acuerdo a la resolución

requerida• Desventajas del engrillado

– Gran requerimiento de almacenamiento– Pérdida de exactitud y zonas de contacto– Pérdida de completitud (pueder fallar el encontrar un

camino)– La descomposición no está basada en CB

Arboles de Celdas (trees)• Para reducir memoria se utilizan quadtree en un

lugar de un engrillado• Se basa en una sucesión subdivisiones en

cuadrantes • Proceso:

Una región es recursivamente subdividida en 4 cuadrantes hasta encontrar una region libre (cuadrante libre) de obstáculos o hasta un tamaño mínimo de grilla (típicamente A(q) )

• Camino generado es subóptimo ya que la conexión entre celdas es un segmente entre los centros de éstas

Page 19: Resolviendo Motion Planing

19

Quadtree

• Si la celdas es mixta,ésta puede tener hijos (subdividir)

• Si la celda es full, notiene hijos y no es transitable

• Si la celda es empty, la celda es transitable, y no hay necesidad de subdividar

Formación del Arbol

Page 20: Resolviendo Motion Planing

20

Dimensionalidad

• Si W=IR2� quadtree• Si W=IR3�octree

Observaciones

• Si m=dim(W) y h es la profunidad del árbol– La cantidad de hijos de una celda es 2m

– La altura del h estará dada por el nivel de resolución máximo

• En el peor caso, ésta técnica no está acotada. Si determinamos un nivel máximo de resolución, el árbol tiene 2mh nodos

• Mejoras en la técnica de conexión entre celdas

Page 21: Resolviendo Motion Planing

21

Campos Potenciales

• Técnica de planificación mediante el uso de campos potenciales artificiales

• Se basa en una analogía:– El robot se ve como una partícula con carga eléctrica– El espacio libre se considera como un campo potencial– Los obstáculos tienen un carga eléctrica del mismo

signo del robot (se repelen)– La meta tiene una carga eléctrica de signo opuesto al

robot (se atraen)

Campos Potenciales Artificiales

• La función de potencial de una configuración dada está compuesta por:

U(q)=UA(q)+UR(q)• El robot se mueve en función

de la fuerza localF(q)= U(q)∆

Page 22: Resolviendo Motion Planing

22

Funciones de Potencial• Para obtener las fuerzas hay que modelar el las

funciones de potencial de la meta y obstáculos –calculando el potencial para cada punto del espacio libre:

• Meta – “atractor parabólico”UA(q) = k1 dist(q, meta)2

• Obstáculo – “barrera potencial exponencial”UR(q) = k2 dist(q, obstáculo)-1

La velocidad del robot se modela proporcional a la fuerza

Funciones de Potencial

• Ventajas:– Se pueden generar trayectorias en tiempo real a partir

del campo de fuerzas– Las trayectorias generadas son suaves– Facilita el acoplar la parte de planeación con control

• Desventajas:– Mínimos locales!– Anulación de Potencial– Obstáculos Cóncavos pueden generar oscilaciones– Se considera el robot puntual