Funktionsweise Fahrzeugfolgemodell Adaptive Cruise Control (ACC)
|
Hinweis: Sie müssen über eine Automotive-Lizenz verfügen. |
Das Fahrzeugfolgemodell Adaptive Cruise Control (ACC) regelt die Längsbewegung autonomer Fahrzeuge. Adaptive Cruise Control (ACC) basiert auf einem Modell, das im Rahmen des Projekts Modellierung des Mischverkehrs von automatisierten und nicht-automatisierten Fahrzeugen auf BAB bei unterschiedlichen Geschwindigkeiten FE DG.0001/2021 der Bundesanstalt für Straßenwesen (BASt) entwickelt wurde. Das Modell bildet einen typischen Abstandsregeltempomat (ACC-Regler) ab, den autonome Fahrzeuge verwenden. Für Modellparameter des ACC können Sie Werte definieren (ACC-Modellparameter definieren).
Themen
- Komponenten des ACC-Reglers
- Zeitlückenregler gleicht Geschwindigkeitsdifferenz und Distanz aus
- Zielbremsungsregler steuert gezielte Verzögerungsvorgänge des Fahrzeugs
- Übergang zwischen Zeitlückenregler und Zielbremsung
- In Stop & Go-Situationen verhindern, dass das Ego-Fahrzeug unnötig anfährt
- Sollgeschwindigkeitsregelung
- Berechnung der gesamten unbegrenzten Beschleunigung
- Ruckbegrenzung verhindert unrealistische Sprünge der Beschleunigung
- Geringste Beschleunigung falls Fahrzeuge oder Objekte innerhalb der Vorausschauweite
- Beschleunigung ohne ACC-Regler dem Interaktionsobjekt entsprechend berechnen
Komponenten des ACC-Reglers
- Zeitlückenregler: regelt das Folgen des Ego-Fahrzeugs hinter einem Vorderfahrzeug (Zeitlückenregler gleicht Geschwindigkeitsdifferenz und Distanz aus)
- Zielbremsungsregler: regelt das Bremsen insbesondere, wenn das Vorderfahrzeug bremst (Zielbremsungsregler steuert gezielte Verzögerungsvorgänge des Fahrzeugs)
- Sollgeschwindigkeitsregelung: regelt die Geschwindigkeit des Ego-Fahrzeugs bei freier Fahrt (Sollgeschwindigkeitsregelung)
Zeitlückenregler gleicht Geschwindigkeitsdifferenz und Distanz aus
Das Ego-Fahrzeug gleicht mit dem Zeitlückenregler seine Geschwindigkeitsdifferenz zum Vorderfahrzeug sowie die fehlende Distanz zum Sicherheitsabstand aus. Es nähert sich diesen exponentiell an.
Der Zeitlückenregler aTG (TG = Zeitlücke) berechnet die Beschleunigung des Ego-Fahrzeugs bei normaler Fahrt hinter dem Vorderfahrzeug:
Dabei ist:
t |
Zeit |
|
Differenz zwischen der Geschwindigkeit des Ego-Fahrzeugs ve und der Geschwindigkeit des Vorderfahrzeugs vf |
|
Distanz zwischen Vorderkante des Ego-Fahrzeugs und Hinterkante des Vorderfahrzeugs |
|
Sicherheitsabstand dsafe von Vorderkante des Ego-Fahrzeugs und Hinterkante des Vorderfahrzeugs |
Folgende Attribute gehen ein. Es gilt:
dstand |
Wunschabstand zum Interaktionsziel im Stillstand
|
τ |
entspricht dem Attribut ACC-Mindestzeitlücke. τ ist das Analogon zu cc1 des Wiedemann 99-Modells. |
Das Attribut Stillstandsabstand für statische Hindernisse hat keine Wirkung beim Folgeverhalten ACC (Fahrverhaltensparameter Folgeverhalten bearbeiten). dstand und τ sind zentrale Größen zur Beeinflussung des Verkehrsflusses. |
|
τd |
entspricht dem Attribut ACC_tau_d |
τv |
entspricht dem Attribut ACC_tau_v. Dieser Parameter bestimmt maßgeblich die Reglerverstärkung und damit das Stabilitätsverhalten. Daher sollte τ_v=μτ mit μ≈0,8…1 gesetzt werden. |
Die Zeitkonstante τv und das Produkt τvτd bestimmen, wie schnell der Ausgleich der Geschwindigkeitsdifferenz zum Vorderfahrzeug sowie die fehlende Distanz zum Sicherheitsabstand stattfindet. Die Geschwindigkeitsdifferenz wird nicht vollständig innerhalb der Zeit τv abgebaut. Die fehlende Distanz wird nicht innerhalb der Zeit v(τvτd) abgebaut. Unter der Annahme keines Abstandsunterschieds oder τv→∞ wird beispielsweise lediglich 1/e ≈ 37 % der anfänglichen Geschwindigkeitsdifferenz in der Zeit τv ausgeglichen.
Sanftere Beschleunigung abhängig von Differenzgeschwindigkeiten und Abständen
Das Ego-Fahrzeug fährt aus Komfortgründen nicht direkt mit aTG(t). Die Beschleunigung wird sanfter bei kleinen Differenzgeschwindigkeiten und/oder kleinen Abständen:
Zielbremsungsregler steuert gezielte Verzögerungsvorgänge des Fahrzeugs
Der Zielbremsungsregler ist notwendig, da der Zeitlückenregler in folgenden Situation nicht ausreicht, um das Ego-Fahrzeug gezielt zu verzögern:
- Der Zeitlückenregler
ist linear abhängig von Geschwindigkeitsdifferenz und Abstand. Deshalb kann der Zeitlückenregler nicht in allen Situationen Kollisionen mit dem Vorderfahrzeug verhindern sowie eine gewisse Mindestverzögerung während der Annäherung an stehende Objekte sicherstellen.
- Der Zeitlückenregler würde zu große Ausschläge der Verzögerung produzieren, wenn das Ego-Fahrzeug ein neues Vorderfahrzeug wahrnimmt und ein große Differenzgeschwindigkeit besteht.
Es werden die folgenden beiden Fälle unterschieden, sobald feststeht, dass das Ego-Fahrzeug eine Zielbremsung durchführen muss (Übergang zwischen Zeitlückenregler und Zielbremsung):
Fall 1:
Das Ego-Fahrzeug bremst nach folgender Formel, wenn es das Vorderfahrzeug erreicht und das Vorderfahrzeug noch in Bewegung ist:
Fall 2:
Das Ego-Fahrzeug bremst nach folgender Formel, wenn es das Vorderfahrzeug erreicht und das Vorderfahrzeug steht:
Dabei wird Formeln aus den kinematischen Bewegungsgleichungen unter Annahme konstanter Beschleunigungen gefolgt, zu diesen jedoch ds und anear,1/2 ergänzt (Ergänzung von ds und a(near,1/2) in a(req,1/2)). Dabei ist:
af |
Beschleunigung des Vorderfahrzeugs |
|
Distanz, die das Vorderfahrzeug bis zum Stillstand zurücklegen wird. Falls das Vorderfahrzeug noch nicht steht, wird angenommen, dass es sich noch im Bremsvorgang (af < 0) befindet. Andernfalls wirkt Fall 1 und df→0 ist undefiniert. |
Die beiden Fälle werden primär anhand der folgenden Zeiten unterschieden: die Zeit, die das Ego-Fahrzeug benötigt, bis es das Vorderfahrzeug erreicht, gegenüber der Zeit, die das Vorderfahrzeug bis zum Stillstand benötigt:
Dabei ist:
tapp(t) = |
Zeit, die das Ego-Fahrzeug benötigt, um das Vorderfahrzeug zu erreichen |
tf→0(t) = |
Zeit, die das Vorderfahrzeug bis zum Stillstand benötigt |
Demnach gilt:
Das Ego-Fahrzeug befindet sich im Fall 1:
- wenn es schneller fährt als das Vorderfahrzeug und dieses beschleunigt
oder
- wenn die Zeit, bis das Ego-Fahrzeug das Vorderfahrzeug erreicht, kürzer ist, als die Zeit, die das Vorderfahrzeug bis zum Stillstand benötigt
Das Ego-Fahrzeug befindet sich im Fall 2:
- wenn das Vorderfahrzeug bremst und schneller ist als das Ego-Fahrzeug, oder:
- wenn die Zeit bis zum Erreichen des Vorderfahrzeugs länger ist als diejenige Zeit, die das Vorderfahrzeug bis zum Stillstand benötigt.
In den undefinierten Fällen wirkt der Zeitlückenregler (Zeitlückenregler gleicht Geschwindigkeitsdifferenz und Distanz aus).
Ergänzung von ds und a(near,1/2) in a(req,1/2)
In a(req,1/2 sind ds und a(near,1/2) ergänzt. Dies dient dazu, in geringer Distanz stromaufwärts des Vorderfahrzeugs oder bei Verletzung des Stillstandabstands dstand die Beschleunigungen auf sinnvolle Werte zu limitieren:
Bevor das Ego-Fahrzeug seine Zielposition und damit die Hinterkante des Vorderfahrzeugs abzüglich dem Stillstandsabstand erreicht, wird im Bereich ds die reine Beschleunigung der Zielbremsung auf den Wert bei der Distanz ds fixiert, jedoch um die zusätzliche Beschleunigung anear,1/2 ergänzt:
- Die zusätzlichen Beschleunigungen anear,1/2 sind Null bei einer Distanz ds und gleich as, sobald das Ego-Fahrzeug seine Zielposition erreicht. Dazwischen wird linear interpoliert.
- as entspricht dem Attribut ACC_a_s.
- ds entspricht dem Attribut ACC_d_s.
Da im Bereich ds vor Erreichen der Zielposition keine normale Zielbremsung mehr durchgeführt wird, bestimmt ds die Zielgenauigkeit des Ego-Fahrzeugs. Vermeiden Sie zu kleine Werte für ds, da ds neben as zusätzlich die maximale Stärke des Verzögerungsvorgangs mitbestimmt: Kleinere Werte für ds können zu deutlich stärkeren Verzögerungen führen, da ds direkt den minimalen Wert des Nenners in areq,1/2 festlegt.
Übergang zwischen Zeitlückenregler und Zielbremsung
Wie oben beschrieben, ist der Zeitlückenregler in folgenden Situationen ungenügend:
- wenn das Vorderfahrzeug steht oder zum Stillstand kommt
- wenn das Ego-Fahrzeug ein neues Vorderfahrzeug wahrnimmt
Den Übergang zwischen Zeitlückenregler und Zielbremsungsregler bildet die Beschleunigung afollow des Ego-Fahrzeugs:
Fall 1 entspricht großer Entfernung bis zur Zielposition:
Die Zeitlückenregelung wirkt, wenn das Ego-Fahrzeug länger als ts,brake benötigt, bis es den Nahbereich ds erreicht (
).
Dabei ist
Damit genügt die Zeitlückenregelung, falls das Ego-Fahrzeug noch relativ weit von seiner Zielposition entfernt ist. Eine Zielbremsung findet nicht statt, denn diese würde unrealistisch schwach ausfallen.
ts,brake entspricht dem Attribut ACC_t_s_brake. Größere Werte führen zum früheren Beginn der Zielbremsung und damit zu schwächeren Verzögerungen.
Fall 2, das Fahrzeug hat das Vorderfahrzeug neu wahrgenommen:
Falls das Fahrzeug ein neues Vorderfahrzeug beispielsweise aufgrund eines Fahrstreifenwechsels plötzlich wahrnimmt, bremst es gezielt mit . Es vermeidet damit große Ausschläge der Beschleunigung, falls große Geschwindigkeitsdifferenzen |Δv| bestehen.
Dabei ist = areq(t). Darin ist der Stillstandsabstand dstand ersetzt durch
:
- Der Zeitpunkt t0 entspricht dabei dem Zeitpunkt, zu dem das Ego-Fahrzeug das Vorderfahrzeug zum ersten Mal wahrnimmt.
- δres entspricht dem Attribut ACC_delta_res.
- vres entspricht dem Attribut ACC_v_res.
Damit wird das Ziel der Zielbremsung kontinuierlich mit der Geschwindigkeit
stromaufwärts relativ zum Stillstandsabstand dstand verschoben. Somit hält das Ego-Fahrzeug mit der Zeit einen immer größeren Abstand ein. Die minimale Geschwindigkeit, mit der diese Verschiebung stattfindet, ist vres. Damit dauert die Verschiebung stromaufwärts auch bei niedrigen Fahrtgeschwindigkeiten vf nicht zu lange.
Das Vorderfahrzeug wird nicht mehr länger als neu wahrgenommen angesehen, sobald .
Die kontinuierliche Vergrößerung des Stillstandabstands führt zu einem stetigen Übergang zum Zeitlückenregler
.
Fall 3, falls weder Fall 1 noch Fall 2 wirkt
Falls weder Fall 1 noch Fall 2 wirkt, ist
.
Dabei ist
mit der Zeit bis zum Stillstand des Vorderfahrzeugs:
Damit ist ρ=1 und das Ego-Fahrzeug fährt mittels Zeitlückenregler , wenn das Vorderfahrzeug länger als die Zeit ts,max bis zu seinem Stillstand benötigt
.
Andernfalls führt das Ego-Fahrzeug eine Zielbremsung areq durch. Diese Zielbremsung erfolgt jedoch erst dann vollständig (ρ=0), wenn das Vorderfahrzeug kürzer als eine Zeit ts,min bis zum Stillstand benötigt (). Zwischen ts,min und ts,max wird linear interpoliert, um einen kontinuierlichen Übergang sicherzustellen.
Der Nenner in wird auf -0,1 m/s2 limitiert, um Nulldurchgänge abzufangen.
Im Falle ts,max = ts,min erfolgt der Übergang stufenförmig.
ts,min entspricht dem Attribut ACC_t_s_min.
ts,max entspricht dem Attribut ACC_t_s_max.
In Stop & Go-Situationen verhindern, dass das Ego-Fahrzeug unnötig anfährt
Damit in Stop & Go-Situationen das Ego-Fahrzeug nicht unnötig anfährt, gilt als Zusatzbedingung für das Anfahren:
. Dabei muss das Ego-Fahrzeug stehen und das Interaktionsobjekt muss ein Fahrzeug sein und nicht beispielsweise ein Stoppschild.
astart entspricht dem Attribut ACC_a_start. Somit ist die Beschleunigung des Ego-Fahrzeugs gegeben durch:
=
Interaktionsobjekt ist ein Fahrzeug, afollow(t), sonstige
In vielen Fällen bestimmt beim Anfahren der Zeitlückenregler die Beschleunigung afollow. Da der Zeitlückenregler
vom Abstand sowie der Geschwindigkeitsdifferenz abhängt, impliziert die Zusatzbedingung mit astart, dass das Ego-Fahrzeug erst dann anfährt, wenn die Distanz und/oder die Geschwindigkeitsdifferenz zum Vorderfahrzeug hinreichend groß ist. Würde das Vorderfahrzeug stehen (vf = 0) und die Standardwerte (τv=1 s, τd=5 s, astart =
) verwendet werden, würde das Ego-Fahrzeug anfahren, wenn seine Distanz am Beginn des Sicherheitsabstandes (Δx-dstand) mindestens 5 m beträgt und zur Hinterkante des Vorderfahrzeugs 10 m, fallsdstand = 5 m. In der Praxis fährt das Ego-Fahrzeug jedoch häufig bereits an, wenn der Abstand kleiner ist, da das Vorderfahrzeug üblicherweise in Bewegung (vf >0) ist und daher der Zeitlückenregler
aufgrund des Beitrags der Geschwindigkeitsdifferenz Δv größer ist.
Sobald das Ego-Fahrzeug anfährt, kann die tatsächlich genutzte Beschleunigung aufgrund der Ruckbegrenzung geringer als astart sein.
Sollgeschwindigkeitsregelung
Falls kein Vorderfahrzeug vorhanden ist oder noch sehr weit entfernt ist, kann das Ego-Fahrzeug auf seine Wunschgeschwindigkeit vdes beschleunigen:
- acc,min entspricht dem Attribut ACC_a_cc_min
- acc,max entspricht dem Attribut ACC_a_cc_max
- Zeitkonstante τ(CC) entspricht ACC_tau_cc
- Falls die Begrenzungen acc,min und acc,max nicht wirken, baut das Ego-Fahrzeug somit 1/e ≈ 37 % der anfänglichen Differenz zur Wunschgeschwindigkeit innerhalb der Zeit τ(CC) ab. Es nähert sich dieser Zeit exponentiell an.
Berechnung der gesamten unbegrenzten Beschleunigung
Zeitlückenregler und Zielbremsungsregler berechnen die Beschleunigung . Der Sollgeschwindigkeitsregler liefert acc(t). Damit ist die Beschleunigung des Ego-Fahrzeugs nach ACC-Regler:
Dies gewährleistet, dass die Aktion durchgeführt wird, die das Ego-Fahrzeug am stärksten beschränkt. acc wird auch dann berechnet und gegebenenfalls berücksichtigt, wenn das Ego-Fahrzeug ein Vorderfahrzeug wahrnimmt. Wenn das Ego-Fahrzeug kein Vorderfahrzeug wahrnimmt, reduziert sich die Beschleunigung auf = acc(t).
acc wird zusätzlich begrenzt:
- nach unten durch die Maximalverzögerung
- nach oben durch das Minimum aus Wunschbeschleunigung und Maximalbeschleunigung.
In die Maximalverzögerung und Maximalbeschleunigung wird die Streckensteigung standardmäßig eingerechnet (Netzeinstellungen für das Fahrzeugverhalten auswählen).
Das Ego-Fahrzeug berücksichtigt gemäß der Attribute Vorausschauweite und Zurückschauweite mehrere Fahrzeuge oder Interaktionsobjekte (Fahrverhaltensparameter Folgeverhalten bearbeiten). Für jedes berücksichtigte Fahrzeug oder Interaktionsobjekt wird acc gemäß den Beschreibungen oben berechnet. Der kleinste berechnete Wert wird für die Beschleunigung verwendet.
Ruckbegrenzung verhindert unrealistische Sprünge der Beschleunigung
Falls das Attribut Ruckbegrenzung ausgewählt ist, wird die Änderung der Beschleunigung (Ruck) begrenzt, um unrealistische Sprünge zu verhindern, beispielsweise, sobald das Ego-Fahrzeug ein Vorderfahrzeug wahrnimmt. Für Zeitschrittweite Δt ist dabei die Beschleunigung des Ego-Fahrzeugs gegeben durch:
Dabei ist:
ae(t-Δt): die tatsächlich verwendete Beschleunigung des Ego-Fahrzeugs aus dem vorherigen Zeitschritt. Damit fährt das Ego-Fahrzeug mit , sofern die Beschleunigungsänderung im Vergleich zum vorherigen Zeitschritt nicht betragsmäßig zu groß ist. Der in einem Zeitschritt erlaubte Ruck ist durch Jmax- bei negativen und Jmax+ bei positiven Änderungen der Beschleunigung beschränkt.
Für positive Änderungen der Beschleunigung gilt:
Folgende Attribute gehen ein:
- J entspricht dem Attribut ACC_J. J. Es wirkt während der normalen Folgefahrt.
- τ(J+) entspricht dem Attribut ACC_tau_J_plus.
- Jmax+ bedeutet, dass der minimal erlaubte positive Ruck gleich J ist. Falls das Ego-Fahrzeug jedoch im vorherigen Zeitschritt gebremst hat (ae (t-Δt)<0), kann ein größerer Ruck erlaubt sein, um eine angemessen schnelle Reaktion zu ermöglichen, falls das Vorderfahrzeug wegfällt und das Ego-Fahrzeug selbst nicht unrealistisch lange weiter bremst. Beispiel: Das Ego-Fahrzeug fährt auf dem mittleren von drei Fahrstreifen. Das Vorderfahrzeug auf dem linken Fahrstreifen wechselt über den mittleren Fahrstreifen stromabwärts des Ego-Fahrzeugs auf den rechten Fahrstreifen und wird dort nicht mehr wahrgenommen.
Für negative Änderungen der Beschleunigung gilt:
Folgende Attribute gehen ein:
- τ(J-) entspricht dem Attribut ACC_tau_J_minus.
- Das rechte Argument des Maximums bewirkt, dass das Ego-Fahrzeug auf Basis der notwendigen starken Verzögerung (areq(t) << ae(t - Δt)) rechtzeitig hinreichend stark bremst, wenn es ein Vorderfahrzeug neu wahrnimmt, welches selbst stark bremst, beispielsweise, während dieses einen Fahrstreifenwechsel durchführt. Würde sich die Verzögerung über längere Zeit aufbauen, könnte dies Kollisionen verursachen. Wenn areq undefiniert ist, entfällt der zweite Term im Maximum Jmax-(t)=J.
Geringste Beschleunigung falls Fahrzeuge oder Objekte innerhalb der Vorausschauweite
In Vissim berücksichtigt das Ego-Fahrzeug innerhalb der Vorausschauweite aus dem Fahrverhalten mehrere Fahrzeuge oder Objekte. Für das Ego-Fahrzeug wird die Beschleunigung aACC abhängig von jedem dieser Fahrzeuge und Objekte wie oben beschrieben berechnet und der kleinste aller Werte als Beschleunigung verwendet.
Beschleunigung ohne ACC-Regler dem Interaktionsobjekt entsprechend berechnen
Vissim wendet den ACC-Regler acc in folgenden Situationen nicht in allen Fällen an:
- das Ego-Fahrzeug selbst führt einen Fahrstreifenwechsel durch
- ein Vorderfahrzeug überholt auf dem gleichen Fahrstreifen
- das Ego-Fahrzeug nimmt einen Langsamfahrbereich wahr
- das Ego-Fahrzeug fährt auf einen Übergang zu einem mesoskopisch simulierten Bereich zu
- das Ego-Fahrzeug zielt auf einen Nothalt
- das Ego-Fahrzeug bremst auf einen Kurvenpunkt hin
Die Beschleunigung des Ego-Fahrzeugs wird stattdessen dem Interaktionsobjekt entsprechend passend berechnet.