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

Post on 16-Apr-2015

4 views 2 download

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

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

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

3

TORCS

Simulador de coches de carrerasChampionship 2009

4

Arquitectura TORCS

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

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.

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.

7

Sensores

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

bordes de la pista.

¡¡Solo 100 metros!!

8

Sensores

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

9

Actuadores

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

10

Tipos de curvas

Curvas simples

Curvas compuestas. Formadas por varias simples.

11

Máquina de estados

Estado4 (inicial) → RectaEstado1 → Comienzo de curva

Estado2 → Durante curvaEstado3 → Fin de curva

Estado5 → Fuera de la calzada

12

Máquina de estados

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

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

14

Máquina de estados

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

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

16

Máquina de estados

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

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

18

Máquina de estados

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

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

20

Máquina de estados

¿Cómo sabemos si estamos bloqueados?

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

Activamos marcha atras y < aceleracion

21

Máquina de estados

Una vez volvamos a la calzada:Estado5 → Estado3

22

Máquina de estados

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

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.

24

Máquina de estados

Velocidad ctey giro especial

ESTADO5 → Comportamiento especial estado5

Calculo del radio

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!

26

Máquina de estados

Cálculo del radio

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

¡¡RADIO!!

27

Máquina de estados

Cálculo del radio

Radio → Velocidad

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

29

Máquina de estados

Giro especial

Idea

- Evitamos salirnos

30

Predicción de pista

FASES

APRENDIZAJE RECONOCIMIENTO

CORRECCIÓN PREDICCIÓN

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

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.

33

Predicción de pista

Corrección

CAPTURAMOS DATOS DE LA

PISTA(CURVAS)

AL ACABAR LAVUELTA

CORREGIMOS LA INFORMACIÓN

MEMORIZADACON LA

CAPTURADA

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.

35

Predicción de pista

Predicción - Orientación

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

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

38

Experimentos

¿Cambio óptimo de marchas?

12812 milisegundos 11313 milisegundos

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

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

41

VIDEO

42

RUEGOS YPREGUNTAS