KI, Straßenverkehr simulieren
Verfasst: 13.02.2015, 17:03
Hallo,
ich möchte gerne eine KI entwickeln, die den Straßenverkehr simuliert. Als Grafikengine kommt Unity zum Zug. Hier gibt es bereits einige fertige Komponenten, aber ich möchte gerne etwas eigenes probieren.
Ich möchte mit euch hier über einen möglichst cleveren Ansatz nachdenken, der für meine Rahmenbedingungen dann auch besonders gut geeignet ist. Die fertigen Komponenten sind alle sehr komplex und unterstützen viele Dinge, die ich nie brauchen werde. Das ist ebenfalls ein Grund warum ich etwas leichtes selber entwickeln will.
Zu den Rahmenbedingungen:
- Es gibt nur gerade Streckenverläufe, keine geschwungenen Kurven o.ä.
- Es gibt viele Kreuzungen
- Kreuzungen oder z.B. Fußgängerüberwege sind evtl. durch Ampeln geregelt
- Mehrspurige Fahrbahnen
- Fahrzeuge spawnen im Umfeld des Spielers, um ein stetiges Verkehrsaufkommen zu gewährleisten
- Es wäre genial, wenn Fahrzeuge die Spur wechseln würden
Meine Idee wäre zunächst, dass jeder auf jeden achtet. Ein Fahrzeug bremst ab, um dem Vordermann nicht hinten rein zu fahren. Positiver Nebeneffekt: Bremst ein Fahrzeug wegen einer Ampel, dann halten auch alle anderen Fahrzeuge nach und nach an.
Eine Ampel könnte ich so realisieren, dass jede Ampel schaut, ob sich ein Fahrzeug in ihren Regelbereich befindet. Ist das der Fall und der Ampelstatus rot, dann sendet sie ein Motor-Stop-Befehl an dieses Fahrzeug. Schaltet die Ampel auf grün, dann sendet sie ein Motor-Start-Befehl an das Fahrzeug.
Soweit alles relativ simpel und sollte sicher funktionieren. Bleibt die Frage nach der Kreuzung. Ich könnte an den Stellen, wo ein Abbiegen möglich ist einen Collider platzieren. Fährt das Fahrzeug in diesem rein, wird eine Kollision ausgelöst. Diese weist dem Fahrzeug an, dass es abbiegen soll oder eben nicht.
Da jeder auf jeden achtet, sollte das selbst dann funktionieren, wenn ein Fahrzeug auf der äußersten Spur abbiegen will. Ist hier noch Verkehr, dann wird es selber anhalten oder vorgelassen.
Eine perfekte Welt eben. :D
Was sind eure Eindrücke dazu? Wie gesagt, es soll möglichst einfach sein.
Viele Grüße
Patrick
ich möchte gerne eine KI entwickeln, die den Straßenverkehr simuliert. Als Grafikengine kommt Unity zum Zug. Hier gibt es bereits einige fertige Komponenten, aber ich möchte gerne etwas eigenes probieren.
Ich möchte mit euch hier über einen möglichst cleveren Ansatz nachdenken, der für meine Rahmenbedingungen dann auch besonders gut geeignet ist. Die fertigen Komponenten sind alle sehr komplex und unterstützen viele Dinge, die ich nie brauchen werde. Das ist ebenfalls ein Grund warum ich etwas leichtes selber entwickeln will.
Zu den Rahmenbedingungen:
- Es gibt nur gerade Streckenverläufe, keine geschwungenen Kurven o.ä.
- Es gibt viele Kreuzungen
- Kreuzungen oder z.B. Fußgängerüberwege sind evtl. durch Ampeln geregelt
- Mehrspurige Fahrbahnen
- Fahrzeuge spawnen im Umfeld des Spielers, um ein stetiges Verkehrsaufkommen zu gewährleisten
- Es wäre genial, wenn Fahrzeuge die Spur wechseln würden
Meine Idee wäre zunächst, dass jeder auf jeden achtet. Ein Fahrzeug bremst ab, um dem Vordermann nicht hinten rein zu fahren. Positiver Nebeneffekt: Bremst ein Fahrzeug wegen einer Ampel, dann halten auch alle anderen Fahrzeuge nach und nach an.
Eine Ampel könnte ich so realisieren, dass jede Ampel schaut, ob sich ein Fahrzeug in ihren Regelbereich befindet. Ist das der Fall und der Ampelstatus rot, dann sendet sie ein Motor-Stop-Befehl an dieses Fahrzeug. Schaltet die Ampel auf grün, dann sendet sie ein Motor-Start-Befehl an das Fahrzeug.
Soweit alles relativ simpel und sollte sicher funktionieren. Bleibt die Frage nach der Kreuzung. Ich könnte an den Stellen, wo ein Abbiegen möglich ist einen Collider platzieren. Fährt das Fahrzeug in diesem rein, wird eine Kollision ausgelöst. Diese weist dem Fahrzeug an, dass es abbiegen soll oder eben nicht.
Da jeder auf jeden achtet, sollte das selbst dann funktionieren, wenn ein Fahrzeug auf der äußersten Spur abbiegen will. Ist hier noch Verkehr, dann wird es selber anhalten oder vorgelassen.
Eine perfekte Welt eben. :D
Was sind eure Eindrücke dazu? Wie gesagt, es soll möglichst einfach sein.
Viele Grüße
Patrick