La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

L. Enrique Sucar Marco López ITESM Cuernavaca

Presentaciones similares


Presentación del tema: "L. Enrique Sucar Marco López ITESM Cuernavaca"— Transcripción de la presentación:

1 L. Enrique Sucar Marco López ITESM Cuernavaca
Robótica Inteligente L. Enrique Sucar Marco López ITESM Cuernavaca

2 Planeación de Trayectorias
Introducción Espacio discreto Búsqueda en grafos Programación dinámica Diagramas de Voronoi Espacio Continuo Campos de potenciales

3 Plan Un plan es un conjunto de acciones (operadores) que permiten a un agente (robot) ir de un estado inicial a un estado final o meta Los elementos básicos para hacer un plan son: Estados (p. ej. Posición del robot), incluyendo el estado incial y el estado meta Operadores: acciones que llevan de un estado a otro, Si  Sj

4 Ejemplo de Plan Considerando el mapa de rejilla: Estados: Acciones:
posición X,Y en el mapa Estado inicial: 0,0 Estado meta (luz): Xm, Ym Acciones: Movimiento a alguna de las celdas vecinas X+1, Y+1, X-1, Y-1

5 Ejemplo de Plan Plan: buscar una serie de acciones básicas que lleven al robot de la posición inicial a la meta

6 Ejemplo: plan en el mapa topológico
Plan = búsqueda de una trayectoria en el grafo, del nodo inicial al meta

7 Consideraciones iniciales
Un robot rígido usualmente modelado como un “punto” Un ambiente estático con obstáculos conocidos Un robot capaz de navegar en segmentos de línea recta y de mantener su localización

8 Técnicas de Búsqueda Algún camino: Sin información: depth-first (en profundo) breadth-first (a lo ancho) Con información: hill climbing beam search best first

9 El mejor camino: British museum branch and bound A*

10 Ejemplo – técnicas de búsqueda
F

11 Ejemplo: ESTADOS Y DISTANCIAS
4 4 C A B 3 5 5 I M 4 3 D E F 2 4

12 ÁRBOL DE BÚSQUEDA I A D B D A E F C E E B B D F B F C E A C M M C M F
11 D F B F C E A C M 14 17 15 15 13 M C M F 19 19 17 M 25

13 Depth first - backtracking (LIFO)
Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores al frente de la agenda

14 DEPTH-FIRST SEARCH (I) (A D) (B D D) (C E D D) C (E D D) (D F D D)
11 (E D D) D F B F C E A C M 14 17 15 15 13 M C M F (D F D D) 19 19 17 M (F D D) 25 (M D D)

15 Problemas: árboles con caminos de profundidad muy grande Variaciones:
depth-bound (casi todos): limitar la búsqueda hasta cierto límite de profundidad interative-deepening: explorar a profundidad progresivamente con algo de información: ordena los nodos expandidos

16 Breadth first Problemas: árboles con arborescencia muy grande
Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores al final de la agenda Problemas: árboles con arborescencia muy grande

17 ÁRBOL DE BÚSQUEDA I A D B D A E F C E E B B D F B F C E A C M M C M F
11 D F B F C E A C M 14 17 15 15 13 M C M F 19 19 17 M 25

18 Algoritmos con Información
Hill-Climbing Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda selecciona el mejor y elimina el resto

19 (I) (A D) (D B) (E C) BÚSQUEDA HILL-CLIMBING Hill climbing
Heurística: ve a la ciudad más cercana (I) (A D) (D B) (E C) I A D B D A E C E E B B F 11 D F B F C E A C M 14 17 15 15 13 M C M F 19 19 17 M 25

20 Beam search Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda y selecciona los N mejores (los demás eliminalos)

21 EJEMPLO DE BÚSQUEDA BEAM SEARCH

22 Beam search Beam=2 1 I A D 3 4 I 2 A D 4 B D 7 8 X

23 3 I A D B A E 6 9 7 X

24 4 I A D B E E 7 B F 10 11 X

25 5 I A D B E E B F 10 C E 11 12 X

26 6 I A D B E E B F C M

27 costo(camino recorrido) + estim(camino que falta)
A*: utiliza dos medidas Idea: usar estimaciones de los costos/distancias que faltan junto con los costos/distancias acumuladas estim(total) = costo(camino recorrido) + estim(camino que falta)

28 Las estimaciones no son perfectas, por lo que se usan sub-estimaciones
costo(camino recorrido) + subestim(total) = subestim(camino que falta) De nuevo expande hasta que los demás tengan sub-estimaciones más grandes (v.g., subestimaciones de distancias entre ciudades pueden ser líneas rectas)

29 Crea una agenda de un elemento (el nodo raíz)
hasta que la agenda este vacía o se alcance la meta y los demás nodos sean de costos mayores o iguales a la meta si el primer elemento es la meta y los demás nodos son de menor o igual costo a la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda de acuerdo al costo acumulado más las subestimaciones de los que falta

30 EJEMPLO DE BÚSQUEDA A*

31 A* 1 I A D 13.4 12.9 I 2 13.4 A D A E 19.4 12.9

32 I 3 13.4 A D A E E 19.4 17.7 B F 13.0

33 I 4 D 13.4 A 19.4 A E E B F 17.7 13.0 M

34 Programación dinámica
Procedimiento iterativo (recursivo) para evaluar el costo de la trayectoria mínima de cualquier punto a la meta Se considera un ambiente discretizado y un costo de moverse de un sitio (celda) a otro El algoritmo básico se conoce como “iteración de valor”

35 Algoritmo de Iteración de valor
V(x,y) : Costo acumulado de viaje a la celda más cercana, si el robot está en la celda (x,y) Inicio: Vi(x,y) = 0 si la celda (x,y) es la meta = infinito demás celdas Regla de actualización: Vi(x,y) =min m_j=(dx,dy) en Mov{Vj(x+dx,y+dy) (Sig. celda) + Cmov((x,y),(dx,dy))} (avanzar)

36 Ejemplo – iteración de valor
2.4 2 1.4 1 2 1 2.4 1.4 1

37 Ejemplo – iteración de valor
10.2 9.2 8.2 6.8 5.8 4.8 3.8 3.4 3 6.8 9.8 7.8 5.8 4.8 4.4 2.4 2 8.8 3.4 6.4 5.4 4.4 1.4 1 8.8 7.8 6.8 4 3 2 1 9.2 8.2 7.8 4.4 3.4 2.4 1.4 1

38 Ejemplo – iteración de valor
10.2 9.2 8.2 6.8 5.8 4.8 3.8 3.4 3 6.8 9.8 7.8 5.8 4.8 4.4 2.4 2 8.8 3.4 6.4 5.4 4.4 1.4 1 8.8 7.8 6.8 4 3 2 1 9.2 8.2 7.8 4.4 3.4 2.4 1.4 1

39 Ejemplo de programación dinámica
Se considera un conjunto de celdas (road-map) libres de obstáculos obtenidas previamente V(x,y) (pixel oscuros denotan valores altos) I G

40 Diagrama de Voronoi El diagrama de Voronoi es el conjunto de puntos equidistantes a los límites de 2 o más obstáculos Siguiendo el diagrama de Voronoi el robot maximiza la distancia a los obstáculos Se puede utilizar un diagrama aproximado considerando una distancia máxima a los obstáculos de forma que se consideren las limitaciones de los sensores

41 Ejemplos de diagramas de Voronoi

42 Ejemplo de Diagrama de Voronoi
Izquierda – mapa del espacio libre Derecha – diagrama de Voronoi aprox.. Roadmap

43 Campos de Potencial Se basa en una analogía:
El robot se ve como una partícula con carga eléctrica El especio 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)

44 Campos de Potencial

45 Campos de Potencial

46 Campos de Potencial El campo de potencial diferencial se construye sumando el campo de la meta, Ug, y el campo de los obstáculos, Uo: U(q) = Ug(q) + S Uo(q) A partir de este campo se construye un campo de fuerzas artificial: F = - Ñ U(q) = ( dU/dx ) ( dU/dy )

47 Campos de Potencial Una vez construido el campo de fuerzas, el robot se mueve en función de la fuerza local (similar al caso de los valores en programación dinámica) Con esto se tiene un esquema robusto que implicitamente tiene un plan de cualquier punto del espacio a la meta

48 Campos de Fuerzas

49 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” Ug(q) = k1 dist(q, meta)2 Obstáculo – “barrera potecial exponencial” Uo(q) = k2 dist(q, obstaculo)-1

50 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!

51 Trampas (mínimos locales)

52 Mínimos Locales Estrategias para evitar trampas: Backtracking
Movimientos aleatorios (planeación de trayectorias aleatoria – RPM) Usar otra estrategia, como seguimiento de paredes Aumentar el potencial repulsivo de regiones visitadas

53 Referencias [Russell y Norvig] – Cap 3 [Dodek y Jenkin] – Cap 5

54 Tarea Diseño modificado del robot (aspectos mecánicos, electrónicos y sensorial) de acuerdo a su categoría Hacer una presentación de su robot explicando y justificando el nuevo diseño (sin uso de apoyos)


Descargar ppt "L. Enrique Sucar Marco López ITESM Cuernavaca"

Presentaciones similares


Anuncios Google