Webseiten-Werkzeuge


traffic

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
traffic [2026/09/04 17:33] – [Regeln] wikiadmintraffic [2026/09/19 14:02] (aktuell) – [zur Implementierung] wikiwriter
Zeile 3: Zeile 3:
 ===== Beobachtung der Umgebung ===== ===== Beobachtung der Umgebung =====
 In ''driving.c'' werden Informationen über das Umfeld des einzelnen Fahrzeugs ermittelt, In ''driving.c'' werden Informationen über das Umfeld des einzelnen Fahrzeugs ermittelt,
-die zusammen mit den Regeln das Verhalten (Geschwindigkeitsänderung, Spurwechsel) festlegen +die zusammen mit den Regeln das Verhalten (Geschwindigkeitsänderung, Spurwechsel) bestimmen  
 +  * gibt Geschwindigkeitsbegrenzungen ? 
 +  * gibt es Überholverbote ? 
 +  * gibt es Baustellen voraus ? 
 +  * welche Fahrzeuge fahren vor mir auf meiner Spur, auf der Spur links von mir, rechts von mir?  
 +    * mit welchem Abstand? 
 +    * mit welcher Geschwindigkeit? 
 +    * mit Spurwechselabsicht? 
 +    * welcher Typ? 
 +    * das Gleiche für "neben mir" und "hinter mir" auf den Spuren rechts und links von mir 
 +  * ist ein Rettungswagen in der Nähe?  
 +    * rechts, links oder auf meiner Spur hinter mir 
 +  * ist ein Polizeifahrzeug in der Nähe 
 +  * gibt es einen Stau (mehrere langsame Fahrzeuge dicht hintereinander) rechts oder links von mir?
  
 ===== Regeln ===== ===== Regeln =====
 Die Regeln sind auch in der Routine ''driving.c'' umzusetzen: Die Regeln sind auch in der Routine ''driving.c'' umzusetzen:
  
-  - Geschwindigkeitsbegrenzungen und Überholverbote einhalten +  - Wenn drumrum nichts los, dann mit Wunschgeschwindigkeit fahren 
-  - Sicherheitsabstand halten +     * Ausnahme: Polizeiwagen zu sehen, dann Polizeiwagengeschwindigkeit 
-  - nicht in Baustellen fahren +     * Sicherheitsabstand zum Vordermann halten; ggf. überholen 
-  - Nicht rechts überholen +  - In Geschwindigkeitsbegrenzung maximal ca. zulässige Geschwindigkeit fahren 
-     - doch rechts überholen, wenn links von mir ein Stau ist und auf meiner Spur frei ist +     * Ausnahme Rettungswagen von hinten 
-     - dabei aber mit wenig Geschwindigkeitsüberschuss vorbeifahren +  - Überholverbote beachten 
-  - beim Vorbeifahren an Staus, langsam werden und Lücken zum Einscheren lassen +     * außer im Stau, dann darf langsam vorbeigefahren werden (StVO prüfen) 
-  - Überholen, wenn links frei und ich schneller als der Vordermann fahren kann+  - nicht rechts überholen 
 +     * doch rechts überholen, wenn links von mir ein Stau ist und auf meiner Spur frei ist 
 +     * dabei aber mit wenig Geschwindigkeitsüberschuss vorbeifahren
   - Krankenwagen vorbeilassen (rechts oder links rüber und bremsen)   - Krankenwagen vorbeilassen (rechts oder links rüber und bremsen)
-     - wenn Vorbeilassen  nicht geht, beschleunigen und voraus fahren  +     * wenn Vorbeilassen  nicht geht, beschleunigen und voraus fahren  
-     - dabei auch Geschwindigkeitsbegrenzungen missachten +     * dabei auch Geschwindigkeitsbegrenzungen missachten 
-  - je nach Fahrertyp auf Polizeifahrzeuge reagieren +  - So weit rechts wie möglich fahren 
-  - wenn das Fahrzeug links vor mir gleich schnell ist wie ich und ich aber schneller fahren will/kann, etwas zurückfallen lassen um nach links zu wechseln und dann zu überholen +     * Ausnahme: einige PKW auf Mitte (Fahrertyp langsam) 
 +         * fährt nur nach rechts, wenn von hinten Auto mit sehr hoher Geschwindigkeit 
 +     * wenn ganz links, zügig auf Mitte wechseln 
 +          * Ausnahme sehr schnelle PKW  (>180 km/h) auf linker Spur (Fahrertyp schnell ) 
 +     * wenn rechts vor mir Autos,  
 +             * nach rechts nur wenn 1km frei (LKW) 
 +             * nach rechts, nur wenn 500 m frei (PKW) 
 +  - Wenn vor mir auf meiner Spur langsames Fahrzeug oder Baustelle, 
 +     * Spurwechsel nach links,  
 +        * ggf. sogar etwas zurückfallen lassen 
 +        * abhängig vom Delta zum Überholten, beschleunigen 
 +        * mit gleicher Geschwindigkeit weiter (Fahrertyp langsam) 
 +        * wenn von hinten wer kommt, dann tendenziell früher nach links 
 +        * bei Spurwechsel ist abhängig von der eigenen Fahrspur zu prüfen, ob bei Wechsel nach links ein Fahrzeug von weiter links (wenn vorhanden) nach rechts will. Entsprechend bei Wechsel nach rechts.  
 +  - Wenn vor mir auf meiner Spur Autos, nicht nach rechts auch wenn rechts frei 
 +  - Regeln für zähfließend/Stau 
 +      * frühzeitig gesperrte Spur verlassen (fast alle) 
 +      * bei rechts stehendem Fahrzeug Lücke lassen/langsam werden, bis eingeschert wurde 
 +      * bis zur Sperrung vorfahren (Fahrertyp schnell)      
 +      * direkt vor der Sperrung "rechts vor links" 
 +  - Baustellen 
 +    * dürfen nicht befahren werden!
  
 ===== Fahrer-Typen ===== ===== Fahrer-Typen =====
 +
 +===== zur Implementierung =====
 +==== Beobachten ====
 +  * für die Beobachtung der Umgebung ''street_state'' und ''street_limits'' verwenden
 +    * alle weiteren Infos aus den fahrzeugbezogenen ''[car]'' Variablen holen:
 +      * ''speed''
 +      * ''position''
 +      * ''type''
 +      * ''lane_change''
 +==== Verhalten ====
 +  * das Verhalten aus den "stetigen" Variablen ableiten und für diese festlegen
 +    * (Sicherheits-)abstand zum Vordermann --> auch bei Spurwechsel!
 +    * neue Geschwindigkeit
 +    * neue Position
 +    * neue Spur
 +=== Idee zur Steuerung des Verhaltens ===
 +"Pläne" definieren, die abgearbeitet werden, z.B.
 +    * Plan 0: normales Fahren ohne Überholen
 +    * Plan 1: Überholen und schnellstens nach rechts
 +    * Plan 2: Einfädeln vor Baustellen, in Staus
 +    * usw. 
 +
 +==== Speichern für die Darstellung ====
 +  * in ''calc_pos'' erfolgt nur noch das Mapping auf Gitterzellen ''street_state''
 +    * dabei Doppelbelegungen/Überschreiben verhindern/überwachen (sollte bei Sicherheitsabstand von mind. 5m nicht nötig sein)
 +    * neue Speed in calc_pos setzen. Dazu ist neue Schleife über alle Autos erforderlich. Neue Position über neuen Speed ist so was wie implizites integrieren, über alten Speed ist Euler. Aber: Beschleunigung findet ja auch noch statt (2nd order)
  
  
traffic.1788536012.txt.gz · Zuletzt geändert: von wikiadmin