|
|
(90 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
|
| |
|
| '''Autor:''' Jonas Gerken<br/>
| |
|
| |
| [[Datei:Rundkurs_Null.jpg|mini|400px|Abb. 1: Darstellung des Rundkurses 0]]
| |
|
| |
| Das Ziel dieses Abschnittes besteht darin, einen Ovalen Rundkurs in dem Simulink 3D Editor zu modellieren.
| |
|
| |
| Dazu wird erklärt, was der Simulink 3D Editor ist und wie der Rundkurs in dem Editor modelliert wurde.
| |
|
| |
|
| |
| == '''Simulink 3D-Editor''' ==
| |
|
| |
|
| |
|
| |
| Der Simulink 3D-Editor ist ein wichtiges Tool, das es Entwicklern ermöglicht, 3D virtuelle Umgebungen zu erstellen und zu bearbeiten. Es ist Teil der Simulink 3D Animation-Erweiterung von MathWorks und spielt eine entscheidende Rolle bei der Visualisierung von Simulink-Modellen in einer 3D-Umgebung.
| |
|
| |
| Die Software unterstützt verschiedene 3D-Modellierungsformate, darunter das VRML-Format (Virtual Reality Modeling Language) und das STL-Format (Stereolithography). Durch diese Unterstützung können 3D-Modelle aus anderen Anwendungen in den Simulink 3D-Editor importiert oder von dort exportiert werden. Dies ermöglicht eine nahtlose Integration von Modellen und Szenen aus verschiedenen Quellen und fördert die Wiederverwendbarkeit von vorhandenen Modellen.
| |
|
| |
| Link: [https://de.mathworks.com/products/3d-animation.html?s_tid=srchtitle_site_search_2_simulink%25203d Simulink 3D Animation]
| |
|
| |
| == Plattform erstellen ==
| |
|
| |
| [[Datei:Plattform.jpg|mini|500px|Abb. 2: Plattform]]
| |
|
| |
|
| |
| Der erste Schritt, um den Rundkurs zu erstellen, ist es eine 3D-Plattform zu modellieren, die als Grundlage für die Fahrzeugstrecke dienen soll.
| |
|
| |
|
| |
|
| |
| Für die Plattform wird zunächst der Boden modelliert. Dazu wird eine Box-Node verwendet, die es ermöglicht, eine einfache geometrische Box in der 3D-Szene zu erzeugen. Die Vorgehensweise zur Erstellung einer Box-Node kann in der verlinkten Ressource unter dem Abschnitt "Add Node" nachgelesen werden.
| |
|
| |
| Link: [https://de.mathworks.com/help/sl3d/example-of-building-a-virtual-world-and-connecting-it-to-a-simulink-model.html#bszuo7j: Box-Node erstellen]
| |
|
| |
|
| |
| Nachdem die Box-Node erstellt wurde, kann sie auf die gewünschte Größe angepasst werden, wie in (Abb. 2) gezeigt.
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| [[Datei:Group_Node_erstellen.jpg|mini|500px|Abb. 4: Wand erstellen]]
| |
|
| |
| Um die 3D-Welt besser zu strukturieren, können Group-Nodes genutzt werden. So können alle Elemente eines bestimmten Bereichs unter einer Group-Node zusammengefasst werden.
| |
| Eine Group-Node kann wie folgt erstellt werden (Abb. 3):
| |
|
| |
| # Rechtsklick auf die ROOT-Node
| |
| # Add Node
| |
| # Group
| |
| # Linksklick auf Group
| |
|
| |
|
| |
| [[Datei:Wall_erstellen.jpg|mini|500px|Abb. 4: Wand erstellen]]
| |
|
| |
|
| |
|
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| Nach der Fertigstellung des Bodens der Plattform werden zusätzlich Wände an jeder Seite des Bodens erstellt.
| |
|
| |
| Diese Wände dienen der Abgrenzung der Plattform und werden in Form von Box-Nodes generiert, deren Abmessungen entsprechent der <br/> Plattformseiten angepasst werden. (Abb. 4)
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
| <br/>
| |
|
| |
| == Fahrbahn ==
| |
|
| |
| [[Datei:Indexed_Face_Set_Node_erstellen.jpg|mini|500px|Abb. 5: Indexed_Face_Set_Node_erstellen]]
| |
|
| |
| Zur Erstellung der Fahrbahn und der Fahrbahnabgrenzungen wurde eine sogenannte [http://www.uco.es/investiga/grupos/eatco/automatica/ihm/cursovrml/frmindfs.htm Indexted Face Set-Node] verwendet.
| |
| Mit einer solchen Node können mit Hilfe des vorgegebenen Koordinatensystems verschiedene komplexe Objekte modelliert werden. Das ermöglicht es die Kurven einfacher und präziser zu modellieren.
| |
| Als Vorlage wurde das Beispiel "vr_octavia" genutzt, welches über die Matlab-Console mit dem gleichnamigen Befehl aufgerufen werden kann.
| |
|
| |
| Dazu wird in Abb. 5 erklärt wie eine solche Node erstellt werden kann.
| |
| Die Indexted Face Set-Node wird zudem in einer Group Node erstellt, um alle Teile, die zur Fahrbahn dazugehören, zusammenzufassen.
| |
|
| |
| # Shape-Node in children der Group-Node erstellen (siehe Box-Node erstellen)
| |
| # unter Shape-Node rechtsklick auf Geometry
| |
| # Add Node
| |
| # geometry
| |
| # linksklick auf Indexed Face Set
| |
|
| |
| [[Datei:Fahrbahn.jpg|mini|500px|Abb. 6: Wand erstellen]]
| |
|
| |
| Bei der Erstellung der Fahrbahn werden die Koordinaten aus der bestehenden 2D Simulation verwendet.
| |
| Wenn alle Koordinaten richtig in das Indexted Face Set übertragen wurden, sieht die Fahrbahn im 3D-Editor wie folgt aus. (Abb. 6)
| |
|
| |
|
| |
|
| |
| <br/>
| |
| ----
| |
| → zurück zum Hauptartikel: [[Entwicklung einer 3D-Simulationsumgebung für autonome Fahrzeuge mit MATLAB/Simulink | BA: Entwicklung einer Simulationsumgebung]]
| |