Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de...

42
2005-12- 31 Your Name Your Title Your Organization (Line #1) Your Organization (Line Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto Fin de Carrera

Transcript of Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de...

Page 1: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

2005-12-31

Your NameYour Title

Your Organization (Line #1)Your Organization (Line #2)

Diseño de un agente conductor en TORCS

Álvaro Sempere PlazaProyecto Fin de

Carrera

Page 2: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

2

OBJETIVOS

Diseño de un agente inteligente

Contexto

Torcs y arquitectura

Sensores y actuadores

Tipos de curvas.

Máquina de estados

Funciones

Predicción de pista

Aprendizaje y reconocimiento

Corrección

Predicción

Experimentos

Frenos

Marchas

Análisis (interfaz gráfica)

Conclusiones

Estudio y comparativas

OBJETIVO PRINCIPAL:QUE EL COCHE NO SE

SALGA NUNCA A LA VEZ QUE INTENTE OBTENER EL MEJOR

TIEMPO DE CARRERA

Page 3: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

3

TORCS

Simulador de coches de carrerasChampionship 2009

Page 4: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

4

Arquitectura TORCS

Servidor envía resultados de simulación, cliente envía parámetros.

Page 5: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

5

Sensores

Angulo al ejeSensor que marca el ángulo que hay entre el eje

longitudinal del coche y el eje de la pista, en sentido antihorario.

Page 6: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

6

Sensores

Distancia desde la línea de meta.Distancia en metros que hay desde la línea de meta hasta la

posición actual del coche, a través del eje de la calzada.

Page 7: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

7

Sensores

Distancias al borde.Vector de 19 posiciones que devuelven la distancia a los

bordes de la pista.

¡¡Solo 100 metros!!

Page 8: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

8

Sensores

Posición en la calzadaPosición del coche normalizada a lo ancho en la calzada.

Page 9: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

9

Actuadores

Acelerador [0,1].Freno [0,1].Giro [-pi/2, pi/2].Marcha (-1,0,1,2,3,4,5,6)

Page 10: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

10

Tipos de curvas

Curvas simples

Curvas compuestas. Formadas por varias simples.

Page 11: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

11

Máquina de estados

Estado4 (inicial) → RectaEstado1 → Comienzo de curva

Estado2 → Durante curvaEstado3 → Fin de curva

Estado5 → Fuera de la calzada

Page 12: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

12

Máquina de estados

Transición: Estado4 → Estado1Si viene una curva → Estado1en caso contrario → Estado4

Page 13: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

13

Máquina de estados

Viene una curva. Los 3 sensores del frente:

OR

I < F < D I > F > D

Diferencia de pendientes >= 0.01

Page 14: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

14

Máquina de estados

Transición: Estado1 → Estado2Si borde empieza a curvarse → Estado2en caso contrario → Estado1

Page 15: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

15

Máquina de estados

El borde empieza a curvarse.

Si la diferencia de pendientes es mayor o igual que 0.01

Sensor 14 (derecha) y 5 (izquierda) → CAMBIO

Page 16: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

16

Máquina de estados

Transición: Estado2 → Estado3Si curvatura cambia o distancia lejana→ Estado3en caso contrario → Estado2

Page 17: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

17

Máquina de estados

La curvatura cambia

Nueva curva → Curva compuestaDetección:

Cálculo de la diferencia de las pendientesCálculo periódico del radio (cada 5 instantes)

Distancia lejana

Vector del frente >= 90 metros

Page 18: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

18

Máquina de estados

Transición (alternativa): Estado2 → Estado5Si salimos de la calzada → Estado5en caso contrario → Estado2

Page 19: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

19

Máquina de estados

Comportamiento especial estado5

Cuando estemos fuera de la calzada normalmente el coche seguirá con normalidad, como si fuera por recta

Excepción → BLOQUEO

Page 20: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

20

Máquina de estados

¿Cómo sabemos si estamos bloqueados?

Si (anguloAlEje > 20º) contador++Si contador > 25

Activamos marcha atras y < aceleracion

Page 21: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

21

Máquina de estados

Una vez volvamos a la calzada:Estado5 → Estado3

Page 22: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

22

Máquina de estados

Transición: Estado3 → (Estado1 || Estado4)Si viene curva → Estado1en caso contrario → Estado4

Page 23: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

23

Máquina de estados

Comportamientos

Comportamiento de base o genérico. Siempre está activo, a menos que un estado establezca otro.

Modos:

- Modo entrenamiento. Precavido y lento.

- Modo carrera. Conducción máxima y predictiva.

Page 24: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

24

Máquina de estados

Velocidad ctey giro especial

ESTADO5 → Comportamiento especial estado5

Calculo del radio

Page 25: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

25

Máquina de estados

Cálculo del radio

Criterios previos:

OR

I < F < D I > F > D

- Ningun sensor = 100 (indeterminacion)

- Solo un calculo en ESTADO1

- ¡Que no sea comienzo de curva!

Page 26: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

26

Máquina de estados

Cálculo del radio

Idea → distancia desde el centro calculado a partir de 3 ptos en la circ.

¡¡RADIO!!

Page 27: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

27

Máquina de estados

Cálculo del radio

Radio → Velocidad

Page 28: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

28

Máquina de estados

Mejora ante velocidad constante

FIC → Fin Inmediato de CurvaObjetivo → Acelerar durante la curva, sin salirnos

IDEAEn función del sensor de distancia al frente:

- Acelerar más cuanto más lejos estemos del borde- Acelerar menos cuanto más cerca

Page 29: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

29

Máquina de estados

Giro especial

Idea

- Evitamos salirnos

Page 30: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

30

Predicción de pista

FASES

APRENDIZAJE RECONOCIMIENTO

CORRECCIÓN PREDICCIÓN

Page 31: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

31

Predicción de pista

Aprendizaje

- Datos:

- Anchura

- Longitud

- Para cada curva:

- Radio → Estado 1 (cálculo del radio)

- Distancia de comienzo → Transición de estado1 a estado2

- Distancia de fin → Estado 3

- Orientación (derecha → true o izquierda → false)

IMPORTANTE: El aprendizaje no tiene por qué ser fiela lo que vemos nosotros

Page 32: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

32

Predicción de pista

Reconocimiento

¿La pista en la que estamos ahora la tengo memorizada? ¿Me suena?

1 – Comparamos los datos que estamos capturando con los de las pistas memorizadas y filtramos (descartamos las que no tengan datos parecidos).2 – Cuando sólo quede una pista sin descartar, esa pista es la actual.

Page 33: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

33

Predicción de pista

Corrección

CAPTURAMOS DATOS DE LA

PISTA(CURVAS)

AL ACABAR LAVUELTA

CORREGIMOS LA INFORMACIÓN

MEMORIZADACON LA

CAPTURADA

Page 34: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

34

Predicción de pista

Predicción

Tipos:

- Orientación. Posicionamiento en la calzada para tomar la curva mejor (Giros menos bruscos)

- Velocidad. Adaptar nuestra velocidad a la de la curva con la suficiente antelación.

Page 35: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

35

Predicción de pista

Predicción - Orientación

Page 36: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

36

Predicción de pista

Predicción - Velocidad

Una vez conozca la próxima curva deberá:- Qué freno usar- Cómo se comporta el freno (distancias)

Tareas:- Cálculo del mejor freno (estabilidad y distancia menor).- Cálculo de las distancias de frenado.

Una vez conozca el freno y las distancias:- En cada instante nos preguntamos:

matrizDistancias[velocidadActual][velocidaObjetivo] > distanciaHastaCurvaSi es así, frenamos, y si no, no frenamos

Page 37: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

37

Experimentos

¿Freno óptimo o freno máximo con ABS?

50 100 120 140 1500

10

20

30

40

50

60

Freno óptimo

Freno máximo con ABS

Velocidades probadas

Dis

tan

cia

s

Page 38: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

38

Experimentos

¿Cambio óptimo de marchas?

12812 milisegundos 11313 milisegundos

Page 39: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

39

Conclusiones y mejoras

Optimización → El poder mejorar la velocidad en cada curva dará lugar a mejores resultados.Modo entrenamiento → Lento → Pérdida de posicionesPercepción reducida → PredicciónCálculos precisos VS estimacionesCapacidad de almacenamiento y de búsquedaFísica del simulador → No es fiel a la realidadNo al comportamiento estático → Sí a la variación de parámetros (problemas de rozamientos, curvas malas para FIC)¡FIC mejora tiempo de carrera pero se sale!Interfaz gráfica → Mejores tecnologías

Page 40: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

40

Estudios y comparativas

PISTA ROL TIEMPO RENDIMIENTO

AALBORG(10 METROS DE

ANCH.)

HUMANO 1' 32'' 8

AGENTE 1' 34'' 10

AGENTE + FIC 1' 33'' 9

E-TRACK3(18 METROS DE

ANCH.)

HUMANO 1' 42'' 9

AGENTE 1' 55'' 10

AGENTE + FIC 1' 48'' 9

HUMANO 1' 37'' 9

AGENTE 1' 43'' 10

AGENTE + FIC 1' 39'' 9'5

Page 41: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

41

VIDEO

Page 42: Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) 2005-12-31 Diseño de un agente conductor en TORCS Álvaro Sempere Plaza Proyecto.

42

RUEGOS YPREGUNTAS