Sie sind hier: CityTrafficSimulator

CityTrafficSimulator

Über CityTrafficSimulator

CityTrafficSimulator ist eine (sich noch in Entwicklung befindende) Verkehrssimulationssoftware für räumlich begrenzte Verkehrswege - etwa Kreuzungen oder kleine städtische Gebiete.

Basierend auf der Idee von traffic-simulation.de implementiert CityTrafficSimulator auch das IDM (Intelligent Driver Model), wird jedoch mit dem Ziel entwickelt möglichst universell zu sein. Das bedeutet insbesondere, dass nicht nur vorgefertigte Szenarios simuliert werden können, sondern der Benutzer (fast) jede beliebige Situation modellieren kann.

CityTrafficSimulator simuliert dazu Verkehrswege auf Bézierkurven. Mehrere Knotenpunkte können durch diese verbunden werden und erzeugen so ein Geflecht aus Wegen, über die man von Knoten A zu Knoten B gelangen kann (wenn diese über Wege verbunden sind).

Um das Fahrverhalten von Fahrzeugen im Straßen verkehr zu simulieren, berechnet CityTrafficSimulator zunächst sämtliche Schnittpunkte der Bézierkurven um sich kreuzende Verkehrswege zu finden. Vorfahrtsregeln werden zur Zeit durch simple Prioritätsvergabe an die Verkehrswege modelliert: Fahrzeuge auf Linien höherer Priorität haben Vorfahrt gegenüber Fahrzeugen auf Linien niederiger Priorität. Hat ein Fahrzeug andere Fahrzeuge mit denen es evtl. interferieren könnte abschließend untersucht, berechnet er nach den Formeln des Intelligent Driver Models seinen Wunschabstand und neue Beschleunigung.

Knotenpunkte können in CityTrafficSimulator als Ampel definiert werden, welchen (nahezu) beliebige Rot- und Grünphasen zugewiesen werden können. Eine Zeitleiste im unteren Bereich stellt den Verlauf der Ampelphasen dar.

Ein Hinweis noch: Dieses Programm ist noch in der Entwicklung, das heißt insbesondere, dass es noch viele Dinge gibt, die nur teilweise oder gar nicht funktionieren. Genauso kann es immer wieder zu Fehlern oder Abstürzen kommen.
Auch die Verkehrslogik ist noch nicht der Weisheit letzter Schluss: So kommt es immer wieder vor, dass sich Autos gegenseitig übersehen und "Unfälle" bauen oder es zu einem Deadlock zwischen zwei Fahrzeugen kommt. Natürlich werde ich hier immer weiter dran feilen. Jedoch ist die Simulationslogik in meinen Augen inzwischen so weit, dass sie ihre Grundaufgaben erfüllt und vorzeigbar ist.

Systemanforderungen, Lizenz

CityTrafficSimulator benötigt das .NET-Framework ab Version 2.
Das Programm ist auch unter Mono lauffähig und läuft dort sogar ähnlich performant wie unter Windows-Systemen.

Die Verkehrslogik von CityTrafficSimulator verursacht relativ wenig Rechenaufwand, jedoch ist die Visualisierung des Verkehrs mittels GDI+ leider (erstaunlich) langsam. Dennoch sollte eine CPU ab 1GHz reichen um zumindest kleine Kreuzungen mit weniger als 100 Fahrzeugen ohne Ruckeln zu simulieren.
Ich spiele mit dem Gedanken den Verkehr nicht mit GDI+ zu visualisieren sondern mittels DirectX, was deutlich performanter sein dürfte. Jedoch würde das die Lauffähigkeit unter Mono torpedieren, was mir momentan noch einen zu großen Nachteil darstellt.

CityTrafficSimulator ist nach GPL Version 3 lizensiert.
Kontakt: software@cszb.net

Download

CityTrafficSimulator befindet sich zur Zeit noch in Entwicklung. Die aktuelle Versionsnummer 0.1 ist dabei jedoch wirrkürlich gewählt, da es noch zu viele Baustellen und Pläne gibt, um eine durchgehende Versionierung durchzuführen.

Ich werde an dieser Stelle aber stets aktuelle lauffähige Versionen hochladen. Interessierten kann ich auf Nachfrage gerne Direktzugriff auf das Subversion-Repository geben.

Die zur Zeit aktuelle Version 0.1-1 gibt es direkt hier zum Download:
Programm: upload.cszb.net/projekte/CityTrafficSimulator/files/citytrafficsimulator_160609.zip
Quelltext: upload.cszb.net/projekte/CityTrafficSimulator/files/citytrafficsimulator_src_160609.zip

Beispieldateien

CityTrafficSimulator kann Straßenlayouts, Ampelphasen und Verkehrsströme in XML-Dateien speichern und diese wieder laden. An dieser Stelle stelle ich einige Beispieldateien online für diejenigen, die sich erstmal einen Überblick über das Programm machen wollen.
Die XML-Dateien bitte einfach über den Laden-Button einlesen lassen.



Kreuzung Schwanenwik (St. Georg/Hamburg)

Großer Kreuzungskomplex in Hamburg St. Georg zwischen der Außenalster und dem Allgemeinen Krankenhaus St. Georg.

In Nord-Südwest-Richtung verlaufen die Haupteinfallsstraßen in die Hamburger Innenstadt. In Nordwest-Südost-Richtung veräuft die Sechslingspforte in Richtung der Uni, sowie Berliner Tor.

Verkehrsaufkommen sowie die Ampelphasen entstammen meiner Fantasie.


Download: upload.cszb.net/projekte/CityTrafficSimulator/files/schwanenwik.xml





Coesfelder Kreuz/Münster (Westf.)

Modell des Coesfelder Kreuzes in Münster - einem Verbund aus zwei Kreuzungen im östlichen Teil des Rings. Die Busspuren konnten nicht modelliert werden, da das Programm noch keine Buspriorisierung unterstützt - ja eigentlich werden noch nicht mal andere Fahrzeuge als das Standardauto unterstützt.

Die Ampelphasen sind an die Realität angelehnt, jedoch habe ich keine exakten Messungen vorgenommen.
Der Verkehr ist eher höher als in der Wirklichkeit, insbesondere in Ost-/West-Richtung. Dies sorgt jedoch bereits für ein kritisches Verkehrsaufkommen und Staus.

Download: upload.cszb.net/projekte/CityTrafficSimulator/files/coesfelder_kreuz.xml






Kreuzung Hensenstraße/Gescherweg in Münster (Westf.)

Modell der Kreuzung Hensenstraße/Gescherweg in Münster-Gievenbeck.

Kein wirklich großes Verkehrsaufkommen, jedoch eine interessante Ampelschaltung: Während einer Phase haben sämtliche Autos rot und nur die Fahrradfahrer grün. Letztere werden natürlich nicht vom CityTrafficSimulator simuliert, man kann jedoch experimentieren, was die lange Rotphase für Auswirkungen auf den Straßenverkehr hat

Download: upload.cszb.net/projekte/CityTrafficSimulator/files/hensenstra_e_gescherweg.xml







Kreuzung B4/B5 (Hamburg)

Modell der Kreuzung Kieler Str./Eimsbütteler Marktplatz in Hamburg-Eimsbüttel wo sich die B4 und die B5 teilt.

Ampelphasen entsprechen nicht der Realität sondern sind selbst ausgedacht.
Verkehrsaufkommen ist geschätzt.

Download: upload.cszb.net/projekte/CityTrafficSimulator/files/hamburg_b4b5.xml






Kurzanleitung

Ich habe ein kleines Handbuch verfasst, welches eine Übersicht über die wichtigsten Funkionalitäten und die Bedienungsgrundlagen bietet:
-> CityTrafficSimulator Handbuch

Changelog

16.06.2009: (Version 0.1-1)
- neues Modell: Kreuzung B4/B5 Hamburg-Eimsbüttel
- Leichte Modifikationen an der Verkehrslogik
- Autos haben jetzt unterschiedliche Längen
- Korrektur im A*-Algorithmus zur Wegsuche
- diverse Bugfixes

09.06.2009: (Version 0.1)
- erstes Public Release



www.cszb.net - Design und Content by Christian Schulte zu Berge