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

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(62 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 Tool zur Komplexitätsbeherrschung. Hierfür wurden die Inhalte des Skriptes [[Datei:Skript Fahrwerkmanagent ProfGöbel.pdf | Fahrwerkmanagement]] in Submodule und zugehörige Komponenten aufgeteilt
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 in die folgenden Schritte, welche an dieser Stelle noch einmal kurz aufgelistet sind.
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 101: Zeile 101:
|- |height = "80px"|
|- |height = "80px"|
| <math> \delta_v </math>
| <math> \delta_v </math>
| Lenkwinkel vorne
| Lenkwinkel Vorderachse
| <math> rad </math>
| <math> rad </math>
|-
|-
| <math> \delta_h </math>
| <math> \delta_h </math>
| Lenkwinkel hinten
| Lenkwinkel Hinterachse
| <math> rad </math>
| <math> rad </math>
|-
|-
Zeile 133: Zeile 133:
|-
|-
| <math> \beta_v </math>
| <math> \beta_v </math>
| Schwimmwinkelanteil vorne
| Schwimmwinkelanteil Vorderachse
| <math> rad </math>
| <math> rad </math>
|-
|-
| <math> \beta_h </math>
| <math> \beta_h </math>
| Schwimmwinkelanteil hinten
| Schwimmwinkelanteil Hinterachse
| <math> rad </math>
| <math> rad </math>
|-
|-
| <math> _R\alpha_v </math>
| <math> _R\alpha_v </math>
| Schräglaufwinkel vorne
| Schräglaufwinkel Vorderachse
| <math> rad </math>
| <math> rad </math>
|-
|-
| <math> _R\alpha_h </math>
| <math> _R\alpha_h </math>
| Schräglaufwinkel hinten
| Schräglaufwinkel Hinterachse
| <math> rad </math>
| <math> rad </math>
|-
|-
Zeile 174: Zeile 174:


Die Komponentenspezifikation definiert die Aufgabe, das Verhalten, den inneren Aufbau und die Schnittstellen der Komponenten.
Die Komponentenspezifikation definiert die Aufgabe, das Verhalten, den inneren Aufbau und die Schnittstellen der Komponenten.
In den Modulen "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).
In den Submodulen Mannöversteuerung und Auswertung werden keine mathematischen Formeln verwendet.
Das Modul "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.
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 ===
=== 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, m die Fahrzeugmasse und <math>_K\dot{\psi}</math> die Gierwinkelgeschwindigkeit.
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>_K\dot{\beta} = \frac{_KF_{Cy}}{m \cdot _Kv_{Cx}} - _K\dot{\psi} </math>
<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.
Durch Integration von <math>_K\dot{\beta}</math> ergibt sich der Schwimmwinkel des Fahrzeugs <math>_K\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>_K\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_v = \beta + \frac{l_v \cdot _K\dot{\psi}}{_Kv_{Cx}} </math>
Zeile 189: Zeile 188:
<math>\beta_h = \beta - \frac{l_h \cdot _K\dot{\psi}}{_Kv_{Cx}} </math>
<math>\beta_h = \beta - \frac{l_h \cdot _K\dot{\psi}}{_Kv_{Cx}} </math>


=== Räder ===
=== 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.
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.
Zeile 198: Zeile 197:




Basierend auf den Achs-Schräglaufwinkeln lassen sich zusammen mit der jeweiligen Achssteifigkeit <math>c_v</math> und <math>c_h</math> die Querkräfte an den Rädern bzw. Achsen berechnen.
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_{yv} = c_v \cdot \alpha_v</math>


<math>_RF_{yh} = c_h \cdot \alpha_h</math>
<math>_RF_{yh} = c_h \cdot \alpha_h</math>


=== Karosserie ===
=== Karosserie ===


Nach dem Skript<ref> Göbel, M.: ''Fahrwerkmanagement Skript'', Ostfalia Hochschule für angewandte Wissenschaften, Version 1.7, 10.06.2020</ref> 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.
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_{xv} \approx \delta_v \cdot _RF_{yv}</math>
Zeile 219: Zeile 217:




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 können die folgenden Formeln gebildet werden.
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_{Cx} = \delta_v \cdot _RF_{yv} + \delta_h \cdot _RF_{yh}</math>
Zeile 226: Zeile 224:




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.
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_{Cy} = \frac{_KF_{Cy}}{m}</math>
Zeile 232: Zeile 230:
<math>_Ka_{Cx} = \frac{_KF_{Cx}}{m}</math>
<math>_Ka_{Cx} = \frac{_KF_{Cx}}{m}</math>


Der Schwerpunkt Abstand der Hinterachse <math>l_h</math> ergibt sich aus der Differenz von dem Radstand  <math>l</math> minus dem Schwerpunkt Abstand zur Vorderachse <math>l_v</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>
<math>l_h = l - l_v </math>
Zeile 244: Zeile 242:


Durch Integration der Gierwinkelbeschleunigung <math>_K\ddot{\psi}</math> ergibt sich die Gierwinkelgeschwindigkeit <math>_K\dot{\psi}</math>.
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 ==
== 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 ===


Das Parameterskript übergibt zunächst alle im Modell benötigten Parameter:
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|]]
[[Datei: Parameterskript uebergabe Parameter Gruppe B.png|left|]]
Zeile 258: Zeile 258:




Es werden 4 Fahrmannöver definiert, welche die Nummer 1-4 zugewiesen wird. Diese sind:
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)
# Impulsartiges Einlenken (Lenkwinkelsprung)
# Slalomfahrt
# Slalomfahrt
Zeile 264: Zeile 264:
# Gleichmäßiges Einlenken
# Gleichmäßiges Einlenken


Zudem wird zwischen Links-und Rechtskurve unterschieden.
Zudem wird zwischen Links- und Rechtskurve unterschieden.  


Es werden Benutzerabfragen eingebaut, welche die Interaktion mit dem Skript bestimmen.
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 Eingaben vom Benutzer werden nur dann übernommen wenn es sich um Eingaben innherb des Definitionsbereiches handelt.Bei den Fahrmannövern ist dieser Definitionsbereich, wie oben zu sehen 1-4. Der Benutzer kann eine freie Eingabe tätigen, wenn nun eine 5 oder eine andere Zahl/Buchstabe außerhalb des Definitionsraumes eingeben wird 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.


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.


Außerdem wird eine dritte Eingabe vom Benutzer gefordert, welche Abfragt ob er eine Darstellung des Simulationsergebnisses wünscht oder nicht.
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 Parameter Modells kann im [https://svn.hshl.de/svn/BSE_SystemsDesignEng/trunk/Projekte/ESM_SS2021/Gruppen/Gruppe%20B/05_Entwicklung/ SVN] eingesehen und ausprobiert werden.
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 ===
=== 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.
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'']]
[[Datei:Komponente Mannoeverauswahl Gruppe B.PNG|mini|left|''Abb. 6: Komponente Mannöverauswahl'']]
<br clear=all>
<br clear=all>


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.  
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 realtive Anteil gleich 0 % gesetzt, da kein Lenkwinkel an der Hinterachse existiert.
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 Achsschrä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.
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'']]
[[Datei:Komponente Reifen Gruppe B.PNG|mini|left|''Abb. 7: Komponente Reifen'']]
Zeile 305: Zeile 305:
<br clear=all>
<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, befindet sich die Bausteine direkt auf der ersten Ebene im Submodul.  
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'']]
[[Datei:Submodul Auswertung Gruppe B.PNG|mini|left|''Abb. 11: Submodul Auswertung'']]
Zeile 314: Zeile 314:
== Ergebnisse ==
== Ergebnisse ==


Die Ergebnisse der Simulation können über das ParameterSkript aufgerufen und angezeigt werden.  
Die Ergebnisse der Simulation können über das Parameterskript aufgerufen und angezeigt werden.  
Im weiteren Verlauf werden zwei Ergebnisse beispielhaft dargestellt.
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 gestartet.
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 wird folgende Grafik ausgegeben.
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]]
[[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 Kurvenart da es eine Slalomfahrt Simuliert. Das Ergebnis wird in der folgenden Grafik dargestellt.
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 330: 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.

  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 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.

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. 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.

  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 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.

Abb. 6: Komponente Mannöverauswahl


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.

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, befinden 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 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.

Abb. 12: Simulationsergebnisse Fahrmannöver Lenkwinkelsprung


Die Auswahl des zweiten Fahrmannövers erfordert keine Auswahl der Kurve, da eine Slalomfahrt simuliert wird. 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“