L. Enrique Sucar Marco López ITESM Cuernavaca

Slides:



Advertisements
Presentaciones similares
INGENIERIA INFORMATICA Y BUSQUEDAS CON ADVERSARIOS
Advertisements

Branch-and-bound Search
Búsqueda en árboles de juego
Búsqueda en un espacio de estados
Dispersión clásica de partículas cargadas
INTELIGENCIA ARTIFICIAL
Inteligencia Artificial
Inteligencia Artificial
Inteligenica Artificial I Alejandro Permingeat Inteligencia Artificial de Russell y Norving 1° edición 1996 Parte II Capítulo V.
Grupo 4 Matías Melgar Pablo Carbonell
Inteligencia Artificial Búsqueda informada y exploración
La regla de la esquina noroeste
Investigación de Operaciones II
Cap 4 Búsqueda Heurística
Búsqueda Informada Heurísticas.
Algoritmos Aleatorizados
Inteligencia Artificial Búsqueda informada y exploración
Inteligencia Artificial Búsqueda entre adversarios
Robótica Inteligente L. Enrique Sucar Marco López ITESM Cuernavaca.
Inteligencia Artificial Resolver problemas mediante búsqueda
Inteligencia Artificial Resolver problemas mediante búsqueda
Eduardo Morales/L. Enrique Sucar
Eduardo Morales/L. Enrique Sucar
Cecilia Laborde González
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
1 Algoritmos Elementales de Grafos Agustín J. González ELO-320: Estructura de Datos Y Algoritmos 1er.Sem
Temas importantes para el desarrollo de la segunda parte del TPE
Trabajo presentado por: LUIS FERNANDO OBANDO ING
Capítulo 4 BUSQUEDA INFORMADA.
Árbol recubridor mínimo Distancias
Tema 3: Sensores y Actuadores
L. Enrique Sucar M. López Robótica Inteligente Los robots del futuro: Robots de Servicio.
Solución de problemas por Búsqueda
Semana de la Electrónica Facultad de Ciencias de la Electrónica BUAP Dr. Daniel Mocencahua Mora Alfonso M. Cuesta Hernández Métodos de planificación de.
Optimización, Búsqueda Heurística
Agentes de resoluciones d problemas Parte I. Un agente puede adoptar una meta o un propósito para satisfacer.
Diseño y análisis de algoritmos
Métodos de Búsqueda Informada. Búsqueda de la mejor Ruta En esta sección no sólo nos interesa encontrar una posible ruta, sino obtener aquella ruta que.
Tema 3: Sensores L. Enrique Sucar Alberto Reyes ITESM Cuernavaca
Sesión 6: Campos de Markov
Diseño y análisis de algoritmos
¿Por que estudiar búsquedas? Recordemos que la mayoría de los problemas en inteligencia artificial, involucran como tema central un proceso de búsqueda.
Robótica Inteligente L. Enrique Sucar Leonardo Romero Marco López ITESM Cuernavaca.
Sistemas Inteligentes Distribuidos Sistemas Inteligentes Distribuidos Sesión 13 L. Enrique Sucar / Marco López Sesión 13 L. Enrique Sucar / Marco López.
Sistemas Inteligentes Distribuidos Sistemas Inteligentes Distribuidos Sesión 8 Eduardo Morales / L. Enrique Sucar Sesión 8 Eduardo Morales / L. Enrique.
Trabajo y cinética. Entonces: Un truco conocido Trabajo y cinética.
Robótica Inteligente Tema 3: Mecánica L. Enrique Sucar Alberto Reyes ITESM Cuernavaca.
Parte II. Algorítmica. 5. Backtracking. 1. Análisis de algoritmos.
Robótica Inteligente L. Enrique Sucar Leonardo Romero Marco López ITESM Cuernavaca.
Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales
Robótica Inteligente L. Enrique Sucar Leonardo Romero Marco López ITESM Cuernavaca.
Sesión 12: Procesos de Decisión de Markov
Resolución de problemas mediante búsqueda
Tema 6: Programación L. Enrique Sucar Marco López ITESM Cuernavaca
Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales
Optimización Combinatoria y Grafos Búsqueda Tabú
Robótica Inteligente L. Enrique Sucar Marco López ITESM Cuernavaca.
UNIDAD 2 Grafos Árboles abarcadores mínimos Caminos más cortos.
Robótica Inteligente L. Enrique Sucar Marco López ITESM Cuernavaca.
Guadalupe Martínez Hernández.  La tarea de la Segmentación de imágenes es de : Encontrar un grupo de pixeles “juntos”.  En estadística este problema.
Búsqueda Eduardo Morales/L. Enrique Sucar Sesión 03 Búsqueda Eduardo Morales/L. Enrique Sucar Sesión 03 Fundamentos de Inteligencia Artificial.
Agentes e IA Distribuida L. E. Sucar / Alberto Reyes Robótica Inteligente.
Inteligencia Artificial
Potencial Eléctrico..
BUSQUEDA POR PROFUNDIDAD INTELIGENCIA ARTIFICIAL
Matemáticas Discretas MISTI
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Recorridos de grafos Segunda Parte M.C. Meliza Contreras González.
2 Gravitación 15 El campo gravitatorio
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
Transcripción de la presentación:

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

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

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

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

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

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

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

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

El mejor camino: British museum branch and bound A*

Ejemplo – técnicas de búsqueda F

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

Á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

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

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)

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

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

Á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

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

(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

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)

EJEMPLO DE BÚSQUEDA BEAM SEARCH

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

3 I A D B A E 6 9 7 X

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

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

6 I A D B E E B F C M

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)

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)

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

EJEMPLO DE BÚSQUEDA A*

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

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

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

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”

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)

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

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

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

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

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

Ejemplos de diagramas de Voronoi

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

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)

Campos de Potencial

Campos de Potencial

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 )

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

Campos de Fuerzas

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

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!

Trampas (mínimos locales)

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

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

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)