Querreglung Vorarbeiten
Status Quo
In dem oben beschriebenen Konzept wird zur Bestimmung der Istbahn die Gierrate benötigt. Gemäß der Vorarbeit früherer Teams war das Signal des Gyro-Sensors zeitweise nicht verwendbar. Alternativ wurde daher ein neuer Ansatz zur Bestimmung der Regeldifferenz gewählt. Dabei wird angenommen, dass ohne Stellgrößenberechnung des Reglers das Fahrzeug auf einer Geraden fährt. Dadurch ergibt sich die Vereinfachung dahingehend, dass die prädizierte Istbahn des Fahrzeugs und die aktuelle Ausrichtung identisch sind, also dazwischen keine Querabweichung vorliegt. Als Regeldifferenz ergibt sich somit die Querabweichung der Sollbahn von der aktuellen Ausrichtung des Fahrzeugs. Dieser Ansatz liegt auch jetzt noch vor, obwohl das Gyro-Signal zur Verfügung steht.
Einspurmodell
Für die effektive Nutzung des Offline-Modells in der Simulation ist eine Anpassung des Einspurmodells (ESM) an das Fahrzeug notwendig, damit das Modell der Realität so nah wie möglich kommt. Dazu müssen die einzelnen Parameter des Modells entsprechend bestimmt werden. Die aktuellen Werte sind in den Parameterdateien param_ESM_offline.m und param_CAR.m hinterlegt und werden somit vom Modell verwendet.
Größen des Einspurmodells
Im Folgenden sollen die Parameter des Modells kurz vorgestellt werden.
- Radstand des Fahrzeugs, wird im ESM mit l bezeichnet
- Abstand des Schwerpunktes des Fahrzeuges von dem vordersten Punkt lv
- Abstand des Schwerpunktes des Fahrzeuges von dem hintersten Punkt lh
- Masse des Fahrzeugs m
- Massenträgheitsmoment um die Z-Achse des fahrzeugfesten Koordinatensystems J
- Steifigkeit der Vorderachse cv
- Steifigkeit der Hinterachse ch
Bestimmung der Parameter
Nun wird für die einzelnen Parameter die Bestimmung der jeweiligen Größen vorgestellt.
Radstand l
Der Radstand lässt sich durch eine Messung mit einem Messschieber bestimmen. Es ist dabei der Abstand vom vorderen zum hinteren Achsenmittelpunkt zu messen. Für das Einspurmodell ist die Gesamtlänge, also inklusive der vorderen und hinteren Überhänge, nicht von Bedeutung.
Abstand des Schwerpunktes des Fahrzeuges von den äußeren Punkten lv und lh
Zur Bestimmung der Abstände wird das Fahrzeug an den beiden Achsen mit zwei Waagen gewogen. Aus dem Verhältnis der bestimmten Maßen lässt sich die Lage des Schwerpunktes in Längsrichtung des Fahrzeugs bestimmen.
Masse des Fahrzeugs m
Die Gesamtmasse ergibt sich aus der Summe der zwei zuvor bestimmten Teilmassen.
Massenträgheitsmoment um die Z-Achse Jz
Das Massenträgheitsmoment um die Z-Achse Jz wird bestimmt unter der Annahme, dass das Fahrzeug geometrisch einem Quader ähnelt.
Steifigkeit der Vorderachse cv und der Hinterachse ch
Für die Bestimmung der Steifigkeiten und die Feinjustierung des Modells wird das Fahrzeug, das die Regelstrecke darstellt, mit einer Sprungantwort für einen Sprung des Lenkwinkels analysiert. Dazu wird die Gierrate des Fahrzeugs während des Sprungsignals gemessen. Das ESM lässt sich anhand dieser Messdaten parametrisieren, indem das Übertragungsverhalten des Fahrzeugs den vom Modell errechneten Daten vergleichend gegenübergestellt wird.
Dazu wurde ein separates Modell Einspurmodell_Solo_BSF erstellt, das in der Abbildung Einspurmodell-Solo_BSF zu sehen ist.
Es wurden mehrere Messungen gemacht, diese sind im Ordner trunk/Teams/BSF/Analyse Gierrate zu finden. Für die zuletzt verwendeten Messungen sind die benötigten Variablen in Unterordnern des Ordners trunk/Teams/BSF/Einspurmodell. Für neuere Messungen, die mit dem Recorder_BSF (vgl. Abb. Layout BSF_Regelung links im Bild) erstellt wurden, wurde die Funktion VariablenLaden.m erstellt.
Das Ergebnis der Analyse ist in der Abbildung Gierrate ESM vs Messung dargestellt. Die Daten stammen aus der Messung bsf_014.mat, mit dem Skript VariablenLaden.m lassen sich die notwendigen Vorbereitungen ausführen. In start.m müssen dazu folgende Parameter eingestellt sein:
- Schalter_offline = 1; Offline-Modell
- Simulinkmodus = 1; BSF-Modus
Dann muss nur noch das Modell, vgl. Abb. Einspurmodell-Solo_BSF, ausgeführt und dann der Scope1 geöffnet werden.
Es ist sehr gut ersichtlich, dass ausgenommen des Rauschens, das Einspurmodell und die Messung gut übereinpassen. Die Reglerparametrisierung hat gezeigt, dass seitdem das Verhalten des AMR und die Simulation mit dem ESM nah beieinander liegen.
Die derzeitigen Parameter sind für die Steifigkeit der Vorderachse cv=120*0.35=42 und für die Hinterachse ch=120.
Reglerentwurf
Die Querregelung ist mit einem PID-Regler umgesetzt, der dem Regler der Längsregelung weitgehend entspricht. Die Regelparameter können ebenfalls in der Parameterdatei param_BSF.m über die Parameter PAR_BsfQuer_PAnteil_f64, PAR_BsfQuer_IAnteil_f64 und PAR_BsfQuer_DAnteil_f64 eingestellt werden. Die Parametrisierung im Simulations-Modell konnte nach der Parametrisierung des Einspurmodells erfolgen. Die Stellgröße für den Soll-Lenkwinkel wird durch eine Sättigungsfunktion auf den maximalen Lenkwinkel des Fahrzeugs begrenzt. Die Grenzen können ebenfalls in der Parameterdatei param_BSF.m als Parameter PAR_BsfQuer_max_Lw_f64 und PAR_BsfQuer_min_Lw_f64 festgelegt werden.
Stand Januar 2015
- P-Anteil: 0,16
- I-Anteil: 0
- D-Anteil: 0,00101
Da kein I-Anteil verwendet wird, ist keine Wind-Up-Problematik vorhanden. Es wurde aber analog zur Längsregelung eine Anti-Wind-Up-Strategie implementiert.
Das Fahrzeug folgt so der Bahn, solange eindeutige Polynom-Parameter übertragen werden. Nur bei sehr engen Kurven scheint die Regelung noch zu langsam zu sein. Möglicherweise kann das aber mit dem Verhältnis von Fahrgeschwindigkeit und Vorausschauweite kompensiert werden.
Messungen
Es empfiehlt sich, während der Regler-Parametrisierung bei jeder Fahrt eine Messung aller relevanten Signale aufzunehmen. Dadurch können Signalverläufe und die logische Richtigkeit von Signalen überprüft werden. Dazu wurde in ControlDesk® ein Recorder Recorder_BSF erstellt, vgl. Abbildung Layout BSF_Regelung. Hilfestellungen dazu sind in dem Artikel Messungen mit dSPACE ControlDesk zu finden.
Für die Darstellung der Signale wurde eine Funktion plot_nach_Messung_BSF.m erstellt, mit der in einem Übersichtsplot die wichtigsten Signale angezeigt werden (siehe Abbildung Übersichtsplot Messungen).
In der oberen Fensterleiste wird der Name der Messung mit ausgegeben. An der Ordinaten der Regleranteile werden die Regler-Faktoren mit angezeigt.
ControlDesk®-Layout
Für die Steuerung und Visualisierung des Fahrzeugs bei Parametrisierung der Regler, wurde ein separates Layout in ControlDesk® geschaffen.
Hindernisumfahrung
Konzept
Die Hindernisumfahrung ist so aufgebaut, dass anhand der Objektliste des LIDARs ein Hindernisbit erzeugt wird, mit dem zwischen der Sollvorgabe ohne Hindernis und der Sollvorgabe mit Hindernis umgeschaltet wird. Im Modell ist ein entsprechender Switch-Block Umschalter_Querführung eingefügt, vgl. Abbildung BSFQuer mit Hindernisumfahrung.
Der Ansatz ist, die Sollvorgabe für die Querführung bei Hindernissen um eine Spurbreite nach links zu verschieben, also auf die linke Spur auszuweichen. Es wird dabei im Stateflow-Modell S-Kurve ein Offset erzeugt, dass auf die eigentliche Soll-Querablage aufaddiert wird, vgl. Abbildung Sollvorgabe mit Hindernis.
Der Abstand zum Objekt wird derzeit noch pythagoreisch berechnet, kann in Zukunft aber aus der getriggerten Objektliste aus der Signalaufbereitung verwendet werden. Diese war aber zur Implementierungszeit noch nicht fertig.
Das Stateflow-Modell erzeugt einfach eine statisch definierte S-Kurve. Es wird bei Erreichen eines Abstandes zum Objekt von weniger als zwei Meter das Offset nach links gesetzt. Nach einer gewissen Strecke wird das Offset wieder zurückgesetzt, dann kurzzeitig nach rechts gerichtet und zum Schluss wieder auf null gesetzt. Das Hindernisbit wird während der S-Kurve gesetzt. Das Modell mit den derzeitigen Werten ist in der Abbildung Stateflow-Modell S-Kurve zu sehen.
Simulation
Nachdem erste Tests mit den damaligen ESM- und Regler-Konfigurationen erfolgreich waren, vgl. Abbildung Test Hindernisumfahrung, wurde der Entwurf in das Modell integriert. Der Status der Abbildung ließ sich leider nicht wieder herstellen, möglicherweise lässt sich eine temporäre lokale Dateiversion nicht wiederherstellen. Aus diesem Grund ist hier keine Originaldatei hinzugefügt.
Der derzeitige Stand ist in der Abbildung Hindernisumfahrung zu sehen.
Es ist deutlich zu erkennen, dass der Regler noch zu langsam darauf reagiert. Auch die Werte im Stateflow-Modell werden in Zukunft noch angepasst werden müssen.
→ zurück zum Hauptartikel: BSF - Bahn- und Spurführung