The project

This is a mobility research project, focusing on the development of a program that its able to create circuits of roads using straights, curves, roundabouts, intersections, traffic lights… and the ability to modify parameters like car flows, probability of exit in a roundabout, and traffic light timings, in order to find out the optimal combination to apply in the real case of traffic.

The question that came up to my head when thinking what project to do was if the roads in our cities were the most efficient that could be and if the roads could be improved somehow.

This program has been made using open source, Blender, which is a software used to create 3D models, Unity and C#, used to develop the logic and inner workings of the objects, in addition to using Visual Studio as the code editing program.

The logic is divided is made up of three systems, the network of roads, the autonomous cars, and the simulation and extraction of results, as well as being able to save the project that could be convenient when working on big projects.

Another section of this project, is the study of different elements like intersections or roundabouts and the application to a real case, in this case, the chosen road was a roundabout in Manresa, this was a required step to determine the precision of the program and to improve the way the program works.

Finally, the tool created can be used in different cities to find one possible solution to the traffic problem.

Additionally, the knowledge acquired through all these years has been provided by the internet that has been fundamental to make this project.

How it works

The explanation of how it works is divided in the different parts and systems implemented on the program.

Roads

The structure of the roads is mainly compound by: the road itself, walk sides/fences, path points and addition points.

From the path points and the road itself a navigation mesh it’s defined to determine the zone where vehicles will be able to move on, from point A to point B, by adding the car spawner we can see the result, finally we add a simple detector to avoid collisions, but we still need to deal with them getting stuck at dead-ends.

Modularity

Reference

View Code on Github