Un nuevo diario de desarrollo de Citybound nos muestra el tráfico en todo su esplendor y el sistema de prevención de colisión en los cruces en el que se está trabajando.
Por supuesto todavía queda muchísimo por hacer pero lo importante es que el proyecto de un nuevo constructor de ciudad sigue su curso... |
Hoy he decidido empezar a hacer uso de mi carril de detección de solapamiento y que los coches sea conscientes de las solapamientos.
Antes de abordar normas de tráfico a nivel superior como que la derecha tiene preferencia, flexivilidad o semáforos, era importante obtener simplemente una prevención básica de colisiones (algo que será necesario sin las que las reglas de nivel superior no pueden hacer su trabajo).
Este fue mi primer resultado:
(Lo siento por los GIFs de pocos fps, pero son los más rápidos de reproducir)
Puedes ver que los coches en la intersección se avisan entre sí (puntos amarillos) y usan los datos de solapamiento para encontrar el lugar donde parar con el fin de evitar chocar con otros coches (puntos rojos).
Es muy interesante ver pasar los coches sólo con estos evitajes básicos de colisión resultando patrones de tráfico de bárbaros, pero siendo un poco "el que llega primero, va primero".
Había aún un error en el cálculo, haciendo que se produzcan algunos fallos (porque un coche asumió erróneamente que el otro ya había girado en la solapamiento).
Después de arreglar eso, el comportamiento se volvió aún más estable - los coches podría incluso gestionar, de manera razonable, algo de esta situación caótica:
Al reducir las velocidades funcionó muy bien, pero para altas velocidades se planteaba el problema de que los coches sólo comenzaron a preocuparse por los solapamientos, una vez que entraron en la intersección, lo que a menudo era demasiado tarde.
Así que en lo último que trabajé hoy era en hacer que coches pensaran en los solapamientos incluso antes, cuando se acerca a una intersección. Está sin acabar, porque tengo que dormir ahora, pero este es su estado actual:
(Los puntos rojo oscuro muestran la ubicación determinada de detención, incluso antes de entrar a la intersección. Parecen ser correcta, pero por alguna razón, los coches no reducen la velocidad apropiadamente hasta que entran en la intersección)
Dos pequeños apuntes:
a) para las personas que se preocupan por el rendimiento de una simulación detallada, es importante darse cuenta de que sólo los primeros coches en cada carril tienen que hacer esto, es un poco complicada la detección de obstáculos. Pero incluso para ellos, la mayor parte del trabajo se ha hecho ya al averiguar los intervalos de solapamiento de antemano. Todo lo que lo que hay que hacer es un poco de búsqueda y mapeo sencillo de las posiciones de los coches de un carril a otro.
Nota: todo lo que los otros coches tienen que hacer es seguir estúpidamente al vehículo delante de ellos y no chocar contra él. ¡Sus cambios con respecto al vehículo de delante ocurren con muy poca frecuencia!
b) Me di cuenta de que la reimplementación del sistema vial comienza a dar sus frutos. Con el sistema vial antiguo trabajé en el mismo problema por lo menos durante una semana y no llegué tan lejos.
¡Eso es todo! Espero que te haya gustado, nos vemos pronto!