Aunque ya está prácticamente cerrado el PFC, he seguido añadiendo algunas mejoras. La última ha sido incorporarle un sistema de aprendizaje de circuitos. Este sistema es simple, pero muy eficaz. Se basa en tener una tabla hash en la que tengo como clave los puntos kilométricos del circuito, y como objeto asociado a cada clave un booleano que indica si hay peligro en dicho punto o no.
Esta tabla se carga durante la primera vuelta que se da al circuito, y marca como "1" aquellos puntos en los que se produce un incremento de daños (es decir, que se ha dado un porrazo :) ).
En las siguientes vueltas, se comprobará con una antelación de 150 metros si hay algún punto peligroso, y si lo hay, se reduce la velocidad a menos de 100km/h. Cuando se ha pasado el punto peligroso, se vuelve al estilo de conducción normal.
En el siguiente vídeo se puede ver un ejemplo de aplicar esta estrategia. En la primera vuelta que realiza se producen algunos impactos, pero en la siguiente vuelta recuerda dónde se produjeron los impactos y va a menor velocidad en esos puntos.
Vídeo de carrera contra más rivales. Aún no es competitivo, pero se puede observar que al menos ya no tiene problemas de dirección, y se controla decentemente la velocidad. Hay que mejorar los adelantamientos.
PD: Llevo unas 30 páginas de la memoria del PFC escritas de momento.
Hola Ricardo,
ResponderEliminarMe gusta MUCHO el comportamiento del coche y lo de aprendizaje que has implementado.
Ahora deberías de hacer un corte (extracto) en los videos... y poner una salida de pista y seguidamente la corrección. Así se puede comparar mucho mejor, sin tener que esperar a ver TODO el video. Es mejor para la presentación de la memoria.
2. Has contado los tiempos???... sabemos cómo estamos en referencia a los demás??
ResponderEliminar3. Prueba (sin modificar nada) en un circuito de los de la competición..
OK, de acuerdo Gonzalo, haré lo de los cortes de vídeos. Lo tenía pensado hacer, pero como no tenía mucha idea sobre software de edición de vídeos, lo colgué completo por ahorrar tiempo. En cuanto tenga un rato libre me pondré con eso. Por otra parte, haré pruebas de tiempos por cada vuelta (que en principio creo que se ha mejorado bastante respecto a versiones anteriores).
ResponderEliminarHe probado el conductor nuevo en la pista Villarello corriendo contra otros 5 rivales más -pilotos que trae TORCS-, y he quedado penúltimo (aunque hay que decir que el 6º coche no era un vehículo deportivo :)).
ResponderEliminarHe observado que los impactos contra rivales pueden influir en el aprendizaje, ya que puede confundir un impacto contra un rival con un impacto con un muro. Mejoraré esto.. por ejemplo consideraré como impacto real sólo si se está a una distancia de borde=0 metros.
He colgado el vídeo de la carrera de prueba que comenté anteriormente.
ResponderEliminarLo más destacable está en el min 0:22, que debería adelantar al vehículo azul y blanco, pero por no estar correctamente ajustadas las reglas no lo consigue.
Acabo de incorporarle una mejora a lo del aprendizaje, ahora tiene asociada una velocidad por cada zona peligrosa. Como estaba antes, tenía el problema de que iba a 100km/h por todas las zonas peligrosas, pero ahora se ha afinado más y dependiendo de la dureza del impacto en el punto la velocidad puede ser desde 50 hasta 100km/h. Se nota algo la mejora en el tiempo de vuelta, por ejemplo en Street1, realiza la mejor vuelta en 1:36:16 , y antes tardaba más de 1:40 siempre.
ResponderEliminar