Nach zehn Jahren ist es an der Zeit, dieses Blog wiederzubeleben und vorgestern gab es ein Thema, dass zumindest zur Idee dieses Blogs grandios passt: Zufall und Verkehrssimulation. Konkret in diesem Fall: Was soll genau passieren, wenn in SUMO eine zufällige Start- oder Endposition für ein Fahrzeug gesetzt werden soll.

Es klingt erstmal einfach, SUMO unterstützt für die Fahrzeugattribute departPos und arrivalPos den Wert random und im Wesentlichen passiert was man erwartet: SUMO zieht eine zufällige Zahl gleichverteilt zwischen 0 und der maximal möglichen Position auf der Kante und lässt das Fahrzeug dort starten beziehungsweise enden. Kein Problem soweit.
Aber was passiert, wenn die Startkante und die Zielkante identisch sind? Wenn Zufall involviert ist, kann es vorkommen, dass die Startposition mal vor und mal hinter der Endposition liegt. Da man in SUMO nicht rückwärts fahren kann, kann das heißen, dass das Fahrzeug einen großen Umweg fahren muss oder sogar gar keine gültige Route hat, je nachdem wie der Rest des Netzes aussieht. Also eine fehlerhafte Route wenn die Würfel schlecht fallen? Jakob hat bei der Lösung des Problems nach unserer Diskussion einen anderen Weg gewählt. Wir sollten eine Warnung ausgeben und die Ankunftsposition anpassen. Denn bei der Bearbeitung ist aufgefallen, dass wir bisher auch schon „heimlich“ die Ankunftsposition angepasst haben, wenn sie vor der Startposition lag und sonst keine gültige Route möglich war.
Es gibt jetzt also wieder eine Warnung mehr in SUMO und hoffentlich ein nachvollziehbares Verhalten der Simulation und der Router bei zufälligen Positionen.
Falls Ihr mehr über SUMO lernen wollt oder auch kleine Geschichten erlebt oder große Wissenschaft damit gemacht habt, reicht gerne einen Beitrag zur nächsten SUMO-Konferenz ein, kommt vorbei oder hinterlasst hier einen Kommentar.
PS: Mit diesem Artikel beginne ich (hoffentlich) eine unregelmäßige Reihe über Erkenntnisse, kleine Merkwürdigkeiten und Besonderheiten in meiner Lieblingsverkehrssimulation.(Disclaimer: Ich bin auch an der Entwicklung derselben nicht ganz unbeteiligt..)