Seminaraufgabe SoSe 2021: Einspurmodell Gruppe C
Autoren: Katrin Schöne, Maike Lütkewitte
→ zurück zur Übersicht: "Systems Design Engineering" - Seminaraufgabe SoSe 2021: Einspurmodell“
Einleitung
Die Studierenden des Masterstudiengangs "Business and Systems Engineering" sollen im Rahmen des Moduls "Systems Design Engineering" ein Einspurmodell in MATLAB® und Simulink® entwickeln.
Die Seminararbeitet beinhaltet folgende Ziele und Rahmenbedingungen[1] :
- Modell herleiten
- Lineares Einspurmodell in Simulink erstellen (alle Berechnungen in Simulink)
- Modell parametrieren (alle Parameter per Skript in Matlab laden)
- Modell zur Simulation von Fahrmanövern nutzen
- Nutzung der Matlab-Version 2020a
Vorgehensweise nach dem V-Modell
Die Rahmenstruktur für die Seminararbeit bildet das V-Modell. Dieses teilt sich in einen Entwicklungszweig und einen Test- und Integrationszweig auf, die zusammen die namensgebene V-Struktur bilden[1].
Entwicklungszweig:
- Anforderungsdefintion
- Funktionaler Systementwurf
- Technischer Systementwurf
- Komponentenspezifikation
- Programmierung
Test- und Integrationszweig:
- Komponententest
- Integrationstest
- Systemtest
- Abnahmetest
In dieser Dokumentation wird nur der Entwicklungszweig betrachtet.
Anforderungen
Zunächst werden die Anforderungen an das Projekt definiert, um alle Anforderungen und notwendigen Informationen vom Auftraggeber zu sammeln[1]. Das erarbeitete Lastenheft ist in sechs Kapitel aufgeteilt:
- Allgemeines Vorgehen
- Anforderungen an den strukturellen Aufbau des Modells
- Technische Anforderungen an das Modell
- Anforderungen an Benutzerschnittstellen
- Software / Werkzeuge
- Dokumentaion im HSHL Wiki
Die nachfolgende Tabelle enthält einen Auszug mit den wichtigesten Punkten aus der Anforderungsliste. Das gesamte Dokument kann im SVN eingesehen werden.
ID | Kapitel | Inhalt |
---|---|---|
002 | 1 | Die Seminaraufgabe muss nach dem V-Modell bearbeitet werden. |
004 | 1 | Das Modell zur Fahrzeugsimulation muss hergeleitet werden. |
005 | 1 | Das Modell zur Fahrzeugsimulation muss implementiert werden. |
006 | 1 | Das Modell muss zur Simulation von Fahrmanövern genutzt werden. |
009 | 2 | Das Modell muss in drei Module aufgeteilt werden:
|
010 | 2 | Die Module müssen in sinnvolle Komponenten aufgeteilt werden:
|
017 | 3 | Das lineare Einspurmodell muss folgende Eingangsparameter besitzen:
|
018 | 3 | Die Eigenschaften des Modells (z.B. die Masse des Fahrzeugs) müssen realitätsnah parametriert werden. |
019 | 3 | Es müssen folgende Ausgänge berechnet werden:
|
022 | 4 | Dem Benutzer muss die Möglichkeit gegeben werden, das gewünschte Fahrmanöver durch geeignete Parameter zu beschreiben. |
023 | 4 | Die Ausgangssignale müssen graphisch dargestellt werden. |
025 | 5 | Das lineare Einspurmodell muss in Simulink gebaut werden. |
026 | 5 | Das Modell muss in MATLAB parametriert werden. |
027 | 5 | Es muss die MATLAB-Version 2020a verwendet werden. |
Funktionaler Systementwurf/Technischer Systementwurf
Der funktionale Systementwurf soll die Systemstruktur ermitteln und dabei lösungsneutral sein.
Im Systemplan, der jeder Gruppe zur Verfügung gestellt wurde, gibt es die drei Module Manöversteuerung, Modell und Auswertung[1].
Der folgende technische Systementwurf (vgl. Abb. 1) entstammt diesem funktionalen Systemplan.
In dem Modul "Manöversteuerung" wählt der Benutzer ein Fahrmanöver aus und gibt seine gewünschten Parameter für Fahrzeuglängsgeschwindigkeit und Fahrerlenkwinkel ein. Diese Eingabe wird über eine Benuteroberlfäche (GUI) umgesetzt (vgl. Abb. 2).
Der Eingang für dieses Modul ist die Benutzereingabe, die über die GUI umgesetzt wird. Als Ausgänge sind Fahrzeuglängsgeschwindigkeit und Fahrerlenkwinkel definiert.
Das nachfolgende Modul "Modell" (vgl. Abb. 3) berechnet aus den Eingaben und und den voreingestellten Parametern das Fahrverhalten nach dem linearen Einspurmodell. Es setzt sich aus folgenden Komponenten zusammen:
- Lenkwinkel
- Schwimmwinkel
- Räder
- Karosserie
- Gierwinkel
- Schwerpunktsatz
Komponente | Beschreibung | Eingänge | Ausgänge |
---|---|---|---|
Lenkwinkel | Berechnung des Lenkwinkels für jeweils die Vorder- und Hinterachse | ||
Schwimmwinkel | Berechnung des Schwimmwinkels von Fahrzeug sowie Vorder- und Hinterachse | ||
Räder | Berechnung von Achsschräglaufwinkel und der Querkräfte an den Rädern | ||
Karosserie | Berechnung von Quer-/Längskräfte in Fahrzeugkoordinaten und daraus die angreifenden Kräftesummen im Schwerpunkt | ||
Gierwinkel | Berechnung der Modellgierrate | ||
Schwerpunktsatz | Berechnung der Modellbeschleunigung |
Nach der Berechnung des Fahrverhaltens werden folgende Größen als Ausgänge des Moduls "Modell" ausgegeben:
Die Ausgänge des Modells werden in das Modul "Auswertung" als Eingänge überführt und dort graphisch mit einem Scope dargestellt.
Komponentenspezifikation
Die Komponentenspezifikation definiert die Aufgabe, das Verhalten, den inneren Aufbau und die Schnittstellen der Komponenten[1].
Die Module "Manöverauswahl" und "Auswertung" werden nicht weiter in Komponenten separiert. In beiden Modulen werden keine komplexen Formeln angewendet. Das Modul "Modell" wird, wie im technischen Systemplan beschrieben, in fünf Komponenten unterteilt. Deren Funktionsweise soll im Folgenden mithilfe mathematischer Zusammenhänge erläutert werden. Die Herleitung erfolgt angelehnt an [2].
Lenkwinkel
Die Komponente "Lenkwinkel" befindet sich am Anfang des Moduls "Modell". Sie dient zur Umrechnung der Eingangsgrößen des Moduls, welche aus der Komponente "Manöverauswahl" übergeben werden. Aus dem Fahrerlenkwinkel lässt sich mithilfe eines Übersetzungsfaktors der Lenkwinkel der vorderen Fahrzeugachse berechnen.
Für das Einspurmodell wird eine Vorderachssteuerung des Fahrzeugs bei langsamer Kurvenfahrt vorausgesetzt. Dadurch ergibt sich, dass der Lenkwinkel der Hinterachse 0 ist.
Schwimmwinkel
Die Winkelgeschwindigkeit des Schwimmwinkels lässt sich durch die folgende Formel berechnen:
Die Formel wird aus dem vereinfachten Schwerpunktsatz abgeleitet. Dabei ist die im Schwerpunkt der Hinterachse angreifende Kraft, m die Fahrzeugmasse und die Gierwinkelgeschwindigkeit. Auf den Hintergrund der Vereinfachung des Schwerpunktsatzes wird im Rahmen der entsprechenden Komponente näher eingegangen.
Durch Integration von ergibt sich der Schwimmwinkel des Fahrzeugs . Der Schwimmwinkel der Vorder- und Hinterachse und kann jeweils aus dem Schwimmwinkel des Fahrzeugs , dem Schwerpunktabstand zur Vorder- bzw. Hinterachse bzw. , der Gierwinkelgeschwindigkeit und der Fahrzeuglängsgeschwindigkeit berechnet werden.
Räder
Der Achs-Schräglaufwinkel ist der Winkel zwischen der Reifenlängsachse und dem Geschwindigkeitsvektor des Radmittelpunkts. Daher ergeben sich die Achs-Schräglaufwinkel der Vorder- und Hinterachse und aus der Differenz des jeweiligen Lenk- und Schwimmwinkels.
Basierend auf den Achs-Schräglaufwinkeln lassen sich zusammen mit der jeweiligen Achssteifigkeit und die Querkräfte an den Rädern bzw. Achsen berechnen.
Karosserie
Bei dem linearen Einspurmodell wird von kleinen Winkeln ausgegangen. Daher werden die folgenden Linearisierungen angenommen:
Unter Berücksichtigung dieser Annahmen lassen sich die Quer- und Längskräfte in den Fahrzeugkoordinaten wie folgt bestimmen:
Aus den Kräften in x- und y-Richtung werden jeweils die Kräftesummen und gebildet.
Gierwinkel
Mithilfe des Drallsatzes lässt sich die Gierwinkelbeschleunigung berechnen. Dabei wird die Differenz der Produkte aus dem Schwerpunktabstand zur Vorder- bzw. Hinterachse bzw. und den jeweiligen Querkräften durch die Massenträgheit geteilt.
Durch Integration der Gierwinkelbeschleunigung ergibt sich die Gierwinkelgeschwindigkeit .
Schwerpunktsatz
Der Schwerpunktsatz kann auf Basis der Annahme kleiner Winkel vereinfacht werden, sodass sich die Längsbeschleunigung durch die folgende Formel berechnen lässt:
Die Längsbeschleunigung des Fahrzeugs lässt sich durch Ableitung der Längsgeschwindigkeit berechnen. Für das lineare Einspurmodell wird eine konstante Längsgeschwindigkeit angenommen, daher ist die Längsbeschleunigung 0.
Umsetzung
Im Folgenden wird die Umsetzung des linearen Einspurmodells in MATLAB und Simulink erläutert. Gemäß der Anforderungen wird die Implementierung in der MATLAB Version R2020a vorgenommen.
Parametierung des Modells in MATLAB
Als Einstiegspunkt wird ein MATLAB Skript gewählt. Dieses startet eine graphische Oberfläche zur Eingabe der für das Einspurmodell relevaten Parameter. Die GUI ist in Abb. 4 gezeigt.
Zur Vereinfachung werden dem Benutzer default-Werte vorgegeben, welche bei Belieben verändert werden können. Im Rahmen der Manöverauswahl kann zwischen den folgenden Fahrmanövern gewählt werden:
- Linkskurve
- Rechtskurve
- Slalom
Klickt der Benutzer auf den "Save"-Button, werden die Parameter in einer MAT-Datei gespeichert und die GUI geschlossen. Während der Parametereingabe befindet sich das MATLAB Skript in einer Schleife, welche auf das Schließen der GUI wartet.
Nachdem die GUI geschlossen wurde, lädt das MATLAB Skript die in der MAT-Datei gespeicherten Variablen. Als Vorbereitung auf die im Modell folgenden Rechnungen wird der in Grad eingegebene Fahrerlenkwinkel in Radiant umgerechnet. Im Anschluss wird das Simulink Modell geöffnet.
Umsetzung des Modells in Simulink
Im Folgenden wird auf die Umsetzung der drei Module "Manöverauswahl", "Modell" und "Auswertung" in Simulink eingegangen. Die Grundstruktur des Simulink Modells entspricht dem im Rahmen des technischen Systemplans gezeigten Modell.
Manöverauswahl
In dem Modul "Manöverauswahl" werden die Längsgeschwindigkeit und das Fahrmanöver für das eigentliche Einspurmodell aufbereitet. Die Längsgeschwindigkeit wird aus der Parameterdatei übernommen und kann so an das Modell übergeben werden. Der Fahrerlenkwinkel muss abhängig vom ausgewählten Fahrmanöver modifiziert werden (vgl. Abb. 5).
Wird eine Linkskurve ausgewählt, wird der vom Benutzer eingegebene Lenkwinkel als Sprung zum Zeitpunkt Null an das Modell übergeben. Im Falle einer Rechtskurve wird der Fahrerlenkwinkel mit -1 multipliziert und dann als Sprung analog zu der Linkskurve übergeben. Wird "Slalom" als Fahrmanöver gewählt, wird als Fahrerlenkwinkel eine Sinusschwingung an das Modell übergeben. Die Sinusschwingung besitzt den vom Benutzer eingegebenen Lenkwinkel als Amplitude.
Modell
Das Modul "Modell" besitzt die im Rahmen des Systemplans gezeigte Struktur der Komponenten. In den einzelnen Komponenten sind die in der Komponentenspezifikation beschriebenen mathematischen Zusammenhänge durch Simulink Blöcke umgesetzt. Dies ist in Abb. 6 beispielhaft für die Komponente "Räder" gezeigt.
Die fixen Parameter werden in den Komponenten, in denen sie benötigt werden, direkt als Konstanten aus dem MATLAB Skript geladen.
Auswertung
In dem Modul "Auswertung" werden die Ausgabewerte strukturiert und in einem Scope angezeigt. Das Scope umfasst die folgenden Graphen:
- Beschleunigung des Fahrzeugs in x- und y-Richtung und in m/s
- Summe der Kräfte im Schwerpunkt und in N
- Gierwinkelgeschwindigkeit in m/s
- Schwimmwinkel , und in °
- Achs-Schräglaufwinkel und in °
Die zusammengehörenden Informationen werden über einen Bus zusammengefasst und so an das Scope übergeben. In Abb. 7 ist die Ausgabe des Scopes beispielhaft für eine Linkskurve mit den default-Werten dargestellt.
Ergebnis
Zusammenfassung
Arbeitsergebnisse
Die vollständigen Unterlagen zu der Durchführung befinden sich im SVN.