Navegación para Robots Móviles - Alberto Ortiz
←
→
Transcripción del contenido de la página
Si su navegador no muestra la página correctamente, lea el contenido de la página a continuación
Dpt. de Matemàtiques i Informàtica Universitat de les Illes Balears Navegación para Robots Móviles Alberto Ortiz Grupo de Sistemas, Robótica y Visión Índice El problema de la Navegación en robots móviles Métodos de (auto)localización Representación de mapas Odometría Otros: probabilísticos basados en mapas (sólo mencionar) SLAM (sólo mencionar) otros: balizas, landmarks, etc. Planificación de caminos Evitación de obstáculos Bibliografía Alberto Ortiz 2 1
El problema de la Navegación La navegación es la habilidad que caracteriza a un robot móvil y al mismo tiempo la más desafiante El problema de la navegación para un robot móvil se define como: Dado un punto de partida A alcanzar el (los) punto(s) de destino B (B1,B2,...) utilizando su conocimiento [el del robot] y la información sensorial que recibe [el robot]. Alberto Ortiz 3 El problema de la Navegación La navegación implica resolver subproblemas a nivel de: interpretar los datos que le suministra sus PERCEPCIÓN sensores para extraer información útil LOCALIZACIÓN determinar su posición en el entorno ... el robot debe ser capaz de ... PLANIFICACIÓN decidir cómo actuar para alcanzar el objetivo CONTROL DE gestionar sus actuadores para conseguir la MOVIMIENTO trayectoria deseada (enfoque deliberativo) Alberto Ortiz 4 2
El problema de la Navegación Dos situaciones a distinguir: existe un mapa del entorno (suficientemente adecuado para la navegación) ⇒ planificación de caminos (análisis global) no existe un mapa 1) construir el mapa por exploración del entorno (SLAM, Simultaneous Localization And Mapping) y luego planificar caminos 2) navegar sin mapa – control reactivo basado en comportamientos en ambos casos, es posible que aparezcan obstáculos en el camino de cuya existencia no se tenía conocimiento ⇒ evitación de obstáculos (análisis local) Sea como sea, es necesario disponer de información de posición del robot ⇒ (auto)localización (relativa) respecto al inicio del movimiento (absoluta) respecto a un mapa Alberto Ortiz 5 Índice El problema de la Navegación en robots móviles Métodos de (auto)localización Representación de mapas Odometría Otros: probabilísticos basados en mapas (sólo mencionar) SLAM (sólo mencionar) otros: balizas, landmarks, etc. Planificación de caminos Evitación de obstáculos Bibliografía Alberto Ortiz 6 3
Métodos de Localización Localización implica conocer la posición del robot respecto de un sistema de coordenadas GPS, pero, actualmente, plantea problemas: precisión (metros) no disponible en todos los entornos (cerrados, submarinos, ...) necesidad de ver un cierto número de satélites la señal puede tener dificultad para penetrar en entornos cerrados atenuación significativa de la señal en entornos submarinos necesidad de información de posición relativa respecto de elementos del entorno ⇒ MAPA Resto de sensores (también GPS) suministran información de posición con un cierto nivel de precisión y completitud ⇒ localización no es trivial Alberto Ortiz 7 Índice El problema de la Navegación en robots móviles Métodos de (auto)localización Representación de mapas Odometría Otros: probabilísticos basados en mapas (sólo mencionar) SLAM (sólo mencionar) otros: balizas, landmarks, etc. Planificación de caminos Evitación de obstáculos Bibliografía Alberto Ortiz 8 4
Métodos de Localización Mapas: La representación ha de ser acorde con la precisión del posicionamiento del robot La fidelidad de la representación de la posición del robot está limitada por la fidelidad del mapa A la hora de escoger un tipo de mapa se ha de tener en cuenta que: la precisión del mapa debe ser adecuada para la tarea la precisión del mapa debe ser acorde al tipo de información suministrada por los sensores que se emplean para navegar la precisión del mapa influye en el coste computacional de las tareas que lo utilizan Alberto Ortiz 9 Métodos de Localización Tipos de mapas: de representación contínua: elementos del mapa se representan en un espacio de coordenadas continuo de representación troceada: fidelidad limitada descomposición exacta (del entorno) descomposición (del entorno) aproximada por celdas celdas de tamaño fijo (rejillas/mapas métricos) celdas de tamaño adaptativo descomposición (del entorno) aproximada a nivel topológico (mapas topológicos) Alberto Ortiz 10 5
Métodos de Localización Representación continua: a) mapa arquitectónico b) segmentos rectos Alberto Ortiz 11 Métodos de Localización Representación troceada: descomposición exacta “embaldosado” de áreas libres exige poligonalizar el entorno contiene información topológica de forma natural Alberto Ortiz 12 6
Métodos de Localización Representación troceada: descomposición aproximada celdas de tamaño fijo - rejillas/mapas métricos pasillos estrechos pueden desaparecer debido a la discretización del espacio rejilla de ocupación: blanco = espacio libre, negro = espacio ocupado, Alberto Ortiz gris = ? 13 Métodos de Localización Representación troceada: descomposición aproximada celdas de tamaño fijo - rejillas/mapas métricos ejemplo con celdas de tamaño reducido Alberto Ortiz 14 7
Métodos de Localización Representación troceada: descomposición aproximada celdas de tamaño adaptativo: refinamiento en 4 mientras un rectángulo no sea completamente espacio libre o espacio ocupado Alberto Ortiz 15 Métodos de Localización Representación troceada: descomposición aproximada mapas topológicos Alberto Ortiz 16 8
Índice El problema de la Navegación en robots móviles Métodos de (auto)localización Representación de mapas Odometría Otros: probabilísticos basados en mapas (sólo mencionar) SLAM (sólo mencionar) otros: balizas, landmarks, etc. Planificación de caminos Evitación de obstáculos Bibliografía Alberto Ortiz 17 Métodos de Localización Odometría Método sencillo para estimación de posición basado en sensores de medición de giro de rueda (≡ longitud de paso en un robot humanoide) ∆α ½ ∆sr : rueda dcha Rw ∆α ⇒ ∆s = Rw (∆α) → ∆sl : rueda izda posición + postura actual = acumulación de desplazamientos (integración de camino) x(t + ∆t) x(t) ∆x y(t + ∆t) = y(t) + ∆y θ(t + ∆t) θ(t) ∆θ ∆t Alberto Ortiz 18 9
Métodos de Localización Odometría: robot con tracción diferencial ∆sr + ∆sl ∆s = 2 ∆sr − ∆sl ∆θ = b ∆x = ∆s cos (θ + ∆θ) ∆y = ∆s sin (θ + ∆θ) (b = distancia entre ruedas) ¡ ¢ ∆sr +∆sl cos θ(t) + ∆sr −∆s l x(t + ∆t) x(t) 2 b ¡ ¢ y(x + ∆t) = f (x, y, θ, ∆sr , ∆sl ) = y(t) + ∆sr +∆sl sin θ(t) + ∆sr −∆s l 2 b θ(t + ∆t) θ(t) ∆sr −∆sl b Alberto Ortiz 19 Métodos de Localización Odometría: robot con tracción diferencial ¿Qué ocurre si hay errores en las mediciones de ∆sl y/o ∆sr? sistemáticos (deterministas) ⇒ calibración desalineación de las ruedas incertidumbre en el diámetro de las ruedas (diferentes diámetros, rueda desinchada, rueda deformada, ...) no sistemáticos (no deterministas) resolución limitada del sensor una o las dos ruedas patinan suelo desigual, etc. Errores independientes y proporcionales a la distancia ⇒ desplazamiento depende de (∆sr ± kr |∆sr |, ∆sl ± kl |∆sl |) ⇓ (x ± δx, y ± δy, θ ± δθ) Alberto Ortiz 20 10
Métodos de Localización Odometría: robot con tracción diferencial Alberto Ortiz 21 Métodos de Localización Odometría: robot con tracción diferencial 2 δxx 2 δxy 2 δxθ µ ¶ kr |∆sr | 0 2 Σrl = cov(∆sr , ∆sl ) = ⇒ Σp = cov(x, y, θ) = δyx 2 δyy 2 δyθ 0 kl |∆sl | 2 2 2 δθx δθy δθθ Σp(t+∆t) ≈ Fp Σp(t) FpT + Frl Σrl Frl T [p.e. Σp0 = 03×3 ] (faltan dependencias de t) ³ 1 0 −(∆s)sθ ´ Fp = ∂f ∂f ∂f = 0 1 +(∆s)cθ ∂x , ∂y , ∂θ " # 0 0 1 sθ = sin(θ + ∆θ) cθ ∆s − b sθ cθ ∆s 2 + b sθ cθ = cos(θ + ∆θ) ³ ´ 2 ∂f Frl = ∂∆s r ∂f , ∂∆s l = sθ ∆s sθ ∆s 2 + b cθ 2 − b cθ 1 b − 1b (Siegwart, Nourbakhsh, Introduction to Autonomous Mobile Robots, pp. 186-190) Alberto Ortiz 22 11
Métodos de Localización Odometría: robot con tracción diferencial Alberto Ortiz 23 Métodos de Localización Odometría: robot con tracción diferencial Alberto Ortiz 24 12
Métodos de Localización Odometría Error de estimación de posición no está acotado (cada vez es mayor) Utilizar sensores de orientación adicionales (p.e. giróscopo, INS, etc) puede ayudar a reducir el error acumulado pero no resuelve el problema odometría(ruedas) + sensor(es) de orientación = dead reckoning ⇒ métodos de localización más sofisticados: localización probabilística en base a mapas (Markov, filtros de Kalman,...) SLAM (Simultaneous Localization and Mapping) otras técnicas: balizas, landmarks, etc. Alberto Ortiz 25 Índice El problema de la Navegación en robots móviles Métodos de (auto)localización Representación de mapas Odometría Otros: probabilísticos basados en mapas (sólo mencionar) SLAM (sólo mencionar) otros: balizas, landmarks, etc. Planificación de caminos Evitación de obstáculos Bibliografía Alberto Ortiz 26 13
Métodos de Localización Localización basada en rutas: La ruta que ha de seguir el robot es explícitamente señalizada: raíl raíles enterrados y electrificados; el robot se guía en base al efecto inductivo sobre bobinas embarcadas marcas ópticas en el suelo marcas en el suelo realizadas con pintura ópticamente transparente que refleja en el rango ultravioleta Unmanned Guided Vehicles (UGV) No es posicionado absoluto, la guía le indica cuál es la siguiente posición a alcanzar Alberto Ortiz 27 Métodos de Localización Localización basada en balizas: balizas de tiempo de vuelo robot emite señal y espera respuesta de balizas: (tA,tB,tC) → (dA,dB,dC) B = (xB,yB) (1) (x − xA )2 + (y − yA )2 = d2A dB (2) (x − xB )2 + (y − yB )2 = d2B (3) (x − xC )2 + (y − yC )2 = d2C P = (x,y) dA A = (xA,yA) • (xA , yA ), (xB , yB ), (xC , yC ) conocidos dC • (dA , dB , dC ) conocidos • (x, y) desconocidos C = (xC,yC) F resolver (1,2) y (2,3) p.e. y tomar soluciones para (x, y) que coincidan posición 3D (p.e. entorno submarino) requiere 4 balizas Alberto Ortiz (intersección de 4 esferas ⇒ 3 incog.) → LBL 28 14
Métodos de Localización Localización basada en balizas: balizas visuales α = ](P A, XR ) ∆yA = ∆xA tan α β = ](P B, XR ) ∆yB = ∆xB tan α yA + ∆yA = yB + ∆yB γ = ](P C, XR ) ∆yC = ∆xC tan α yA + ∆yA = yC + ∆yC ⇒ yB + ∆yB = yC + ∆yC B = (xB,yB) XR yA + (tan α)(∆xA ) = yB + (tan β)(∆xB ) YR yA + (tan α)(∆xA ) = yC + (tan γ)(∆xC ) ∆yA P = (x,y) yB + (tan β)(∆xB ) = yC + (tan γ)(∆xC ) A = (xA,yA) • (xA , yA ), (xB , yB ), (xC , yC ) conocidos ∆xA • (α, β, γ) conocidos C = (xC,yC) • (∆xA , ∆xB , ∆xC ) desconocidos Alberto Ortiz 29 Métodos de Localización Localización basada en landmarks landmark = marcas u objetos pasivos inmersos en el entorno cuya posición (relativa o absoluta) es conocida artificiales: marcas de colores o formas características, códigos de barras, etc. naturales: puerta, esquina, roca, árbol, etc. estimación de posición por triangulación (lo de antes) o bien al alcanzar el landmark Alberto Ortiz 30 15
Métodos de Localización Localización híbrida odometría/balizas/landmarks landmarks y balizas proporcionan información precisa de posición ⇒ cada vez que el robot ve balizas suficientes o bien alcanza un landmark, el error de posición pasa a ser 0 !!! ⇒ n utilizar odometría mientras el robot no ve suficientes balizas para hacer triangulación / mientras no alcance un landmark o ajustar posición al ver suficientes balizas / al alcanzar un landmark Alberto Ortiz 31 Índice El problema de la Navegación en robots móviles Métodos de (auto)localización Representación de mapas Odometría Otros: probabilísticos basados en mapas (sólo mencionar) SLAM (sólo mencionar) otros: balizas, landmarks, etc. Planificación de caminos Evitación de obstáculos Bibliografía Alberto Ortiz 32 16
Planificación de Caminos Completitud Un sistema (robótico) se dice completo si y sólo si, para todos los posibles problemas (mapas, objetivos, estados iniciales), cuando existe una trayectoria al objetivo, el sistema lo alcanza De forma más precisa: un sistema (robótico) se dice completo si y sólo si, para todos los posibles problemas (...), cuando existe una trayectoria al estado objetivo, el sistema alcanza ese estado Cuando un sistema es incompleto, entonces existe un problema (configuración de objetivo, mapa y estado inicial) para el que el sistema no es capaz de encontrar una solución aunque exista. [solución = trayectoria que resuelve la navegación] Completitud versus complejidad computacional Alberto Ortiz 33 Planificación de Caminos Problema muy estudiado para manipuladores industriales manipulador con k articulaciones, ¿secuencia de movimientos segura? (no impacta con ningún obstáculo) configuración = (θ1, θ2, ..., θk) → espacio de configuraciones k-dimens. SOL. = trayectoria sobre el espacio libre del espacio de configuraciones velocidad importante (impacto económico) → cinemática + dinámica Alberto Ortiz 34 17
Planificación de Caminos Robótica móvil (robots con ruedas) menos grados de libertad [como mucho (x,y,θ)] ⇒ problema más sencillo además: menor velocidad ⇒ dinámica no es relevante robots pueden girar en el sitio (tracción diferencial) robot es un punto ⇒ configuración = (x,y) “hinchar” obstáculos en el radio del robot para compensar variantes = métodos basados en ... mapas de carreteras (MMC) mapas troceados (MMT) campos de potencial (MCP) ¡Necesitamos disponer de un mapa! Alberto Ortiz 35 Planificación de Caminos Métodos MC: crear suficientes caminos como para que el robot pueda alcanzar cualquier zona del espacio libre minimizando el número de caminos del mapa planificación de caminos = n conectar puntos de partida y llegada con alguno de los caminos, y o determinar la secuencia de caminos que conduce desde el punto de partida al punto de llegada variantes: grafo de visibilidad diagrama de Voronoi Alberto Ortiz 36 18
Planificación de Caminos MMC: grafo de visibilidad arcos unen todos los pares de vértices que se ven mutuamente + posiciones inicial y final + vértices contiguos buscar camino más corto Floyd, Dijkstra, ... completo y camino de longitud mínima problemas: poligonalizar entorno caminos bordean obstáculos ⇒ “engordar” obstáculos poco eficiente si hay muchos obstáculos Alberto Ortiz 37 Planificación de Caminos MMC: diag. de Voronoi puntos que son equidistantes a dos o más obstáculos para cada punto, registrar distancia al obstáculo más próximo recorrer crestas del mapa 3D resultante completo pero camino no es óptimo Voronoi-based motion: desplazar el robot maximizando el número de lecturas de distancia mínima a los obstáculos circundantes (= regla para encontrar el diagrama de Voronoi) Alberto Ortiz 38 19
Planificación de Caminos Métodos MT dividir espacio en regiones conectadas (celdas) construir el grafo de conectividad de las celdas resultantes determinar en qué celdas se encuentran los puntos de partida y llegada buscar un camino entre la celda de partida y llegada determinar el camino a seguir dentro de cada celda p.e. entre puntos medios de las fronteras entre celdas Alberto Ortiz 39 Planificación de Caminos MMT: descomposición exacta completo depende de la complejidad geométrica de los obstáculos y del número de obstáculos eficiente para entornos grandes con pocos obstáculos Alberto Ortiz 40 20
Planificación de Caminos MMT: desc. aproximada / celdas de tamaño fijo igual que antes sobre las celdas de un mapa métrico complejidad no depende del número de obstáculos ni de su complejidad geométrica, sólo linealmente del número de celdas teóricamente, no completo (pueden desaparecer caminos estrechos) Alberto Ortiz 41 Planificación de Caminos MMT: desc. aproximada / celdas de tamaño fijo particularmente útil el algoritmo de expansión de frente de onda (wavefront expansion NF1, grassfire) ej. distancia = número de celdas visitadas con desplazamientos horizontales y verticales, pero no diagonales Alberto Ortiz 42 21
Planificación de Caminos MMT: desc. aproximada / celdas de tamaño adaptativo igual que antes sobre celdas de tamaño variable definir camino dentro de cada celda teóricamente, no completo Alberto Ortiz 43 Planificación de Caminos Métodos CP: robot = punto bajo la influencia de un campo de potencial artificial o bola rodando en un entorno inclinado teóricamente, no completo (según parámetros) Alberto Ortiz 44 22
Índice El problema de la Navegación en robots móviles Métodos de (auto)localización Representación de mapas Odometría Otros: probabilísticos basados en mapas (sólo mencionar) SLAM (sólo mencionar) otros: balizas, landmarks, etc. Planificación de caminos Evitación de obstáculos Bibliografía Alberto Ortiz 45 Evitación de Obstáculos Estos algoritmos: No planifican a nivel global Evitan obstáculos a medida que los ven Algunos emplean mapas Variantes (entre muchas otras): Bug: Bug1, Bug2 Histograma de Campo de Vectores: VFH, VFH+ Camino de burbujas (bubble band) Velocidad de curvatura (curvature velocity, CVM) Ventana dinámica Alberto Ortiz 46 23
Evitación de Obstáculos Algoritmo Bug1 Seguir el contorno de cada obstáculo a partir de hit point Circumnavegación completa hasta que se abandona el seguimiento en el punto más cercano al objetivo (leave point) Alberto Ortiz 47 Evitación de Obstáculos (ineficiente) Algoritmo Bug2 Seguir el contorno de los obstáculos siempre a izda o a dcha Abandonar seguimiento cuando se corta la M-line (= start → goal) Alberto Ortiz 48 24
Evitación de Obstáculos Histograma de campo de vectores (VFH) rejilla de ocupación local probabilística histograma de direcciones que apuntan a obstáculos n umbral para detectar direcciones probablemente obstaculizadas o rangos de direcciones suficientemente anchos p minimizar función de coste entre las direcciones supervivientes: G = a × target dir diff + b × wheel dir diff + c × prev dir diff Alberto Ortiz 49 Evitación de Obstáculos Histograma de campo de vectores (VFH+) histograma se construye teniendo en cuenta las limitaciones cinemáticas del vehículo movimiento compuesto de desplazamientos rectos y circulares Alberto Ortiz 50 25
Evitación de Obstáculos Camino de burbujas (bubble band) burbuja = máximo espacio libre que puede ser alcanzado en cualquier dirección sin riesgo de colisión generado utilizando un mapa con información de obstáculos estáticos y dinámicos y un modelo simplificado del robot se genera un “camino de burbujas” que conecta el punto inicial y el final ⇒ planificación global sobre un mapa global (minimiza la “tensión” de la banda) camino del planificador se refina para conseguir una trayectoria suave Alberto Ortiz 51 Evitación de Obstáculos Velocidad de curvatura (CVM) define velocidad de curvatura c = ω/v + movim. en arcos circulares selecciona curvatura óptima considerando sólo curvaturas tales que: -vmax < v < vmax, - ωmax < ω < ωmax curvaturas que verifican restricciones cinemáticas y dinámicas curvaturas no bloqueadas por obstáculos: trayectoria circular que intersecciona con obstáculo (se asumen circulares) Alberto Ortiz 52 26
Evitación de Obstáculos Ventana dinámica (v(k), ω(k)) durante ∆t ⇒ movimiento = Σ arcos circulares n pares (v, ω) que pueden ser alcanzados por el robot (aceleración máxima durante ∆t) o sólo (v, ω) que aseguran que el vehículo podrá parar antes de impactar con un obstáculo p maximizar función objetivo: O = a × heading(v, ω) + b × velocity(v, ω) + c × distance(v, ω) • heading = f (alineacion con el objetivo) • velocity = g(cuanta mas velocidad mejor) • distance = h(distancia al obstaculo mas cercano) Alberto Ortiz 53 Evitación de Obstáculos Alberto Ortiz 54 27
Evitación de Obstáculos Evitación de Obstáculos Alberto Ortiz Alberto Ortiz 56 55 28
Evitación de Obstáculos Otros algoritmos: Learning momentum Micronavigation T2 (Traversability and Tenacity) aplicable a virtualmente cualquier arquitectura de control que genere un vector de dirección para el robot Otros ... Alberto Ortiz 57 Índice El problema de la Navegación en robots móviles Métodos de (auto)localización Representación de mapas Odometría Otros: probabilísticos basados en mapas (sólo mencionar) SLAM (sólo mencionar) otros: balizas, landmarks, etc. Planificación de caminos Evitación de obstáculos Bibliografía Alberto Ortiz 58 29
Bibliografía Roland Siegwart, Illah R. Nourbakhsh, Introduction to Autonomous Mobile Robots, MIT Press, 2004 Gregory Dudek, Michael Jenkin, Computational Principles of Mobile Robotics, Cambridge University Press, 2000 J. Borenstein, H.R. Everett, L. Feng, Where am I? Sensors and Methods for Mobile Robot Positioning, Ann Arbor, University of Michigan,1996 (available at http://www-personal.engin.umich.edu/~johannb/position.htm) Alberto Ortiz 59 Dpt. de Matemàtiques i Informàtica Universitat de les Illes Balears Navegación para Robots Móviles Alberto Ortiz Grupo de Sistemas, Robótica y Visión 30
También puede leer