La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Diseño de un agente conductor en TORCS

Presentaciones similares


Presentación del tema: "Diseño de un agente conductor en TORCS"— Transcripción de la presentación:

1 Diseño de un agente conductor en TORCS
Álvaro Sempere Plaza Proyecto Fin de Carrera

2 INTENTE OBTENER EL MEJOR
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 Simulador de coches de carreras Championship 2009
TORCS Simulador de coches de carreras Championship 2009

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

5 Sensores Angulo al eje Sensor que marca el ángulo que hay entre el eje longitudinal del coche y el eje de la pista, en sentido antihorario.

6 Distancia desde la línea de meta.
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 Distancias al borde. Sensores
Vector de 19 posiciones que devuelven la distancia a los bordes de la pista. ¡¡Solo 100 metros!!

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

9 Acelerador [0,1]. Freno [0,1]. Giro [-pi/2, pi/2].
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) → Recta
Estado1 → Comienzo de curva Estado2 → Durante curva Estado3 → Fin de curva Estado5 → Fuera de la calzada

12 Máquina de estados Transición: Estado4 → Estado1
Si viene una curva → Estado1 en caso contrario → Estado4

13 Diferencia de pendientes >= 0.01
Máquina de estados Viene una curva. Los 3 sensores del frente: OR Diferencia de pendientes >= 0.01 I < F < D I > F > D

14 Máquina de estados Transición: Estado1 → Estado2
Si borde empieza a curvarse → Estado2 en caso contrario → Estado1

15 El borde empieza a curvarse.
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 → Estado3
Si curvatura cambia o distancia lejana→ Estado3 en caso contrario → Estado2

17 La curvatura cambia Máquina de estados Distancia lejana
Nueva curva → Curva compuesta Detección: Cálculo de la diferencia de las pendientes Cálculo periódico del radio (cada 5 instantes) Distancia lejana Vector del frente >= 90 metros

18 Máquina de estados Transición (alternativa): Estado2 → Estado5
Si salimos de la calzada → Estado5 en caso contrario → Estado2

19 Comportamiento especial estado5
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 ¿Cómo sabemos si estamos bloqueados?
Máquina de estados ¿Cómo sabemos si estamos bloqueados? Si (anguloAlEje > 20º) contador++ Si contador > 25 Activamos marcha atras y < aceleracion

21 Una vez volvamos a la calzada:
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 → Estado1 en caso contrario → Estado4

23 Comportamientos Máquina de estados
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 ESTADO5 → Comportamiento especial estado5
Máquina de estados Calculo del radio Velocidad cte y giro especial ESTADO5 → Comportamiento especial estado5

25 - ¡Que no sea comienzo de curva!
Máquina de estados Cálculo del radio Criterios previos: - ¡Que no sea comienzo de curva! - Ningun sensor = 100 (indeterminacion) OR - Solo un calculo en ESTADO1 I < F < D I > F > D

26 Máquina de estados Cálculo del radio ¡¡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 Mejora ante velocidad constante
Máquina de estados Mejora ante velocidad constante FIC → Fin Inmediato de Curva Objetivo → Acelerar durante la curva, sin salirnos IDEA En 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

31 IMPORTANTE: El aprendizaje no tiene por qué ser fiel
Predicción de pista Aprendizaje IMPORTANTE: El aprendizaje no tiene por qué ser fiel a lo que vemos nosotros - 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)

32 ¿La pista en la que estamos ahora la tengo memorizada?
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 LA VUELTA CORREGIMOS LA INFORMACIÓN MEMORIZADA CON 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 - Velocidad
Predicción de pista Predicción - Velocidad Una vez conozca el freno y las distancias: - En cada instante nos preguntamos: matrizDistancias[velocidadActual][velocidaObjetivo] > distanciaHastaCurva Si es así, frenamos, y si no, no frenamos 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.

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

38 ¿Cambio óptimo de marchas?
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 posiciones Percepción reducida → Predicción Cálculos precisos VS estimaciones Capacidad de almacenamiento y de búsqueda Física del simulador → No es fiel a la realidad No 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.) 1' 42'' 1' 55'' 1' 48'' STREET1 (14 METROS DE ANCH.) 1' 37'' 1' 43'' 1' 39'' 9'5

41 VIDEO

42 RUEGOS Y PREGUNTAS


Descargar ppt "Diseño de un agente conductor en TORCS"

Presentaciones similares


Anuncios Google