curso de robótica móvil con arduino y android · etsii –uclm curso de robótica móvil con...

78
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

Upload: vanngoc

Post on 17-Jul-2018

223 views

Category:

Documents


1 download

TRANSCRIPT

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