Hallo,
als Anregung einen kurzen "Anforderungskatalog" an solch eine Software....
Zitat: |
Die Steuerungssoftware haben wir so konzipiert, dass es sich nicht um eine feste Schrittkettenprogrammierung handelt, sondern sich das PC-Programm für jedes Fahrzeug ein eigenes "Gehirn" bereitstellt. Momentan übrigens auf 65000 Fahrzeuge begrenzt :-), aber das ist von der Rechenleistung her nicht realistisch, realistisch sind ca. 1000 Fahrzeuge. In den Grunddaten ist die Strecke mit ca. 12000 Parametern (Knuffingen, im USA-Teil ca. 14000) eingegeben. Beispiele hierfür: Strecken (mit millimetergenauen Maßen), Steigungen, Kurvenradien, Vorfahrtsregeln, Ampeln (komplexe, grenzenlose Ampelsteuerungen mit Abbiegern, Grüne Welle, Tag-/Nachschaltung, usw... möglich), Bahnübergängen, Abzweigungen, Rückmelder, Radarfallen, Rotlichtblitzer, Fahrzeugtypenerlaubnisse,........
Das Programm hat jetzt für jedes Fahrzeug eine Prozess, der 20 Mal in Sekunde die gesamte Situation für dieses einzelne Fahrzeug durchrechnet. Hierbei kann ein Fahrzeug entweder willkürlich durch die Gegend fahren, ein festes Ziel vor Augen habe, eine feste Tour fahren (z.B. Busse, Müllabfuhr) oder einen Einsatz fahren (z.B. Feuerwehr, Schwertransporter). Für das Fahrzeug muss jederzeit berechnet werden, wo es ist und wann es zur nächsten Entscheidung kommt. So eine Entscheidung kann z.B. die Annäherung an ein anderes Fahrzeug, die Annäherung eine Kreuzung (z.B. mit Vorfahrt, ohne Vorfahrt , Rechts vor Links oder mit Ampel), das Auffahren auf die Autobahn (ist nämlich recht kompliziert, weil es einem anderen Fahrzeug eventuell mitteilen muss, auf die linke Spur zu wechseln, falls dieses es noch nicht selbst bemerkt hat), die Feststellung, dass der Akku sich leert, usw.
Ein Fahrzeug entscheidet sich (bzw. das PC-Programm) an jeder Abzweigung selbst, welchen Weg es nimmt und berücksichtigt dabei mehrere Kriterien: grundsätzlich gibt es die Möglichkeit dass ein Fahrzeug völlig ohne Ziel fährt, also nach Zufallsprinzip "durch die Gegend" fährt. Eine weitere Möglichkeit ist, dass ein festes Ziel erreicht werden soll oder dass eine feste Wegstrecke vorgegeben wurde oder aber auch die Fahrt mit einer definierten Schrittkette (z.B. Einsatzfahrten der Feuerwehr, Müllabfuhr, etc). Das Fahrzeug prüft an einer Abzweigung zuerst, ob die Strecke für diesen Fahrzeugtyp erlaubt ist, ob sie gegebenenfalls zu dem Ziel führt, welches für das Fahrzeug vorgesehen ist (an jeder Kreuzung stehen also sozusagen virtuelle "Wegweiser", ob sie frei ist (nicht ganz frei, sondern nur so frei, dass das Fahrzeug nicht anhalten muss, um diese Strecke zu wählen), ob der Weg gerade durch einen Feuerwehr-Einsatz gesperrt ist (sollte dieses der Fall sein, prüft das Fahrzeug andere Wege, ob diese im Falle einer Umleitung für seinen Fahrzeugtyp doch erlaubt sind). Sollten mehrere Wege diese Kriterien erfüllen , so entscheidet das Fahrzeug nach Zufall, welchen es nimmt, wobei für jeden Weg unterschiedliche Wahrscheinlichkeiten definiert werden (damit z.B. das Abbiegen eines LKWs in ein Wohngebiet nur ganz selten auftritt). Hat das Fahrzeug einen Weg gewählt, wird geprüft, ob geblinkt werden soll oder ob angehalten werden muss (wenn das Anhalten auf der Autobahn geschieht, wird z.B. der Warnblinker eingeschaltet). Ist der Weg frei, wird er mit einer für ihn definierten Fahrgeschwindigkeit befahren.
Die Fahrzeuge überprüfen grundsätzlich rechts vor links, halten sich auf der Autobahn an das Rechtsfahrgebot, halten bei geschlossenen Bahnübergängen an (hoffentlich), beachten Ampeln, geben einem Feuerwehrfahrzeug auf Einsatzfahrt Vorrecht, lassen bei einem Stau auch schon mal ein Fahrzeug aus einer Seitenstraße vor, halten an Fußgängerüberwegen, warten geduldig hinter einem Müllwagen, welcher Wohngebietstraßen abfährt und ständig anhält, rasen auch schon mal in eine Radarfalle und müssen kurz darauf unfreiwillig der Anhaltekelle eines Polizisten folgen (die Realisierung des computergesteuerten Polizisten wird hoffentlich nicht dem Zeitdruck zum Opfer fallen), Busse fahren Bushaltestellen an, die Fahrzeuge schalten nachts ihr Licht ein (und morgens auch wieder aus) (Anmerkung: auf unserer Anlage wird im 15 min. Rhythmus, computergesteuert mit Hilfe an der Decke und hinter der Anlage montierter, dimmbarer Leuchten, ein Tag-Nacht-Zyklus durchlaufen), ...
Neben dem alltäglichen Individualverkehr wird auf der Auto-Anlage ein großer Schwerpunkt auf fest programmierte Szenarien gelegt, dieses werden zum größten Teil Feuerwehreinsätze sein, es kann aber auch mal ein großer Schwertransport mit Polizeibegleitung und Absperrmaßnahmen sein.
Zu den Feuerwehr Einsätzen: Die Knuffinger Anlage ist zur Zeit mit 11 verschiedenen Einsatzstellen ausgestattet (USA momentan 9). Drückt jetzt ein Besucher den an der Außenkante der Anlage befindlichen Druckknopf mit der Aufschrift "Feuerwehr-Einsatz!", so sucht sich das Programm ein Szenario aus (Anmerkung: momentan werden die Einsätze noch von uns gestartet). Dann beginnt es z.B. aus einem Wohnhaus zu rauchen und es sind die ersten Flammen zu erkennen. In der Feuerwache ertönt der Alarm und das Licht geht an. Kurz darauf schaltet der Löschzug (3-4 Fahrzeuge) das Licht, das Blaulicht und die Frontblitzer ein, zeitgleich halten Fahrzeuge auf der Hauptstraße vor dem Blinkschild "Achtung Feuerwehr-Einsatz!" an. Der Löschzug setzt sich in Richtung der Einsatzstelle in Bewegung , wo das Feuer mittlerweile größer wird. An den Kreuzungen ertönt das Martinshorn und die Einsatzfahrzeuge werden vorgelassen. Nachdem die Feuerwehr an der Einsatzstelle angekommen ist, entscheidet der PC z.B., ob das Löschen erfolgreich ist oder der Brand sich ausbreitet -> Großalarm, weitere (bis zu 35) Feuerwehrfahrzeuge aus der Nachbarschaft müssen anrücken.
Die jetzige Software-Version ist auf höchstmögliche Sicherheit ausgelegt. Momentan wird daher noch eine Art Blockbetrieb ausgeführt. Dieses führt momentan noch ein wenig zu "Stop and Go" - Verhalten der Fahrzeuge. Dieses soll später (nach ausführlichem Langzeittest des momentanen Systems und der physikalischen Zuverlässigkeit der Fahrzeuge und wieder aufkommender Zweit für Verbesserungen) umgestellt werden auf ein mehr vorausschauendes Fahren der Fahrzeuge, so dass die Situation des Zwangstops vermieden wird. Da die Software jedes Fahrzeug ca. 20 mal pro Sekunde neu berechnen muss (es fährt mit ca. 24 cm/sek.), sind sämtliche Versuche vorrausschauender als ca. 1 Meter zu fahren, momentan noch an der Rechenleistung des PC gescheitert. Der PC muss 20 mal pro Sekunde für bis zu effektiv 300 unterschiedlich schnelle Fahrzeuge mit unterschiedlichen Zielen und Fahrzeuglängen, unter Berücksichtigung unterschiedlicher Fahrgeschwindigkeiten der Wege (Ein Auto fährt z.B. die nächsten 20 Sekunden also nicht zwingend mit der exakt gleichen Geschwindigkeit), Feuerwehrfahrzeugen mit Sonderrechten, Ampelphasen, rechts vor links, usw..., unter dem "was passiert dann" - Prinzip eine Kombination finden, die keinen Stop verursachen würde. Unsere Versuche haben teilweise gute Ergebnisse geliefert, aber leider nur in Zeitlupe. Ansätze für ein System mit künstlicher Intelligenz (d.h. die Fahrzeuge bzw. der PC lernen aus der Vergangenheit diese Situationen zu vermeiden) ist in Vorbereitung, aber wann steht in den Sternen. Die Software hat 115000 Zeilen Source-Code (55000 PC-Programm, 42000 die Feuerwehreinsätze und 18000 die Software im Fahrzeug).
|
|
Kopiert von der Internet-HP des Hamburgers Miniatur-Wunderland.
Viele Ideen die auch in MPC stecken...
Grüsse
__________________ MPC3.8
Win98SE/W2K
|