Seminaraufgabe SoSe 2021: Einspurmodell Gruppe B: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 246: Zeile 246:
== Programmierung ==
== Programmierung ==


Die Programmierung beinhaltetet zwei unterschiedliche Komponenten. Die Simulation erfolgt über das Simulink Modell und die Parameter werden vom Parameterskript aus MATLAB übergeben.  
Die Programmierung beinhaltetet zwei unterschiedliche Komponenten. Die Simulation erfolgt über das Simulink Modell und die Parameter werden mithilfe eines MATLAB Skriptes übergeben.


=== Parameterskript ===
=== Parameterskript ===

Version vom 11. Juli 2021, 22:16 Uhr


Autoren: Björn Schlottke und Dennis Schleicher


Einleitung

Dieser Artikel dokumentiert die Ausarbeitung der Gruppe B im Modul Systems Design Engineering im Sommersemester 2021. Die Aufgabe beinhaltet die Entwicklung des linearen Einspurmodells nach dem V-Modell als Werkzeug zur Komplexitätsbeherrschung. Hierfür wurden die Inhalte des Skriptes Fahrwerkmanagement in Submodule und zugehörige Komponenten aufgeteilt und in einem MATLAB 2020a Simulink Modell umgesetzt.

Vorgehensweise nach V-Modell

Wie bereits erläutert wurde die Entwicklung nach dem V-Modell durchgeführt. Dies beinhaltet die folgenden Schritte, welche an dieser Stelle noch einmal kurz aufgelistet sind.

  1. Anforderungsdefinition
  2. Funktionaler Systementwurf
  3. Technischer Systementwurf
  4. Komponentenspezifikation
  5. Programmierung
  6. Komponententest
  7. Integrationstest
  8. Systemtest
  9. Abnahmetest

Die Schritte 6 - 9 werden in dem vorliegenden Artikel nicht behandelt, weil sie die Testung der Ausarbeitungen von Gruppe J sowie den Abnahmetest des entwickelten Modells durch Prof. Göbel, betreffen. Somit wird lediglich die Entwicklung des Simulinkmodells behandelt.

Anforderungen

Zunächst wurden alle Anforderungen zu denen sich Gruppe B im Rahmen dieser Seminararbeit verpflichtet hat, in einem Lastenheft festgehalten. Hierfür wurde das Lastenheft mit der folgenden Struktur versehen.

  1. Formale Anforderungen
    1. Nachhaltigkeit des Programmcodes
    2. Abgaben des letzten Meilensteins im HSHL Wiki
  2. Termine und Fristen
  3. Aufbau
    1. Teilmodul Mannöversteuerung
    2. Teilmodul Modell
    3. Teilmodul Auswertung
  4. Modellgrundlagen

Das gesamte Lastenheft kann im SVN eingesehen werden. In Tabelle 1 wird ein Auszug aus dem Lastenheft dargestellt. Die Abkürzungen in der Spalte Typ stehen für Inhalt (= I) und Anforderung (= A).


ID Typ Kapitel Inhalt
Tabelle 1: Formale Anforderungen aus dem Lastenheft
001 I 1 Formale Anforderungen
002 A Es muss die Software MATLAB 2020a benutzt werden.
003 A Die Vorgehensweise muss dem V-Modell nach Vorlage von Prof. Göbel entsprechen.
004 A Es muss ein lineares Einspurmodell in MATLAB Simulink erstellt werden.
005 A Für die Erstellung des Modells müssen die Parameter extrahiert und in MATLAB angelegt werden.
006 A Die Parameter müssen nachträglich anpassbar sein.

Technischer Systementwurf

Im folgenden Kapitel wird der gesamte Entwurf des Systems erläutert. An dieser Stelle wird der funktionale Systementwurf aus dem V-Modell übergangen, da er keinen Teil der Seminaraufgabe dargestellt hat. Grundlegend ist das Simulink Modell so aufgebaut, dass es drei Submodule besitzt, welche wiederum weitere Komponenten beinhalten. Innerhalb der Komponenten ist die eigentliche Funktionalität hinterlegt. Diese Struktur wurde für die Bearbeitung der Seminaraufgabe vorgegeben und wurde ebenfalls unter den Anforderungen im Lastenheft festgehalten. Die oberste Ebene dieser Struktur lässt sich in Abbildung 1 erkennen.


Abb. 1: Submodule des Simulinkmodells


Das Submodul Mannöversteuerung besitzt nur eine Komponente, nämlich die Mannöverauswahl. Unter dem Submodul Modell hingegen befinden sich die Komponenten Reifen, Karosserie, Gierdynamik und Schwimmwinkel. Als Letztes besitzt das Submodul Auswertung keine Komponenten. Weitergehend kann erkannt werden, dass die Submodule untereinander Verbindungen besitzen. Somit werden die Parameter aus Tabelle 2 zwischen den Submodulen übergeben.


Parameter Beschreibung Einheit
Tabelle 2: Übergebene Parameter der Submodule
Lenkwinkel vorne
Lenkwinkel hinten
Fahrzeuglängsgeschwindigkeit im Fahrzeugschwerpunkt C
Fahrzeugquerbeschleunigung im Fahrzeugschwerpunkt C
Fahrzeufglängsbeschleunigung im Fahrzeugschwerpunkt C
Fahrzeugquerkraft im Fahrzeugschwerpunkt C
Fahrzeuglängskraft im Fahrzeugschwerpunkt C
Schwimmwinkel
Schwimmwinkelanteil vorne
Schwimmwinkelanteil hinten
Schräglaufwinkel vorne
Schräglaufwinkel hinten
Gierwinkelrate (Gierwinkelgeschwindigkeit)


Weitergehend wurden die Inhalte der Submodule einmal dargestellt. Hierbei handelt es sich um die Ebene auf denen die Komponenten erkennbar sind. Zuerst wurde der Inhalt des Submoduls Mannöversteuerung dargestellt.

Abb. 2: Submodul Mannöversteuerung


Als nächstes ist in Abbildung 3 das Submodul Modell dargestellt.

Abb. 3: Submodul Modell


Es lässt sich direkt erkennen, dass das Submodul Modell die eigentliche Funktionalität des linearen Einspurmodells besitzt und dementsprechend wesentlich komplexer als die anderen Submodule ist. Abschließend wurde noch das Submodul Auswertung in Abbildung 4 dargestellt.

Abb. 4: Submodul Auswertung


In dieser Abbildung lässt sich sehr gut erkennen, dass es sich nur um den technischen Systementwurf handelt, weil noch keine Funktionalität vorhanden ist. Es sind lediglich die Eingänge sowie ein Scope Block zur Darstellung hinterlegt.

Komponentenspezifikation

Die Komponentenspezifikation definiert die Aufgabe, das Verhalten, den inneren Aufbau und die Schnittstellen der Komponenten. In den Submodulen Mannöversteuerung und Auswertung werden keine Mathematischen Formeln verwendet (bei der Mannöversteuerung erfolgt eine Zuweisung des hinteren Lenkwinkels über eine Multiplikation mit 0, diese ist aber trivial). Das Submodul Modell wird, wie im technischen Systemplan beschrieben, in vier Komponenten unterteilt. Deren Funktionsweise soll im Folgenden mithilfe mathematischer Zusammenhänge erläutert werden. Bei der Herleitung wurden die in [1] beschriebenen Formeln verwendet, somit entstammen alle folgenden Herleitungen dieser Literatur.

Schwimmwinkel

Die Formel der Winkelgeschwindigkeit des Schwimmwinkels wird aus dem vereinfachten Schwerpunktsatz abgeleitet. Dabei ist die im Schwerpunkt der Hinterachse angreifende Kraft, m die Fahrzeugmasse und die Gierwinkelgeschwindigkeit.

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.

Reifen

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

Nach dem Skript wird beim linearen Einspurmodell von kleinen Winkeln ausgegangen und damit ergeben sich damit folgende Formeln für die Kräfte in x- und y-Richtung.



Aus den Kräften in x- und y-Richtung werden jeweils die Kräftesummen und gebildet. Durch einsetzen können die folgenden Formeln gebildet werden.


Durch das Dividieren der jeweiligen Kräfte (in x- und y-Richtung) mit der Masse des Fahrzeugs ergeben sich die Fahrzeuglängsbeschleunigungen in x- und y-Richtung.

Der Schwerpunkt Abstand der Hinterachse ergibt sich aus der Differenz von dem Radstand minus dem Schwerpunkt Abstand zur Vorderachse .


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.

Gierwinkel

Durch Integration der Gierwinkelbeschleunigung ergibt sich die Gierwinkelgeschwindigkeit .

Programmierung

Die Programmierung beinhaltetet zwei unterschiedliche Komponenten. Die Simulation erfolgt über das Simulink Modell und die Parameter werden mithilfe eines MATLAB Skriptes übergeben.

Parameterskript

Das Parameterskript übergibt zunächst alle im Modell benötigten Parameter. Dies lässt sich in der folgenden Abbildung erkennen.


Abb. 5: Übergebene Parameter aus dem Skript


Es werden vier Fahrmannöver definiert, welchen die Mannöver ID 1 - 4 zugewiesen wird. Diese sind:

  1. Impulsartiges Einlenken (Lenkwinkelsprung)
  2. Slalomfahrt
  3. Keine Lenkbewegung
  4. Gleichmäßiges Einlenken

Zudem wird zwischen Links- und Rechtskurve unterschieden.

Weitergehend werden Benutzerabfragen eingebaut, welche die Interaktion mit dem Skript bestimmen. Die Eingaben werden nur übernommen, wenn es sich um Eingaben innerhalb des Definitionsbereiches handelt. Bei den Fahrmannövern ist dieser Definitionsbereich, wie oben erkennbar ist, 1 - 4. Der Benutzer kann eine freie Eingabe tätigen. Wird nun eine 5 oder eine andere Zahl/Buchstabe außerhalb des Definitionsraumes eingeben, bekommt der Nutzer eine Fehlermeldung und die Ausführung des Skriptes wird abgebrochen. Die gleiche Vorgehensweise wurde für die Auswahl einer Links- oder Rechtskurve implementiert.

Abgesehen von den bisherigen Eingaben wird noch eine dritte Eingabe vom Benutzer gefordert. Diese ermöglich eine zusätzliche Darstellung der Simulationsergebnisse außerhalb des Simulinkmodells in einer figure. Der gesamte MATLAB-Code des Parameterskripts kann im SVN eingesehen werden.

Simulink Modell

Im Folgenden wird die Umsetzung der im Kapitel Komponentenspezifikation beschriebenen Gleichungen erläutert. Außerdem wird ebenfalls auf die Simulationsmöglichkeiten der unterschiedlichen Fahrmannöver eingegangen, die bereits im Parameterskript abgefragt werden. Um die Funktionsweise des Simulinkmodells verstehen zu können, werden dementsprechend die Komponenten abgebildet und anschließend erläutert.

Abb. 6: Komponente Mannöverauswahl


In der Abbildung lässt sich dementsprechend erkennen, dass die Komponente eine Switch Abfrage für die Variable Mannöver ID beinhaltet. Aufgrund dieser ID werden dann die unterschiedlichen Lenkwinkel Verläufe simuliert. Außerdem wird der Lenkwinkel hinten gebildet und zwar mit einem relativen Anteil von dem Lenkwinkel vorne . Im Nachgang wurde dieser realtive Anteil gleich 0 % gesetzt, da kein Lenkwinkel an der Hinterachse existiert.

Die nächste Komponente ist der Reifen, welche die Umsetzung der Gleichung für die Achsschräglaufwinkel und beinhaltet. Außerdem werden den Reifen und somit Achsen, wirkenden Querkräfte und berechnet. Für die Umsetzung wurden einfache Additions- und Multiplikationsblöcke verwendet.

Abb. 7: Komponente Reifen


Weitergehend beinhaltet die Komponente Karosserie die Berechnungen für die Fahrzeugquer- und längskraft und sowie die Fahrzeugquer- und längsbeschleunigung und im Fahrzeugschwerpunkt C. Außerdem wird noch die Gierwinkelbeschleunigung berechnet.

Abb. 8: Komponente Karosserie


Die Komponente Gierdynamik hingegen beinhaltet nur eine einzige Berechnung, nämlich die Integration mit der Gierwinkelbeschleunigung zur Gierwinkelrate, bzw. Gierwinkelgeschwindigkeit .

Abb. 9: Komponente Gierdynamik


Als letzte Komponente wurde die Komponente Schwimmwinkel verwendet. Diese berechnet den Schwimmwinkel mit seinen Anteilen für die Vorder- und Hinterachse und .

Abb. 10: Komponente Schwimmwinkel


Abschließend soll auch noch die hinterlegte Funktionalität in dem Submodul Auswertung gezeigt werden. Da innerhalb dieses Submoduls keine Komponenten verwendet wurden, befindet sich die Bausteine direkt auf der ersten Ebene im Submodul.

Abb. 11: Submodul Auswertung


Alle zusammengehörigen Signale werden in einem Scope Block in demselben Diagramm ausgegeben und außerdem an den MATLAB Workspace zurückgegeben. Somit können die Simulationsergebnisse auch außerhalb des Simulinkmodells verwendet werden.

Ergebnisse

Die Ergebnisse der Simulation können über das ParameterSkript aufgerufen und angezeigt werden. Im weiteren Verlauf werden zwei Ergebnisse beispielhaft dargestellt. Das Skript ist im SVN abgelegt und kann gestartet.

Durch die Auswahl des ersten Fahrmannövers (Lenkwinkelsprung) mit einer Linkskurve wird folgende Grafik ausgegeben.

Abb. 12: Simulationsergebnisse Fahrmannöver Lenkwinkelsprung


Die Auswahl des zweiten Fahrmannövers erfordert keine Auswahl der Kurve da es eine Slalomfahrt simuliert. Das Ergebnis wird in der folgenden Abbildung dargestellt.

Abb. 13: Simulationsergebnisse Fahrmannöver Slalomfahrt


Zusammenfassung

Im Rahmen der semesterbegleitenden Seminararbeit des Moduls Systems Design Engineering wurde ein lineares Einspurmodell entwickelt und umgesetzt. Dabei wurde die Software MATLAB 2020a Simulink zur Simulation verwendet. Die Vorgehensweise bei der Entwicklung des Modells entsprach dem V-Modell.

Das entwickelte Modell kann vier verschiedene Fahrmannöver simulieren.

  1. Impulsartiges Einlenken (Lenkwinkelsprung)
  2. Slalomfahrt
  3. Keine Lenkbewegung
  4. Gleichmäßiges Einlenken

Der Benutzer kann dabei über das ParamterSkript mit dem Modell interagieren und selbständig, das gewünschte Fahrverhalten, inklusive der gewünschten Richtung (Links- oder Rechtskurve), auswählen. Ungültige Eingaben führen zu einem Abbruch der Ausführung. Weiterhin kann entschieden werden, ob das Ergebnis zusätzlich in MATLAB angezeigt werden soll oder ob die Simulationsergebnisse nur im Simulinkmodell im Submodul Auswertung zu finden sind.

Dokumentation

Link zu der Ausarbeitung in SVN


Literaturverzeichnis

  1. Göbel, M.: Fahrwerkmanagement Skript, Ostfalia Hochschule für angewandte Wissenschaften, Version 1.7, 10.06.2020



→ zurück zum Hauptartikel: "Systems Design Engineering" - Seminaraufgabe SoSe 2021: Einspurmodell“