Seminaraufgabe SoSe 2021: Einspurmodell Gruppe B: Unterschied zwischen den Versionen
(168 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 7: | Zeile 7: | ||
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 | 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 | V-Modell als Werkzeug zur Komplexitätsbeherrschung. Hierfür wurden die Inhalte des Skriptes [[:Datei:Skript Fahrwerkmanagent ProfGöbel.pdf|Fahrwerkmanagement]] in Submodule und zugehörige Komponenten aufgeteilt | ||
und in einem MATLAB 2020a Simulink Modell umgesetzt. | und in einem MATLAB 2020a Simulink Modell umgesetzt. | ||
== Vorgehensweise nach V-Modell == | == Vorgehensweise nach V-Modell == | ||
Wie bereits erläutert wurde die Entwicklung nach dem V-Modell durchgeführt. Dies beinhaltet die | 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. | ||
# Anforderungsdefinition | # Anforderungsdefinition | ||
Zeile 26: | Zeile 24: | ||
# Abnahmetest | # 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 | 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 == | == Anforderungen == | ||
Zunächst | 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. | ||
# Formale Anforderungen | # Formale Anforderungen | ||
Zeile 42: | Zeile 40: | ||
# Modellgrundlagen | # Modellgrundlagen | ||
Das gesamte Lastenheft kann im [https://svn.hshl.de/svn/BSE_SystemsDesignEng/trunk/Projekte/ESM_SS2021/Gruppen/Gruppe%20B/ SVN] eingesehen werden. In | Das gesamte Lastenheft kann im [https://svn.hshl.de/svn/BSE_SystemsDesignEng/trunk/Projekte/ESM_SS2021/Gruppen/Gruppe%20B/ 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). | ||
{| class="mw-datatable" | {| class="mw-datatable" | ||
Zeile 49: | Zeile 48: | ||
! style="font-weight: bold;" | Kapitel | ! style="font-weight: bold;" | Kapitel | ||
! style="font-weight: bold;" | Inhalt | ! style="font-weight: bold;" | Inhalt | ||
|+ style = "text-align: left"|Tabelle 1: Formale Anforderungen aus dem Lastenheft | |+ style = "text-align: left"|''Tabelle 1: Formale Anforderungen aus dem Lastenheft'' | ||
|- | |- | ||
| 001 | | 001 | ||
Zeile 82: | Zeile 81: | ||
|} | |} | ||
== Systementwurf== | == 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. | |||
[[Datei:Technischer Systementwurf Submodule Gruppe B.PNG|left]] | |||
<br clear=all> | |||
''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. | |||
{| class="mw-datatable" | |||
! style="font-weight: bold;" | Parameter | |||
! style="font-weight: bold;" | Beschreibung | |||
! style="font-weight: bold;" | Einheit | |||
|+ style = "text-align: left"|''Tabelle 2: Übergebene Parameter der Submodule'' | |||
|- |height = "80px"| | |||
| <math> \delta_v </math> | |||
| Lenkwinkel Vorderachse | |||
| <math> rad </math> | |||
|- | |||
| <math> \delta_h </math> | |||
| Lenkwinkel Hinterachse | |||
| <math> rad </math> | |||
|- | |||
| <math> _Kv_{Cx} </math> | |||
| Fahrzeuglängsgeschwindigkeit im Fahrzeugschwerpunkt C | |||
| <math> \frac{m}{s} </math> | |||
|- | |||
| <math> _Ka_{Cy} </math> | |||
| Fahrzeugquerbeschleunigung im Fahrzeugschwerpunkt C | |||
| <math> \frac{m}{s^2} </math> | |||
|- | |||
| <math> _Ka_{Cx} </math> | |||
| Fahrzeufglängsbeschleunigung im Fahrzeugschwerpunkt C | |||
| <math> \frac{m}{s^2} </math> | |||
|- | |||
| <math> _KF_{Cy} </math> | |||
| Fahrzeugquerkraft im Fahrzeugschwerpunkt C | |||
| <math> N </math> | |||
|- | |||
| <math> _KF_{Cx} </math> | |||
| Fahrzeuglängskraft im Fahrzeugschwerpunkt C | |||
| <math> N </math> | |||
|- | |||
| <math> \beta </math> | |||
| Schwimmwinkel | |||
| <math> rad </math> | |||
|- | |||
| <math> \beta_v </math> | |||
| Schwimmwinkelanteil Vorderachse | |||
| <math> rad </math> | |||
|- | |||
| <math> \beta_h </math> | |||
| Schwimmwinkelanteil Hinterachse | |||
| <math> rad </math> | |||
|- | |||
| <math> _R\alpha_v </math> | |||
| Schräglaufwinkel Vorderachse | |||
| <math> rad </math> | |||
|- | |||
| <math> _R\alpha_h </math> | |||
| Schräglaufwinkel Hinterachse | |||
| <math> rad </math> | |||
|- | |||
| <math> _K\dot{\psi} </math> | |||
| Gierwinkelrate (Gierwinkelgeschwindigkeit) | |||
| <math> \frac{rad}{s} </math> | |||
|} | |||
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. | |||
= | [[Datei:Technischer Systementwurf Mannoeverauswahl Gruppe B.PNG|left|mini|''Abb. 2: Submodul Mannöversteuerung'']] | ||
<br clear=all> | |||
Als nächstes ist in Abbildung 3 das Submodul Modell dargestellt. | |||
[[Datei:Technischer Systementwurf Modell Gruppe B Legende.png|left|mini|''Abb. 3: Submodul Modell'']] | |||
<br clear=all> | |||
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. | |||
[[Datei:Technischer Systementwurf Auswertung Gruppe B.PNG|left|mini|''Abb. 4: Submodul Auswertung'']] | |||
<br clear=all> | |||
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 == | == Komponentenspezifikation == | ||
== Programmierung == | 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. | |||
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 <ref>Göbel, M.: ''Fahrwerkmanagement Skript'', Ostfalia Hochschule für angewandte Wissenschaften, Version 1.7, 10.06.2020</ref> 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 <math>_KF_{Cy}</math> die im Schwerpunkt der Hinterachse angreifende Kraft, <math>m</math> die Fahrzeugmasse und <math>_K\dot{\psi}</math> die Gierwinkelgeschwindigkeit. | |||
<math>\dot{\beta} = \frac{_KF_{Cy}}{m \cdot _Kv_{Cx}} - _K\dot{\psi} </math> | |||
Durch Integration von <math>\dot{\beta}</math> ergibt sich der Schwimmwinkel des Fahrzeugs <math>\beta</math>. Der Schwimmwinkel der Vorder- und Hinterachse <math>\beta_v</math> und <math>\beta_h</math> kann jeweils aus dem Schwimmwinkel des Fahrzeugs <math>\beta</math>, dem Schwerpunktabstand zur Vorder- bzw. Hinterachse <math>l_v</math> bzw. <math>l_h</math>, der Gierwinkelgeschwindigkeit <math>_K\dot{\psi}</math> und der Fahrzeuglängsgeschwindigkeit <math>_Kv_{Cx}</math> berechnet werden. | |||
<math>\beta_v = \beta + \frac{l_v \cdot _K\dot{\psi}}{_Kv_{Cx}} </math> | |||
<math>\beta_h = \beta - \frac{l_h \cdot _K\dot{\psi}}{_Kv_{Cx}} </math> | |||
=== 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 <math>\alpha_v</math> und <math>\alpha_h</math> aus der Differenz des jeweiligen Lenk- und Schwimmwinkels. | |||
<math>\alpha_v = \delta_v - \beta_v </math> | |||
<math>\alpha_h = \delta_h - \beta_h </math> | |||
Basierend auf den Achs-Schräglaufwinkeln lassen sich zusammen mit der jeweiligen Achsseitensteifigkeit <math>c_v</math> und <math>c_h</math>, die Querkräfte an den Rädern bzw. Achsen berechnen. | |||
<math>_RF_{yv} = c_v \cdot \alpha_v</math> | |||
<math>_RF_{yh} = c_h \cdot \alpha_h</math> | |||
=== 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. | |||
<math>_KF_{xv} \approx \delta_v \cdot _RF_{yv}</math> | |||
<math>_KF_{xh} \approx \delta_h \cdot _RF_{yh}</math> | |||
<math>_KF_{yv} \approx _RF_{yv}</math> | |||
<math>_KF_{yh} \approx _RF_{yh}</math> | |||
Aus den Kräften in x- und y-Richtung werden jeweils die Kräftesummen <math>_KF_{Cx}</math> und <math>_KF_{Cy}</math> gebildet. Durch Einsetzen des vorherigen Zusammenhanges können die folgenden Formeln gebildet werden. | |||
<math>_KF_{Cx} = \delta_v \cdot _RF_{yv} + \delta_h \cdot _RF_{yh}</math> | |||
<math>_KF_{Cy} = _RF_{yv} + _RF_{yh}</math> | |||
Durch das Dividieren der jeweiligen Kräfte mit der Masse des Fahrzeugs ergeben sich die Fahrzeugbeschleunigungen in Quer- und Längsrichtung des Fahrzeugs (y- und x-Richtung). | |||
<math>_Ka_{Cy} = \frac{_KF_{Cy}}{m}</math> | |||
<math>_Ka_{Cx} = \frac{_KF_{Cx}}{m}</math> | |||
Der Schwerpunktabstand der Hinterachse <math>l_h</math> ergibt sich aus der Differenz von dem Radstand <math>l</math> und dem Schwerpunktabstand zur Vorderachse <math>l_v</math>. | |||
<math>l_h = l - l_v </math> | |||
Mithilfe des Drallsatzes lässt sich die Gierwinkelbeschleunigung <math>_K\ddot{\psi}</math> berechnen. Dabei wird die Differenz der Produkte aus dem Schwerpunktabstand zur Vorder- bzw. Hinterachse <math>l_v</math> bzw. <math>l_h</math> und den jeweiligen Querkräften durch die Massenträgheit <math>J_{zz}</math> geteilt. | |||
<math>_K\ddot{\psi} = \frac{l_v \cdot _KF_{yv} - l_h \cdot _KF_{yh}}{J_{zz}}</math> | |||
=== Gierwinkel === | |||
Durch Integration der Gierwinkelbeschleunigung <math>_K\ddot{\psi}</math> ergibt sich die Gierwinkelgeschwindigkeit <math>_K\dot{\psi}</math>. | |||
<math>_K\dot{\psi} = \int{_K\ddot{\psi}}\,dt</math> | |||
== 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. | |||
[[Datei: Parameterskript uebergabe Parameter Gruppe B.png|left|]] | |||
<br clear=all> | |||
''Abb. 5: Übergebene Parameter aus dem Skript'' | |||
Als nächstes werden vier Fahrmannöver definiert, welchen eine spezifische Mannöver ID zugewiesen wird (1 - 4). Hinter diesen IDs sind die folgenden Fahrmannöver hinterlegt. | |||
# Impulsartiges Einlenken (Lenkwinkelsprung) | |||
# Slalomfahrt | |||
# Keine Lenkbewegung | |||
# 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 oder Buchstabe außerhalb des Definitionsraumes eingegeben, 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. | |||
Nachdem die Einstellungen getroffen wurden, führt das Skript das Simulinkmodell mit den getroffenen Einstellungen und übergebenen Parametern aus. Die Ergebnisse der Simulation werden von dem Modell in den MATLAB Workspace zurückgegeben. | |||
Abschließend 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 [https://svn.hshl.de/svn/BSE_SystemsDesignEng/trunk/Projekte/ESM_SS2021/Gruppen/Gruppe%20B/05_Entwicklung/ 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 mit ihren Signalflüssen und unterschiedlichen Bausteinen abgebildet. | |||
[[Datei:Komponente Mannoeverauswahl Gruppe B.PNG|mini|left|''Abb. 6: Komponente Mannöverauswahl'']] | |||
<br clear=all> | |||
In Abbildung 6 lässt sich erkennen, dass die Komponente Mannöverauswahl 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 <math> \delta_h </math> gebildet und zwar mit einem relativen Anteil von dem Lenkwinkel vorne <math>\delta_v</math>. Im Nachgang wurde dieser relative 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 Achs-Schräglaufwinkel <math>\alpha_v</math> und <math>\alpha_h</math> beinhaltet. Außerdem werden den Reifen und somit Achsen, wirkenden Querkräfte <math>_RF_{yv}</math> und <math>_RF_{yh}</math> berechnet. Für die Umsetzung wurden einfache Additions- und Multiplikationsblöcke verwendet. | |||
[[Datei:Komponente Reifen Gruppe B.PNG|mini|left|''Abb. 7: Komponente Reifen'']] | |||
<br clear=all> | |||
Weitergehend beinhaltet die Komponente Karosserie die Berechnungen für die Fahrzeugquer- und längskraft <math>_KF_{Cy}</math> und <math>_KF_{Cx}</math> sowie die Fahrzeugquer- und längsbeschleunigung <math>_Ka_{Cy} </math> und <math>_Ka_{Cx} </math> im Fahrzeugschwerpunkt C. Außerdem wird noch die Gierwinkelbeschleunigung <math>_K\ddot{\psi}</math> berechnet. | |||
[[Datei:Komponente Karosserie Gruppe B.PNG|mini|left|''Abb. 8: Komponente Karosserie'']] | |||
<br clear=all> | |||
Die Komponente Gierdynamik hingegen beinhaltet nur eine einzige Berechnung, nämlich die Integration mit der Gierwinkelbeschleunigung <math>_K\ddot{\psi}</math> zur Gierwinkelrate, bzw. Gierwinkelgeschwindigkeit <math>_K\dot{\psi}</math>. | |||
[[Datei:Komponente Gierdynamik Gruppe B.PNG|mini|left|''Abb. 9: Komponente Gierdynamik'']] | |||
<br clear=all> | |||
Als letzte Komponente wurde die Komponente Schwimmwinkel verwendet. Diese berechnet den Schwimmwinkel <math>\beta</math> mit seinen Anteilen für die Vorder- und Hinterachse <math>\beta_v</math> und <math>\beta_h</math>. | |||
[[Datei:Komponente Schwimmwinkel Gruppe B.PNG|mini|left|''Abb. 10: Komponente Schwimmwinkel'']] | |||
<br clear=all> | |||
Abschließend soll auch noch die hinterlegte Funktionalität in dem Submodul Auswertung gezeigt werden. Da innerhalb dieses Submoduls keine Komponenten verwendet wurden, befinden sich die Bausteine direkt auf der ersten Ebene im Submodul. | |||
[[Datei:Submodul Auswertung Gruppe B.PNG|mini|left|''Abb. 11: Submodul Auswertung'']] | |||
<br clear=all> | |||
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 == | == 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 [https://svn.hshl.de/svn/BSE_SystemsDesignEng/trunk/Projekte/ESM_SS2021/Gruppen/Gruppe%20B/05_Entwicklung/ SVN] abgelegt und kann mit den verschiedenen Einstellungsmöglichkeiten getestet werden. | |||
Durch die Auswahl des ersten Fahrmannövers (Lenkwinkelsprung) mit einer Linkskurve werden die in Abbildung 12 dargestellten Ergebnisse ausgegeben. | |||
[[Datei:Lenkwnkelsprung Linkskurve Ergebnis Gruppe B.jpg|left|mini|''Abb. 12: Simulationsergebnisse Fahrmannöver Lenkwinkelsprung'']] | |||
<br clear=all> | |||
Die Auswahl des zweiten Fahrmannövers erfordert keine Auswahl der Kurve, da eine Slalomfahrt simuliert wird. Das Ergebnis wird in der folgenden Abbildung dargestellt. | |||
[[Datei:Slalomfahrt Erbenis Gruppe B.jpg|left|mini|''Abb. 13: Simulationsergebnisse Fahrmannöver Slalomfahrt'']] | |||
<br clear=all> | |||
== Zusammenfassung == | == 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. | |||
# Impulsartiges Einlenken (Lenkwinkelsprung) | |||
# Slalomfahrt | |||
# Keine Lenkbewegung | |||
# 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 == | == Dokumentation == | ||
Zeile 99: | Zeile 346: | ||
[https://svn.hshl.de/svn/BSE_SystemsDesignEng/trunk/Projekte/ESM_SS2021/Gruppen/Gruppe%20B/ Link zu der Ausarbeitung in SVN] | [https://svn.hshl.de/svn/BSE_SystemsDesignEng/trunk/Projekte/ESM_SS2021/Gruppen/Gruppe%20B/ Link zu der Ausarbeitung in SVN] | ||
== Literaturverzeichnis == | |||
<references/> | |||
---- | ---- | ||
→ zurück zum Hauptartikel: [["Systems Design Engineering" - Seminaraufgabe SoSe 2021: Einspurmodell“]] | → zurück zum Hauptartikel: [["Systems Design Engineering" - Seminaraufgabe SoSe 2021: Einspurmodell“]] |
Aktuelle Version vom 12. Juli 2021, 21:29 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.
- Anforderungsdefinition
- Funktionaler Systementwurf
- Technischer Systementwurf
- Komponentenspezifikation
- Programmierung
- Komponententest
- Integrationstest
- Systemtest
- 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.
- Formale Anforderungen
- Nachhaltigkeit des Programmcodes
- Abgaben des letzten Meilensteins im HSHL Wiki
- Termine und Fristen
- Aufbau
- Teilmodul Mannöversteuerung
- Teilmodul Modell
- Teilmodul Auswertung
- 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 |
---|---|---|---|
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 |
---|---|---|
Lenkwinkel Vorderachse | ||
Lenkwinkel Hinterachse | ||
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 Vorderachse | ||
Schwimmwinkelanteil Hinterachse | ||
Schräglaufwinkel Vorderachse | ||
Schräglaufwinkel Hinterachse | ||
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.
Als nächstes ist in Abbildung 3 das Submodul Modell dargestellt.
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.
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. 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, 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 Achsseitensteifigkeit 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 des vorherigen Zusammenhanges können die folgenden Formeln gebildet werden.
Durch das Dividieren der jeweiligen Kräfte mit der Masse des Fahrzeugs ergeben sich die Fahrzeugbeschleunigungen in Quer- und Längsrichtung des Fahrzeugs (y- und x-Richtung).
Der Schwerpunktabstand der Hinterachse ergibt sich aus der Differenz von dem Radstand und dem Schwerpunktabstand 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
Als nächstes werden vier Fahrmannöver definiert, welchen eine spezifische Mannöver ID zugewiesen wird (1 - 4). Hinter diesen IDs sind die folgenden Fahrmannöver hinterlegt.
- Impulsartiges Einlenken (Lenkwinkelsprung)
- Slalomfahrt
- Keine Lenkbewegung
- 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 oder Buchstabe außerhalb des Definitionsraumes eingegeben, 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.
Nachdem die Einstellungen getroffen wurden, führt das Skript das Simulinkmodell mit den getroffenen Einstellungen und übergebenen Parametern aus. Die Ergebnisse der Simulation werden von dem Modell in den MATLAB Workspace zurückgegeben.
Abschließend 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 mit ihren Signalflüssen und unterschiedlichen Bausteinen abgebildet.
In Abbildung 6 lässt sich erkennen, dass die Komponente Mannöverauswahl 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 relative 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 Achs-Schrä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.
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.
Die Komponente Gierdynamik hingegen beinhaltet nur eine einzige Berechnung, nämlich die Integration mit der Gierwinkelbeschleunigung zur Gierwinkelrate, bzw. Gierwinkelgeschwindigkeit .
Als letzte Komponente wurde die Komponente Schwimmwinkel verwendet. Diese berechnet den Schwimmwinkel mit seinen Anteilen für die Vorder- und Hinterachse und .
Abschließend soll auch noch die hinterlegte Funktionalität in dem Submodul Auswertung gezeigt werden. Da innerhalb dieses Submoduls keine Komponenten verwendet wurden, befinden sich die Bausteine direkt auf der ersten Ebene im Submodul.
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 mit den verschiedenen Einstellungsmöglichkeiten getestet werden.
Durch die Auswahl des ersten Fahrmannövers (Lenkwinkelsprung) mit einer Linkskurve werden die in Abbildung 12 dargestellten Ergebnisse ausgegeben.
Die Auswahl des zweiten Fahrmannövers erfordert keine Auswahl der Kurve, da eine Slalomfahrt simuliert wird. Das Ergebnis wird in der folgenden Abbildung dargestellt.
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.
- Impulsartiges Einlenken (Lenkwinkelsprung)
- Slalomfahrt
- Keine Lenkbewegung
- 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
- ↑ 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“