Introducción a la Robótica



Documentos relacionados
Métodos de Inteligencia Artificial

PRÁCTICA 4. EL ENTORNO DE UN ROBOT EN C++

Planificación de Trayectoria. CI-2657 Robótica M.Sc. Kryscia Ramírez Benavides

Búsqueda Heurística I

Inteligencia Artificial Resolver problemas mediante búsqueda

Campos gravitatorios en el espacio muestral

Introducción a la Robótica Móvil

Resolviendo Modelos de Mapas

Matemáticas Discretas L. Enrique Sucar INAOE. Teoría de Grafos. Problema de los puentes de Königsberg [Euler]

Semana 4: Métodos de Búsqueda No informados. Prof. Oscar Benito Pacheco.

UNIVERSIDAD NACIONAL DE INGENIERÍA UNI RUACS ESTELI

Introducción a la Geometría Computacional

PROBLEMA DEL TRANSPORTE VRP (VEHICLE ROUTING PROBLEM)

Sesión 4: Teoría de Grafos

Algoritmos. Diseño de algoritmos por inducción. Alberto Valderruten. Dept. de Computación, Universidade da Coruña

Solución de Problemas Mediante Búsqueda (1) Carlos Hurtado L. Depto de Ciencias de la Computación, Universidad de Chile

Búsqueda Informada. Algoritmos primero el mejor Algoritmos de búsqueda local

Inteligencia Artificial

3. Métodos clásicos de optimización lineal

PROGRAMACIÓN LINEAL. 1. Introducción

INAOE. Introducción a Robótica. Eduardo Morales, Enrique Sucar. Arquitecturas. Percepción. Mapas. Localización. Cinemática. Planeación de Trayectorias

Definición de contenidos en las asignaturas relacionadas con robótica para el grado y posgrado de Informática

Resolviendo Problemas Buscando Soluciones. Tomás Arredondo Vidal 16/6/2010

Planeación y Búsqueda. IA Planeación de Trayectorias y Métodos de Búsqueda

Tablas Hash y árboles binarios

ALGORITMOS DE BÚSQUEDA. Ing. Ronald A. Rentería Ayquipa

Detección de colisiones y planificación de caminos

CONTROL Y PROGRAMACIÓN DE ROBOTS

Planeación de Trayectorias y Métodos de Búsqueda. Dr. Jesús Antonio González Bernal

Métodos basados en instancias. K-vecinos, variantes

3.1 Representación gráfica de curvas bidimensionales.

Métodos de Inteligencia Artificial

Definición de problemas de programación lineal. Método gráfico. Método del SIMPLEX. Método de las dos fases. Análisis de sensibilidad y problema dual

Inteligencia Artificial

Hoja de Problemas Tema 2 Búsqueda no-informada

ALGORITMOS DE PLANIFICACIÓN DE TRAYECTORIAS BASADOS EN FAST MARCHING SQUARE

Inteligencia Artificial II Unidad Plan 2010-Ingeniería en Sistemas Computacionales

ALGUNOS PROBLEMAS RESUELTOS DE CAMPO MAGNÉTICO

Tema 05: Tablas hash. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom

PRIMERA PARTE PROGRAMACION MATEMATICA

4. Métodos de Solución PPL : Solución Algebraica: METODO SIMPLEX Primera Parte

Módulo 1: Electrostática Fuerza eléctrica

Algoritmos de búsqueda con espacio de memoria limitado

PROGRAMACION ENTERA. M. en C. Héctor Martínez Rubin Celis 1

TEORÍA DE GRAFOS. OPTIMIZACIÓN EN REDES 1

PASO 1: Poner el problema en forma estandar.

Programación Lineal. Unidad 1 Parte 2

Aplicaciones de la programación

UNIDAD UNO PROGRAMACIÓN LÍNEAL Parte 3

Complejidad de Algoritmos

Aplicación del muestreo bayesiano en robots móviles: estrategias para localización y estimación de mapas del entorno

Robots Autónomos Miguel Cazorla,, Otto Colomina Depto.. Ciencia de la Computación n e I.A. Universidad de Alicante

INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS PROGRAMA SINTÉTICO

Tema: Búsqueda a Ciegas (No Informada).

Para que un problema pueda ser solucionado por el método de transporte, este debe reunir tres condiciones:

Agentes que resuelven problemas

Modelado y Optimización de Proyectos

25/09/2014 BÚSQUEDA NO INFORMADA / BÚSQUEDA CIEGA INTRODUCCIÓN BÚSQUEDA SUPOSICIONES DEL ENTORNO FORMULAR-BUSCAR-EJECUTAR

11. ANÁLISIS CINEMÁTICO POR MÉTODOS

TALLER 2 DIAGRAMAS DE FLUJO EN LEGO MINDSTORMS

Trabajo Práctico N 4

Pasos en el Método Simplex

Fundamentos de Investigación de Operaciones Modelos de Grafos

Tema II: Programación Lineal

El Método Simplex. H. R. Alvarez A., Ph. D. 1

Optimización en Ingeniería

Práctica 2 Estadística Descriptiva

LOS CUESTIONARIOS TIENEN RELACIÓN CON LOS CAPITULOS XX Y XXI DEL TEXTO GUÍA (FÍSCA PRINCIPIOS CON APLICACIONES SEXTA EDICIÓN DOUGLAS C.

Visión artificial y Robótica Modelos de movimiento y mapas. Depto. de Ciencia de la Computación e Inteligencia Artificial

Dirección General de Educación Superior Tecnológica

PRACTICAS DE OPENOFFICE CALC Práctica 1

ÍNDICE CAPITULO UNO CAPITULO DOS. Pág.

Preparación de la carga para su movilización.

DISEÑO CURRICULAR ALGORITMOS, ESTRUCTURAS Y PROGRAMACIÓN I

Modelos de Redes: Árbol. M. En C. Eduardo Bustos Farías

Ejercicios 1ª EVALUACIÓN. FÍSICA Movimiento Rectilíneo Uniforme (MRU)

INSTITUTO TECNOLÓGICO DE NUEVO LAREDO. INGENIERÍA EN SISTEMAS COMPUTACIONALES. Materia: Inteligencia Artificial. Catedrático:

1. Aplique el método de inducción matemática para probar las siguientes proposiciones. e) f) es divisible por 6. a) b) c) d) e) f)

Anexo 1 ÁLGEBRA I.- Operaciones en las Expresiones Algebraicas II.- Factorización y Operaciones con las Fracciones III.- Funciones y Relaciones

RESOLUCIÓN DE PROBLEMAS, BÚSQUEDA. Ing. Ronald A. Rentería Ayquipa

EL MÉTODO SIMPLEX ALGEBRAICO: MINIMIZACION. M. En C. Eduardo Bustos Farías

Tema 06: Derivación implícita, vector gradiente y derivadas direccionales

Robótica Industrial. Carrera: Ingeniería Electrónica APM

Índice Consigna.3 Definición de Organigrama y modelos.4 Organigramas empresariales con area de RR.PP...12 Bibliografía..14

Problemas de transporte, asignación y trasbordo

Transcripción:

Introducción a la Robótica L. Enrique Sucar INAOE Robótica Probabilista, L. E. Sucar 1

10.2 9.2 8.2 6.8 5.8 4.8 3.8 3.4 3 9.8 8.8 7.8 6.8 5.8 4.8 4.4 2.4 2 6.4 5.4 4.4 3.4 1.4 1 8.8 7.8 6.8 4 3 2 1 0 9.2 8.2 7.8 4.4 3.4 2.4 1.4 1 Sesión 7: Planeación de trayectorias Introducción a la Robótica L. Enrique Sucar Robótica Probabilista, L. E. Sucar 2

Contendio Introducción Técnicas clásicas Búsqueda en grafos Programación dinámica Diagramas de Voronoi Grafos de visibilidad Campos potenciales Robótica Probabilista, L. E. Sucar 3

Planeación de Trayectorias Determinar una trayectoria en el espacio de configuraciones, entre una configuración inicial (inicio) y una configuración final (meta), de forma que el robot no colisione con los obstáculos y cumpla con las restricciones cinemáticas del robot Robótica Probabilista, L. E. Sucar 4

Planeación de Trayectorias Consideraciones adicionales: Trayectoria de distancia (tiempo o costo) mínimo Ambientes semidesconocidos Ambientes dinámicos Restricciones adicionales Eficiencia (algoritmos anytime) Robótica Probabilista, L. E. Sucar 5

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 Robótica Probabilista, L. E. Sucar 6

Ejemplo de Plan Considerando el mapa de rejilla: Estados: 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 Robótica Probabilista, L. E. Sucar 7

Ejemplo de Plan Plan: buscar una serie de acciones básicas que lleven al robot de la posición inicial a la meta Robótica Probabilista, L. E. Sucar 8

Ejemplo: plan en el mapa topológico Plan = búsqueda de una trayectoria en el grafo, del nodo inicial al meta Robótica Probabilista, L. E. Sucar 9

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 Robótica Probabilista, L. E. Sucar 10

Técnicas Clásicas Espacios discretos Búsqueda en grafos Programación dinámica Diagramas de Voronoi Grafos de visibilidad Espacios continuos Campos potenciales Robótica Probabilista, L. E. Sucar 11

Ejemplo técnicas de búsqueda I A B C M D E F Robótica Probabilista, L. E. Sucar 12

Ejemplo: ESTADOS Y DISTANCIAS I 3 4 A 4 B 4 C 5 5 D E F 2 4 3 M Robótica Probabilista, L. E. Sucar 13

ÁRBOL DE BÚSQUEDA I A D B D A E C E E B B F 11 D F B F C E A C M 14 M C M 19 19 17 17 F M Robótica Probabilista, L. E. Sucar 14 25 15 15 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 Robótica Probabilista, L. E. Sucar 15

DEPTH-FIRST SEARCH (I) (A D) A I D (B D D) (C E D D) (E D D) (D F D D) (F D D) (M D D) B D A E C E E B B F 11 D F B F C E A C M 14 M C M 19 19 17 17 Robótica Probabilista, L. E. Sucar 16 F M 25 15 15 13

Breadth first 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 Robótica Probabilista, L. E. Sucar 17

ÁRBOL DE BÚSQUEDA I A D B D A E C E E B B F 11 D F B F C E A C M 14 M C M 19 19 17 17 F M Robótica Probabilista, L. E. Sucar 18 25 15 15 13

Hill-Climbing Algoritmos con Información 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 Robótica Probabilista, L. E. Sucar 19

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

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) Robótica Probabilista, L. E. Sucar 21

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) + Robótica Probabilista, L. E. Sucar 22

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

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 Robótica Probabilista, L. E. Sucar 24

EJEMPLO DE BÚSQUEDA A* Robótica Probabilista, L. E. Sucar 25

A* 1 I 13.4 A D 12.9 2 I 13.4 A D 19.4 A E 12.9 Robótica Probabilista, L. E. Sucar 26

3 I 13.4 A D 19.4 A E 17.7 B F 13.0 Robótica Probabilista, L. E. Sucar 27

4 I 13.4 A D 19.4 A E 17.7 B F 13.0 M Robótica Probabilista, L. E. Sucar 28

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 discreto y un costo de moverse de un sitio (celda) a otro El algoritmo básico se conoce como iteración de valor Robótica Probabilista, L. E. Sucar 29

Algoritmo de Programación Dinámica V(x,y) : Costo acumulado de viaje a la celda más cercana, si el robot está en la celda (x,y) Inicio: V i (x,y) = 0 si la celda (x,y) es la meta = infinito demás celdas Regla de actualización: V i (x,y) =min m(dx,dy) en Mov {V j (x+dx,y+dy) (Sig. celda) + C mov ((x,y),(dx,dy))} (avanzar) Robótica Probabilista, L. E. Sucar 30

Ejemplo programación dinámica 2 2.4 1.4 1 2 1 0 2.4 1.4 1 Robótica Probabilista, L. E. Sucar 31

Ejemplo programación dinámica 10.2 9.2 8.2 6.8 5.8 4.8 3.8 3.4 3 9.8 8.8 7.8 6.8 5.8 4.8 4.4 2.4 2 6.4 5.4 4.4 3.4 1.4 1 8.8 7.8 6.8 4 3 2 1 0 9.2 8.2 7.8 4.4 3.4 2.4 1.4 1 Robótica Probabilista, L. E. Sucar 32

Ejemplo programación dinámica 10.2 9.2 8.2 6.8 5.8 4.8 3.8 3.4 3 9.8 8.8 7.8 6.8 5.8 4.8 4.4 2.4 2 6.4 5.4 4.4 3.4 1.4 1 8.8 7.8 6.8 4 3 2 1 0 9.2 8.2 7.8 4.4 3.4 2.4 1.4 1 Robótica Probabilista, L. E. Sucar 33

Ejemplo de programación dinámica Se considera un conjunto de celdas (road-map) libres de obstáculos obtenidas previamente I G V(x,y) (pixel oscuros denotan valores altos) Robótica Probabilista, L. E. Sucar 34

Programación dinámica otros costos V i (x,y) : Costo acumulado de viaje a la celda más cercana, si el robot está en la celda (x,y) con orientación θ i Inicio: V i (x,y) = 0 si la celda (x,y) es la meta = infinito otras celdas (x,y) Regla de actualización: V i (x,y) = min m_j=(dx,dy) en Mov {V j (x+dx,y+dy) (Sig. celda) + C mov ((x,y),(dx,dy)) (avanzar) + C g (i,j)} (girar) Robótica Probabilista, L. E. Sucar 35

El costo por avanzar incluye: Distancia entre celdas Costode la celdadestinode acuerdoa su tipo Celdas ocupadas Celdas de advertencia Celdas de viaje Celdas lejanas Espacio de viaje Robótica Probabilista, L. E. Sucar 36

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 Robótica Probabilista, L. E. Sucar 37

Ejemplos de diagramas de Voronoi Robótica Probabilista, L. E. Sucar 38

Ejemplo de Diagrama de Voronoi Izquierda mapa del espacio libre Derecha diagrama de Voronoi (aproximado) Roadmap Robótica Probabilista, L. E. Sucar 39

Gráficas de visibilidad Técnica que produce una trayectoria de longitud mínima mediante la solución de un grafo (búsqueda) Se basa en la construcción de un grafo de visibilidad, G = (V, E) Los vértices, V, corresponden a las esquinas de todos los obstáculos (poligonales), el inicio y la meta Los arcos, E, conectan todos los vértices que son visibles entre sí Robótica Probabilista, L. E. Sucar 40

Gráficas de visibilidad Robótica Probabilista, L. E. Sucar 41

Gráficas de visibilidad Existen algoritmos eficientes para construir el grafo de visibilidad y hacer la búsqueda de la trayectoria óptima 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) Robótica Probabilista, L. E. Sucar 42

Campos de Potencial Se basa en una analogía con campos potenciales eléctricos: 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) Robótica Probabilista, L. E. Sucar 43

Campos de Potencial Robótica Probabilista, L. E. Sucar 44

Campos de Potencial Robótica Probabilista, L. E. Sucar 45

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) + Σ Uo(q) A partir de este campo se construye un campo de fuerzas artificial: F = - U(q) = ( du/dx ) ( du/dy ) Robótica Probabilista, L. E. Sucar 46

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 implícitamente tiene un plan de cualquier punto del espacio a la meta Robótica Probabilista, L. E. Sucar 47

Campos de Fuerzas Robótica Probabilista, L. E. Sucar 48

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) = k 1 dist(q, meta) 2 Obstáculo barrera potencial exponencial Uo(q) = k 2 dist(q, obstáculo) -1 Robótica Probabilista, L. E. Sucar 49

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! Robótica Probabilista, L. E. Sucar 50

Trampas (mínimos locales) Robótica Probabilista, L. E. Sucar 51

Mínimos Locales Estrategias para evitar trampas: Backtracking Movimientos aleatorios Usar otra estrategia, como seguimiento de paredes Aumentar el potencial repulsivo de regiones visitadas Robótica Probabilista, L. E. Sucar 52

Referencias [Dudek, Jenkin] Cap 5 [Siegwart et al.] Cap 6 [Thrun et al.] Cap 6 Romero et al., Exploration and navigation for mobile robots with perceptual limitations, IJARS, 2006 Robótica Probabilista, L. E. Sucar 53

Actividades Práctica 3: Mapas y Planeación Representa el ambiente mediante un mapa de celdas de ocupación (dilatar obstáculos) En base a dicho mapa desarrolla un algoritmo para encontrar una ruta de una celda inicial a una final en base a programación dinámica Haz que el robot ejecute la ruta encontrada Prueba tu sistema en diferentes ambientes con diferentes posiciones iniciales y finales Opcional: incorpora costos a las celdas de acuerdo a su distancia a los obstáculos (u otros factores) y repite el mismo procedimiento Robótica Probabilista, L. E. Sucar 54