View
6
Download
0
Category
Preview:
Citation preview
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Curso de Robótica Móvil con
Arduino y Android
• Andrés S. Vázquez
• Raúl Fernández
• Francisco Ramos
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Introducción a la Navegación en Robótica Móvil*.
Sesión 4. Teoría
*Basado en el libro: Introduction to Autonomous Mobile Robots. R. Siegwart, R.H. Nourbarkhsh
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Navegación Robótica
?
• Las tres preguntas clave en robótica móvil
– ¿ Donde estoy?
– ¿ Donde tengo que ir?
– ¿ Cómo llego hasta allí?
• Para resolver estas preguntas el robot tiene que:
1.Tener un modelo del entorno (dado o obtenido autónomamente)
2. Percibir y analizar el entorno
3. Encontrar su posición en el entorno
4. Planificar y ejecutar el movimiento
Mapeado
Localización
Planificación
de
trayectorias
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Mapeado
Control de Movimiento
LocalizaciónSLAM
Localización
Activa
Exploración
Navegación
integrada
Navegación Robótica Autónoma1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Datos
Mapa Local
"Posición“
Mapa Global
Ordenes Actuadores
Sensorización Acción
Extracción de la
información
Ejecución
Trayectoria
Planificación de
trayectoria
Conocimiento,Base de datos Misión
trayectoria
Mundo Real
Entorno
Localización,
construcción de
mapas
Co
ntr
ol
Mov
imie
nto
Per
cepci
ón
Esquema general de control en
navegación
Modelo del entorno
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Arquitecturas de Control
• Complejidad en el bucle de control:
– Cambios dinámicos
– Modelos compactos no disponibles
– Muchas fuentes de incertidumbre
"Posición" Mapa global
Percepción Control
Movimiento
ConocimientoLocalización
TrayectoriaModelo del entornoMapa local
Mundo Real
Entorno
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Estrategias de Control
• Jerárquica
IA clásica
Modelado completo
Basada en funciones
Descomposición horizontal
• Por comportamientos (reactiva)
IA alternativa y aprendizaje
Modelado parcial o sin modelado
Descomposición vertical
Toma de decisiones de “abajo a arriba”
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Entonces…
Navegación es:
• Modelado y representación del entorno
• Localización y mapeo
• Planificación de trayectorias
• Estrategias de control?
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Entonces…
Navegación es:
• Modelado y representación del entorno
• Localización y mapeo
• Planificación de trayectorias
• Estrategias de control?
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Modelado y representación del Entorno
¿¿Igual que lo hacemos las personas??
• Usando información
métrica (odometría)
A veces no útil
Usando entornos
modificados (adaptar a
nuestra necesidad
Caro, Inflexible
Utilizando rasgos o
características del entorno
Reto para sistemas
artificiales
12195
34
39
25 PasilloPuerta ascensor
Entrada
Torre eiffelAterrizar en la oscuridadComo encontrar un tesoro
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Modelado y representación en navegación
robótica
• Representación del entorno
– Métrica continua -> Fx,Fy,Fq
– Métrica discreta -> malla métrica
– Topología discreta -> malla topológica
• Modelado del entorno
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
• Rasgos o características de alto nivel. Ej: Puerta, pasillo, la torre Eiffel
Bajo volumen de datos, alta distinciónFiltrado de la información útil, pocas ambigüedades, pero posible que no haya información suficiente.
• Rasgos o características de bajo nivel. Ej: Líneas u otras características geométrica.
Cantidad media de datos, media distinciónFiltrado de la información útil. Todavía cierta ambigüedad
• Datos de sensores sin tratar, ej: Imágenes 2D, imágenes 3D, datos de sensores láser, etc..
Alto volumen de datos, baja distinción. Hace uso de toda la información
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
MAPAS(representación del entorno)
1. Precisión de representación vs. Requisitos del robot para cumplir la tarea
2. Precisión de representación vs. Precisión de los sensores del robot
3. Precisión de representación vs. Complejidad computacional
• Representación Continua
• Representación Discreta
HAY QUE BUSCAR UN COMPROMISO CON LA PRECISIÓN EN LA
REPRESENTACIÓN
TIPOS DE REPRESENTACIÓN
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
a) Mapa de arquitectura (polígonos, lineas)
b) Mapa mediante conjunto de líneas infinitas
CONTINUA
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
MAPAS(representación del entorno)
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
• Descomposición en celdas exactas
Descomposición del espacio: TODAVÍA CONTINUO1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
MAPAS(representación del entorno)
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
• Descomposición en celdas fijas
– Cuidado con la precisión! (Por ejemplo, pasillos pueden
desaparecer)
Descomposición del espacio: REPRESENTACIÓN DISCRETA
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
MAPAS(representación del entorno)
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
• Descomposición en celdas adaptativa
Descomposición del espacio: REPRESENTACIÓN DISCRETA1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
MAPAS(representación del entorno)
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
• Valoración de celdas según las lecturas de los
sensores
Courtesy of S. Thrun
Descomposición del espacio: REPRESENTACIÓN DISCRETA
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
MAPAS(representación del entorno)
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
• DESCOMPOSICIÓN TOPOLÓGICA
Descomposición del espacio: REPRESENTACIÓN DISCRETA1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
MAPAS(representación del entorno)
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
• Descomposición topológica (2)
Nodo
Arco (indica conectividad)
Descomposición del espacio: REPRESENTACIÓN DISCRETA1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
MAPAS(representación del entorno)
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
• Descomposición topológica extendida (ej. Marcas)
~ 400 m
~ 1 km
~ 200 m
~ 50 m
~ 10 m
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
MAPAS(representación del entorno)
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Clasificación Mapas
• Regiones reconocibles Mapas topológicos
2 km
100 km
200 m
50 km
y
x{W}
Mapas métrico-topológicos Mapas métricos (continuos o
discretos)
Co
urt
esy K
. A
rra
s
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Retos actuales
• El mundo real es dinámico (cambiante)
• La percecepción presenta todavía problemas– Incertidumbre, errores
– La extracción de la información útil es todavía dificil
• Espacios abiertos (ej: falta de marcas, oclusiones, etc)
• Representación de topologias en espacios abiertos (ej: dondecomienza un nodo y termina el otro?)
• El mayor… INTEGRACIÓN DEL LOS DATOS DE LOS SENSORES
• …
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Entonces…
Navegación es:
• Modelado y representación del entorno
• Localización y mapeo
• Planificación de trayectorias
• Estrategias de control?
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Localización ¿donde estoy?
?
MÉTODOS
• Odometría, Dead Reckoning
• Localización basada en sensores
externos, balizas o marcas del terreno
• Localización probabilística en mapas
Observation
Mapdata base
Prediction of Position
(e.g. odometry)
Perc
epti
on
Matching
Position Update(Estimation?)
raw sensor data or extracted features
predicted position
position
matchedobservations
YES
Encoder
Pe
rce
ptio
n
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Retos en localización
• Saber la posición absoluta es difícil (ej. GPS tiene errores y no
funciona en interiores) y a veces no es suficiente (interacción en
espacios topológicos humanos)
• La percepción y el control del movimiento influye en:
– Ruido de los sensores
– Sensor-aliasing (una única lectura no equivale a un estado)(ej: una lectura de
distancia de ultrasonido no me da la posición)
– Ruido en los actuadores
– Estimaciones odométricas erróneas.
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Errores en la sensorización
• El ruido puede proceder del propio entorno
– Ej: en nuestro robot seguidor de líneas la superficie, el tipo de iluminación puede
producir ruido.
• O por el propio principio de medida
ej: Interferencia entre sensores de ultrasonidos
• Este ruido disminuye la cantidad de datos útiles disponibles. Posibles
soluciones
– Tomar múltiples lecturas redundantes
– Implementar un mecanismo de fusión de datos (ej: corroboración de mapas)
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Localización ¿dónde estoy?
?
MÉTODOS
• Odometría, Dead Reckoning
• Localización basada en sensores
externos, balizas o marcas del terreno
• Localización probabilística en mapas
Observation
Mapdata base
Prediction of Position
(e.g. odometry)
Perc
epti
on
Matching
Position Update(Estimation?)
raw sensor data or extracted features
predicted position
position
matchedobservations
YES
Encoder
Pe
rce
ptio
n
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
• Odometría: Estimación del desplazamiento en
función de la medida de la rotación (encoders)
de las ruedas
• Dead Reckoning: Medida de rotacion y de giro
(ej: giróscopos) del robot.
• 2pr por vuelta. Falso! (problemas de
deslizamiento, etc)
• Es muy difícil estimar el desplazamiento real
con precisión.
• Hay que considerar aceleraciones, cargas,
parámetros del terreno, etc.
• Puede mejorarse al emplear una rueda pasiva
de medida.
Odometría, Dead Reckoning1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Ejemplo de odometría simple para un móvil de dos ruedas.
En un tiempo t el encoder izquierdo genera un cambio
de Ni cuentas, y el derecho de Nd cuentas.
El factor de conversión f entre cuentas y
desplazamiento es
f = pD / R
donde R es la resolución del encoder (en cuentas
por vuelta) y D el diámetro de la rueda.
La distancia recorrida por cada rueda fue
Li= f * Nd
Ld = f * Nd
y así el centro del robot C se desplaza:
LC = (Li + Ld) / 2.
Y el cambio de dirección realizado
será
q = (Ld - Li) / B
donde B es la distancia entre
ruedas.
Si x (0), y (0), q(0) eran las coordenadas previas del robot, los valores luego
del movimiento son
q(t) = q(0) + q
x(t) = x(0) + LC cos q(t)
y(t) = y(0) + LC sen q(t)
Odometría, Dead Reckoning1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Problemática1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Localización ¿dónde estoy?
?
MÉTODOS
• Odometría, Dead Reckoning
• Localización basada en sensores
externos, balizas o marcas del terreno
• Localización probabilística en mapas
Observation
Mapdata base
Prediction of Position
(e.g. odometry)
Perc
epti
on
Matching
Position Update(Estimation?)
raw sensor data or extracted features
predicted position
position
matchedobservations
YES
Encoder
Pe
rce
ptio
n
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Localización basada en marcas
• Un robot en una marca sabe su posición exacta
• Distintos tipos de Landmarks:
– Pasivos o Activos
– Naturales o Artificiales
• Triangulación: solución para determinar ecuaciones
relativas a la pose del robot frente a un set de landmarks
• Problema al haber incertidumbre en la medición
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Localización basada en marcas
• Ejemplo marca artificial no activa
EJEMPLO DE MARCAS CON SISTEMA
DE VISION
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Localización basada en marcas
• Ejemplo marca artificial activa
• El ejemplo más conocido es el GPS
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Localización basada en marcas
• Ejemplo marca artificial activaImagen de Borenstein et al 1996, U. Michigan
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
Ejemplo Roomba:
https://www.youtube.com/watch?v=cCX-1KN_6GE
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Localización ¿dónde estoy?
?
MÉTODOS
• Odometría, Dead Reckoning
• Localización basada en sensores
externos, balizas o marcas del terreno
• Localización probabilística en mapas
Observation
Mapdata base
Prediction of Position
(e.g. odometry)
Perc
epti
on
Matching
Position Update(Estimation?)
raw sensor data or extracted features
predicted position
position
matchedobservations
YES
Encoder
Pe
rce
ptio
n
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Localización probabilística en mapas
1. Tenemos: Mapa
2. Obtenemos datos de los sensores y
los procesamos.Ej:detección lineas
x
y
wxr
wyr
{W}
lwqr
3. Matching: Intentamos
localizarnos pero hay
incertidumbres
4. Estimamos la posición
e.g. Kalman filter, Markov
Co
urt
esy K
. A
rra
s
Aunque tengamos los modelos (mapas) y las lecturas de los sensores, estos siempre
serán incompletos o insuficientes:
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
OdometryObservation
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Localización probabilística en mapas
Métodos más comunes:• Filtro Kalman
– Idea Central: Se toma el problema de localización como un problema de funsión de los datos sensoriales
– Suposición: Funciones de distribución gausianas
• Markov Localization:– Idea Central: representa la estimación del robot mediante una distribución de probabilidad
sobre las posibles soluciones y utiliza las reglas de bayes y convoluciones para modificar la estimación a medida que el robot adquiere mas datos o se mueve
– Suposición en Markov: datos del pasado y el futuro son independientes si se conoce el estado actual
• Particle Filtering– Idea Central: Basado en muestreo, Filtro no paramétrico
– Utiliza un método monte-carlo
• SLAM (simultaneous localization and mapping)
38
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Kalm
an
Filt
er
[Thru
n, B
urg
ard
& F
ox (
2005)]
Creencia inicial posición del robot
Nueva creencia de posición del robot
(la anterior desplazada con el robot)
Movimiento
del robot
Localización
con sensores
Estimación de posición con los sensores
Nueva creencia de posición del robot
Nueva creencia de posición del robot
Movimiento
del robot
PUERTAS DIFERENCIABLES ENTRE
SI Y LOCALIZACIÓN CONOCIDA
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Mark
ov
Localiz
ation
[Thru
n, B
urg
ard
& F
ox (
2005)]
PUERTAS NO DIFERENCIABLES ENTRE
SI Y LOCALIZACIÓN CONOCIDA
Creencia inicial posición del robot
Nueva creencia de posición del robot
tras incorporar la medición
Localización
con sensores
Movimiento
del robot
Nueva creencia de posición del robot
tras moverse
Nueva creencia de posición del robot
tras incorporar la medición
Localización
con sensores
Movimiento
del robot
Nueva creencia de posición del robot
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Part
icle
Filt
er
[Thru
n, B
urg
ard
& F
ox (
2005)]
PUERTAS NO DIFERENCIABLES ENTRE
SI Y LOCALIZACIÓN CONOCIDA
Se lanzan partículas, cada una es un
posible posición del robot
Algunas partículas ganan peso (más
probable que sea la posición real)
Localización
con sensores
Movimiento
del robot
Se lanzan más partículas próximas a las de
más peso y se quitan algunas de menor peso
Algunas partículas ganan peso
Localización
con sensores
Movimiento
del robot
Las partículas se van concentrando donde
es más probable que este el robot
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Mediante Montecarlo
Es un filtro de partículas aleatorias. La partícula es una
posición y orientación del robot aleatoria.
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
• Algoritmo de Monte Carlo
– Robot Pioneer 1: 100.000 partículas
Entornos Reales
Mediante Montecarlo1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
• Y QUE OCURRE SI NO TENEMOS UN MAPA??1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
4. Medida de calidad
Topológicamente correcto
Métricamente correcto
• Problema: La mayoría de los ambientes son una
mezcla de elementos predecibles e impredecibles
• Basados en modelos vs. Basados en
comportamiento
Construcción de Mapas
1. A mano? 3. Requisitos básicos de mapas:
Poder incorporar nueva información del
mundo procedente de los sensores
Permitir ser usados para obtener la
localización del robot
Proporcione información al planificador del
trayectorias y otros elementos de navegación
(ej: evitar colisiones)
12 3.5
Predecibilidad
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
2. Automáticamente: Map Building
El robot aprende su propio entorno
Motivación:
- A mano: Difícil y costoso.
- Los entornos suelen ser dinámicos
(cambiantes)
- El mapa debe estar adecuado al tipo de
percepción (tipos de sensores)
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Problemática1. Mantenimiento de mapas en entornos
cambiantes: solución mapeado continuo
Ej: desaparece
un armario
2. Representación y reducción de la incertidumbre
Posición del robot posición de la pared
Posición de la pared posición del robot
?
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Entornos cíclicos
• Pequeños errores locales acumulativos generan, a la larga, grandes
errores en el mapa, esto puede ser un problema en entornos con bucles
donde el robot debe detectar que ha vuelto a un punto ya visitado.
Courtesy of Sebastian Thrun
Solución mediante una corrección topológica
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Mapeo automatico
La construcción de mapas automáticos se utiliza en las técnicas de:
SLAMThe Simultaneous Localization and Mapping Problem
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Ejemplos SLAM
• http://www.youtube.com/watch?v=7iIDdvCXIFM1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Entonces…
Navegación es:
• Modelado y representación del entorno
• Localización y mapeado
• Planificación de trayectorias
• Estrategias de control?
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Navegación Humana:
~ 400 m
~ 1 km
~ 200 m
~ 50 m
~ 10 m
Court
esy K
. A
rras
Veamos que
métodos
emplean los
robots para
generar
trayectorias
…
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
Es topológica con información métrica imprecisa
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Al fondo a la
derecha
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
Planificación de trayectorias
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Trayectorias globales
• Suposición: Tenemos un buen mapa para navegación (simple y preciso)
– Topologica o métrica o una mezcla de los dos
• Primer paso
– Representación del entorno como un mapa de carreteras (grafo), celdas o campos
potenciales. La representación discreta resultante nos permite utilizar algoritmos de
busqueda estandar
• Ejemplos
– Grafos de visibilidad
– Diagramas de Voronoi
– Descomposicion en celdas Grafos de conectividad
– Campos potenciales
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Grafos de visibilidad1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
Unir aristas de
obstáculos y
puntos conocidos
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Diagramas de Voronoi1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
División de un plano en regiones basándose
en la distancia a los puntos que especifican
los subconjuntos en el plano.
A estos puntos se les conoce como semillas
o generadores.
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Diagramas de Voronoi1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivoPearl Harbor
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Descomposición exacta de celdas1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
Se separa el espacio en área de espacio libre
La posición particular del robot dentro de un
área no importa
Importa la capacidad del robot de moverse
entre áreas
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Descomposición fija de celdas1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Adaptativa de celdas. Descomposición1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
Celdas de tamaño adaptativo
El tamaño varia con la
proximidad al obstáculo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Búsqueda en celdas (grafos)
• Wavefront Expansion NF1
• Búsqueda en anchura
• Búsqueda en profundidad
• Best first, A*
• Etc
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Planificación de trayectorias con campos
potenciales
• Un robot es considerado como un punto bajo la
acción de un campo potencial (función gradiente)
– Las trayectorias del robot será como dejar caer un
balón por una colina
– Destino: genera fuerzas de atracción
– Obstáculo: genera fuerzas de repulsión
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
¿Y si es un mapa muy complejo o muy
grande o con muchas dimensiones?
Los métodos de búsqueda discreta no serán válidos
(muy costosos, computacionalmente inviables)
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
RoadMap generado mediante configuraciones aleatorias libres y
conectadas mediante un grafo
Probabilistic RoadMap methods-PRM
Planificación de trayectorias probabilística1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
Se elige un valor
de punto vecinos
con los que
unirse
Usar para elegir la mejor algoritmo Dijkstra
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Rapidly-exploring Random Trees. RRT
Planificación de trayectorias probabilística1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Ejemplo con RRT bidireccional
Planificación de trayectorias probabilística1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Evitación de obstaculos(Planificación de trayectorias local)
• Objetivo: evitar obstáculos
• Basado en mapas locales
• Implementado como tarea independiente (es un planificador local de trayectorias)
• Pero teniendo en cuenta:
– El objetivo final
– La cinemática y dinámica del robot
– Los sensores
– El actual y el futuro riesgo de colisión
• Ejemplo: Nuestro robot con el sensor de ultrasonidos
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Entonces…
Navegación es:
• Modelado y representación del entorno
• Localización y mapeado
• Planificación de trayectorias
• Estrategias de control?
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Estrategias de Control
• Jerárquica
IA clásica
Modelado completo
Basada en funciones
Descomposición horizontal
• Por comportamientos (reactiva)
IA alternativa y aprendizaje
Modelado parcial o sin modelado
Descomposición vertical
Toma de decisiones de “abajo a arriba”
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Control Reactivo (Basado en conductas)
• Se elimina el módulo de planeamiento, dejando los módulos
de control conectados directamente con los sensores y
actuadores.
• El comportamiento global del robot se determina por sus
conductas mas que por un proceso de razonamiento
deliberativo.
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Conductas
• El robot posee una colección de conductas simples.
• La conducta global del robot emerge de la interacción entre el ambiente y dichas conductas (Brooks 1986).
• Un mecanismo de coordinación determina el peso relativo de las conductas en cada instante.
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
selectedaction
Sensorydata
Avoid Obstacle
Follow Path
Keep Balance
. . .
Conductas
• El control se distribuye en el
conjunto de conductas.
• Cada conducta es
responsable de un aspecto
específico del control.
• Las conductas actúan sobre
información inmediata local
y selectiva obtenida de los
sensores.
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Conductas
Métodos de coordinación:
• Competitivo: Solo una conducta afecta el comportamiento
motriz en determinado instante (ejemplo: subsumption-
agregativo, Brooks 1986).
• Cooperativo: Diferentes conductas afectan el comportamiento
motriz en distintos grados (ejemplo: fusion via vector
summation Arkin 1989.)
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Conductas
Diseño:
• Selección de conductas generada intuitivamente por el diseñador.
• Generalmente mediante un proceso de prueba y error.
• A veces es posible probar las conductas en forma independiente, evolucionarlas o ajustarlas independientemente.
• El ambiente juega un rol fundamental al determinar el rol de cada comportamiento en cada instante.
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Ventajas
• Permite atacar múltiples objetivos en forma simultánea.
• Permite manejar la información de múltiples sensores eficientemente, considerando sus respectivos tiempos de latencia.
• Robusto, en general existe una mayor probabilidad de que el sistema continúe en operación frente a fallas en sensores o actuadores.
• Permite una mayor flexibilidad en el diseño.
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Inconvenientes
• No se genera mapa que se puede usar por un
usuario humano.
• Al no existir mapa no puede decirle a otro robot o a
un humano donde se encuentra.
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Y todo esto sirve solo para que los
robots móviles se muevan????
1. Introducción
2. Modelado y
representación
del entorno
2A. Con mapas
3. Localización
y mapeo
3A. Introducción
3B. Odometría
y Dead Rekoning
3C. Basada en
sensores externos
balizas o marcas
3D. Probabilística
en mapas
3E. Construcción
de mapas
4. Planificación
de trayectorías
4A. Con roadmaps
4B. Probabilística
4C. Evitación de
obstáculos
5. Estrategias de
Control
5A. Control
reactivo
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
No solo para robots….
ETSII – UCLM Curso de Robótica Móvil con Arduino, 5ª Edición Marzo 2016
Coches autónomos?
Futuro Cercano??
Darpa Challenge:
http://www.youtube.com/watch?v=M2AcMnfzpNg
Google Car
https://www.youtube.com/watch?v=uCezICQNgJU
Mercedes F 015
https://www.youtube.com/watch?v=auPyP2qfudk
Recommended