3D Modellierung eines AlphaBot: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(143 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
[[Kategorie:AlphaBot]]
[[Kategorie:AlphaBot]]
  [[Datei:Alphabot_Modell.png|rechts|mini|500px|Abb. 1: AlphaBot Solid Works]]
  [[Datei:Alphabot_Modell.png|rechts|mini|500px|Abb. 1: AlphaBot Solid Works]]
'''Autoren:''' Sefa Hasan Demiröz<br/>
'''Autor:''' [[Benutzer:Sefa-Hasan_Demiroez| Sefa Hasan Demiroez]]<br/>
'''Betreuer:''' [[Benutzer:Ulrich_Schneider| Prof. Schneider]]<br/>
'''Betreuer:''' [[Benutzer:Ulrich_Schneider| Prof. Schneider]]<br/>
'''Art:''' Praxissemester<br>
'''Art:''' Praxissemester<br>
'''Projektlaufzeit:''' 02.11.2021-20.02.2022
'''Projektlaufzeit:''' 02.11.2021 - 20.02.2022


== Einleitung ==
== Einleitung ==


Dieser Artikel beschreibt die Vorgehensweise zum Erstellen eines repräsentativen Modells für einen Alphabot mit dem Programm Solidworks (siehe Abb.1). Damit ist es die Grundlage für ein Simulationsmodell, um im Weiteren in Webots simuliert zu werden. Essenziel für das Modell sind die Vorgaben, dass es geometrisch so genau wie möglich und bewegungsfähig ist. Um dies zu erreichen muss man sich Gedanken auf die generelle Vorgehensweise machen. Im ersten Schritt wird eine handschriftliche Skizze angefertigt um einen Überblick zu bekommen. Daraufhin muss man klar definieren welche Bauteile beweglich seine sollen, um sie seperat zu modellieren. Die seperaten Bauteilewerden zum Schluss wieder zu einer Baugruppe zusammengefügt und mit Webots verknüpft.
Dieser Artikel beschreibt die Vorgehensweise zum Erstellen eines repräsentativen Modells für einen Alphabot mit dem Programm Solidworks (siehe Abb.1). Damit ist es die Grundlage für ein Simulationsmodell, um im Weiteren in Webots simuliert zu werden. Essenziel für das Modell sind die Vorgaben, dass es geometrisch so genau wie möglich und bewegungsfähig ist. Um dies zu erreichen, muss man sich Gedanken auf die generelle Vorgehensweise machen. Im ersten Schritt wird eine handschriftliche Skizze angefertigt, um einen Überblick zu bekommen. Daraufhin muss man klar definieren welche Bauteile beweglich seien sollen, um sie separat zu modellieren. Die separaten Bauteile werden zum Schluss wieder zu einer Baugruppe zusammengefügt und mit Webots verknüpft.


== Übersicht ==
== Übersicht ==
'''Autor:''' Sefa Hasan Demiröz


=== Notwendige Eigenschaften des Modells ===
=== Aufgabenstellung ===


Für das Modell ist es essenziel mit den genauen geometrischen Maßen zu zeichnen, da ansonsten hinterher in der Realität es zu Fehlern kommen kann, die in der Simulation nicht angezeigt werden. Ebenso wichtig für das Modell ist es beweglich zu sein . Die beiden Räder müssen eine klare Drehbewegung ausführen können und der Sensor muss um 180° drehbar sein. Außerdem ist zu beachten dass man ein Modellierungsprogramm in Betracht zieht welches kompatibel mit dem Simulationsprogramm ist.
Eine Aufgabe innerhalb des Projektes ist es, ein Modell für einen AlphaBot zu erstellen, um es später in einer Simulationsumgebung zu implementieren. Die Simulationsumgebung wird von dem Programm Webots erstellt.


=== Realisierungsmöglichkeiten ===
=== Notwendige Eigenschaften des Modells ===
 
Eine Realisierungsmöglichkeit ist den Alphabot abzumessen und dementsprechend in Solidworks zu verwirklichen. Dadurch, dass der Alphabot eine recht komplexe Geometrie besitzt kann man auch über eine andere Realisierungsmöglichkkeit nachdenken. Eine andere Realisierungsmöglichkeit wäre es wenn man den "Boden" des Alphabot abschraubt und davon ein Foto macht. Dieses Foto kann man in Solidworks mithilfe der Funktion Autotrace nachzeichnen. Mithilfe dieser Funktion kann man ein viele realistischere Abbildung des Alphabot erreichen und zu einem besseren Ergebnis gelangen. Um das Modell auch funktionsfähig zu machen, lassen sich Motoren "implantieren", um die jeweiligen Teile beweglich beziehungsweise drehbar zu machen.
 
 
 
=== Tutorials und Grundlagen für das Arbeiten mit Solidworks ===


Um das Modell zu verwirklichen ist es wichtig sich immerhin mit den Grundlagen von Solidworks vertraut zu machen. Wir haben die Version Solidworks 2019/2020 genutzt.
Für das Modell ist es essenziel mit den genauen geometrischen Maßen zu zeichnen, da ansonsten hinterher in der Realität es zu Fehlern kommen kann, die in der Simulation nicht angezeigt werden. Ebenso wichtig für das Modell ist es beweglich zu sein. Die beiden Räder müssen eine klare Drehbewegung ausführen können und der Sensor muss um 180° drehbar sein. Außerdem ist zu beachten, dass man ein Modellierungsprogramm in Betracht zieht welches kompatibel mit dem Simulationsprogramm ist.


==== Grundlagen Solidworks ====
=== Klärung theoretischer Grundlagen ===


Wenn man das Programm öffnet wird man als erstes gefragt ob man ein Modell zu einem " Teil " oder eine ganze " Baugruppe" erstellen möchte. Ein Teil ist nur Element von vielen aus einer ganzen Baugruppe. Eine Baugruppe ist ein Zusammenschluss von mehreren Teilen.
Wenn man das Programm öffnet wird man als erstes gefragt ob man ein Modell zu einem " Teil " oder eine ganze " Baugruppe" erstellen möchte. Ein Teil ist nur Element von vielen aus einer ganzen Baugruppe. Eine Baugruppe ist ein Zusammenschluss von mehreren Teilen.


Am Anfang des Modellierens stellt sich die Frage ob man das Modell in mehrere Teile unterteilen möchte oder ob man direkt eine in sich geschlossene Baugruppe erstellen möchte (siehe Abb.2). In vielen Fällen ist es leichter die Baugruppe in mehrere Teile zu unterteilen, da man auch in Funktionen von verschiedenen Teilen unterscheiden kann. In unserem Fall hat es mehr Sinn gemacht die Die Baugruppe zu unterteilen, da die Räder eine andere Drehbewegung haben als die Der Sensor.
Am Anfang des Modellierens stellt sich die Frage ob man das Modell in mehrere Teile unterteilen möchte oder ob man direkt eine in sich geschlossene Baugruppe erstellen möchte (siehe Abb.2). In vielen Fällen ist es leichter die Baugruppe in mehrere Teile zu unterteilen, da man auch in Funktionen von verschiedenen Teilen unterscheiden kann. In diesem Projekt hat es mehr Sinn ergeben die Baugruppe zu unterteilen, da das Modell sowohl unbewegliche als auch bewegliche Teile inne hat.
 


  [[Datei:Teil_Baugruppe_Abbildung.png|left|mini|300px|Abb.2: Teil oder Baugruppe Ansicht <nowiki></nowiki>]]
  [[Datei:Teil_Baugruppe_Abbildung.png|left|mini|300px|Abb.2: Teil oder Baugruppe Ansicht <nowiki></nowiki>]]
Zeile 40: Zeile 32:
<br clear = all>
<br clear = all>


Nachdem man sich nun entschieden hat ein Teil oder eine Baugruppe zu erstellen öffnet sich ein neues Fenster. In der Mitte des Fensters (vergleiche Abb.3) ist der Arbeitsplatz wo das Modell erstellt wird. Dieser Arbeitsplatz ist eingeteilt in verschiedenen Bereichen. Der größte Bereich befindet sich in der Mitte und dient dem Visualisieren der Zeichnung.
Nachdem man sich nun entschieden hat ein Teil oder eine Baugruppe zu erstellen öffnet sich ein neues Fenster. In der Mitte des Fensters (vergleiche Abb.3) ist der Graphikbereich, wo das Modell erstellt wird. Der Graphikbereich dient dazu das Modell abzubilden. Mithilfe des Scrollrades kann man das Modell von verschiedenen Winkeln betrachten. Wichtig ist, dass man das Scrollrad gedrückt hält und die Maus in gewünschter Richtung bewegt.
 


  [[Datei:Solidworks_Arbeitsplatz_Graphikbereich.png|left|mini|300px|Abb.3: Graphikbereich <nowiki></nowiki>]]
  [[Datei:Solidworks_Arbeitsplatz_Graphikbereich.png|left|mini|300px|Abb.3: Graphikbereich <nowiki></nowiki>]]
Zeile 47: Zeile 38:
<br clear = all>
<br clear = all>


Überhalb des Graphikbereichs befinden sich die Werkzeuge für das Erstellen des Modells. Die Werkzeuge werden in verschiedenen Anwendungen unterschieden welche man über die Registerkarten erreichen kann. Die Hauptsächlich relevanten Anwendungen sind die "Skizze" , "Features" und "Solidworks Zusatzanwendungen".  
Überhalb des Graphikbereichs befinden sich die Werkzeuge für das Erstellen des Modells (siehe Abb.4). Die Werkzeuge werden in verschiedenen Anwendungen unterschieden, welche man über die Registerkarten erreichen kann. Die hauptsächlich relevanten Anwendungen sind die "Skizze", "Features" und "Solidworks Zusatzanwendungen".  


[[Datei:Solidworks_Arbeitsplatz_Anwendungszentrale.png|left|mini|300px|Abb.4: Anwendungszentrale <nowiki></nowiki>]]
[[Datei:Solidworks_Arbeitsplatz_Anwendungszentrale.png|left|mini|300px|Abb.4: Anwendungszentrale <nowiki></nowiki>]]


<br clear = all>
<br clear = all>


Um nun die Zeichnung zu starten, muss man eine Ebene auswählen in der die Zeichnung sich befinden soll. Typischerweise bevorzugt man die Ebene vorne, da man hinterher einen besseren Blick auf die Zeichnung hat. Die Ebene wird auf der linken Seite des Bildschirmes ausgewählt. Nachdem die Ebene ausgewählt wurde, kann man über das Werkzeug "Skizze" auf elementare Geometrieen wie zum Beispiel Linie oder Viereck zu greifen. Wichtig ist, dass man in Solidworks alle relevanten Längen bemaßt. Ohne eine präzise Bemaßung der Zeichnung lassen sich zukünftige Features nicht anwenden. Das Bemaßen findet man ebenso unter dem Werkzeug "Skizze" als "Intilligente Bemaßung". Man erkennt eine richtig bemaßte Zeichnung anhand der Beschreibung als "voll definiert" unten rechts. Ebenso werden die Kanten der Zeichnung schwarz gefärbt.
Um nun die Zeichnung zu starten, muss man eine Ebene auswählen, in der die Zeichnung sich befinden soll. Typischerweise bevorzugt man die Ebene vorne, da man hinterher einen besseren Blick auf die Zeichnung hat. Die Ebene wird auf der linken Seite des Bildschirmes ausgewählt. Nachdem die Ebene ausgewählt wurde, kann man über das Werkzeug "Skizze" auf elementare Geometrien wie zum Beispiel Linie oder Viereck zu greifen. Wichtig ist, dass man in Solidworks alle relevanten Längen bemaßt. Ohne eine präzise Bemaßung der Zeichnung lassen sich zukünftige Features nicht anwenden. Das Bemaßen findet man ebenso unter dem Werkzeug "Skizze" als "Intelligente Bemaßung". Man erkennt eine richtig bemaßte Zeichnung anhand der Beschreibung als "voll definiert". Ebenso werden die Kanten der Zeichnung schwarz gefärbt (vergleiche Abb.5).


[[Datei:Voll_definierte_Zeichnung.png|left|mini|300px|Abb.5: Voll definierte Zeichnung <nowiki></nowiki>]]
[[Datei:Voll_definierte_Zeichnung.png|left|mini|300px|Abb.5: Voll definierte Zeichnung <nowiki></nowiki>]]
Zeile 59: Zeile 51:
<br clear = all>
<br clear = all>


Mithilfe des Features "linear ausgetragener Aufsatz" lassen sich zwei dimensionale Zeichnungen in 3 dimensionale Körper überführen. Die Dicke kann man links im Menü daraufhin einstellen.
Mithilfe des Features "linear ausgetragener Aufsatz" lassen sich zweidimensionale Zeichnungen in 3 dimensionale Körper überführen. Die Dicke kann man im Menü daraufhin einstellen (Vergleiche Abb.6).
[[Datei:Körper_Ausgetragen.PNG|left|mini|300px|Abb.6: Körper austragen <nowiki></nowiki>]]
[[Datei:Körper_Ausgetragen.PNG|left|mini|300px|Abb.6: Körper austragen <nowiki></nowiki>]]


Zeile 66: Zeile 58:
==== Autotrace ====
==== Autotrace ====


Autotrace ist eine Funktion, um schwer umsetzbare und komplizierte Gemoetrien einfach zu modellieren. Damit man die Funktion nutzen kann, wird ein Bild benötigt. Dieses Bild dient als Vorlage, um anhand der Kanten der Fläche die Form zu realisieren. In unserem Fall kann man die "Grundfläche" des Alphabots aufschrauben und davon ein Foto machen, damit  man Autotrace nutzen kann. Ein hilfreiches Tutorial für die Anwendung und Nutzung von Autotrace findet man hier [https://www.youtube.com/watch?v=PdwHgCvzIG8].
Autotrace ist eine Funktion, um schwer umsetzbare und komplizierte Geometrien einfach zu modellieren. Damit man die Funktion nutzen kann, wird ein Bild benötigt. Dieses Bild dient als Vorlage, um anhand der Kanten der Fläche die Form zu realisieren (vergleiche Abb.7). Für den Fall eines AlphaBots kann man die "Grundfläche" des AlphaBots aufschrauben und davon ein Foto machen, damit  man Autotrace nutzen kann. Ein hilfreiches Tutorial für die Anwendung und Nutzung von Autotrace findet man hier [https://www.youtube.com/watch?v=PdwHgCvzIG8]. Im Folgenden wurde jedoch auf diese Feature verzichtet, da man mit der aktuellen Version von Solidworks nicht darauf zugreifen kann. Anhand des Videos kann man erkennen, dass Autotrace mit Solidworks 2014 funktioniert. Aus diesem Grund wäre es ratsam die alte Version von 2014 herunterzuladen, um die bestmögliche Genauigkeit zu erreichen. Anstelle dessen wurde auf eine vereinfachte Form des AlphaBots zurückgegriffen.


[[Datei:Alphabot_Grundfläche.jpg|left|mini|300px|Abb.7: Alphabot Grundfläche <nowiki></nowiki>]]
[[Datei:Alphabot_Grundfläche.jpg|left|mini|300px|Abb.7: Alphabot Grundfläche <nowiki></nowiki>]]


<br clear = all>
<br clear = all>
=== Lösungswege ===
Eine Möglichkeit den AlphaBot zu realisieren ist, die komplizierte Geometrie ohne Vereinfachungen abzuzeichnen. Jedoch muss man sehr präzise abmessen und die nötige Erfahrung mit Solidworks haben, um die Grundfläche perfekt nachzubilden. Aus diesem Grund ist es anfängerfreundlicher die Geometrie des AlphaBots zu vereinfachen, obwohl man nicht die höchstmögliche Genauigkeit erhält.
Eine weitere Möglichkeit den AlphaBot in Modellform zu verwirklichen, bietet das Feature "Autotrace". Mithilfe dieser Funktion bekommt man eine höhere Genauigkeit, jedoch kann man darauf in der Solidworksversion 2020 nicht zugreifen.
==== Begründüng des Lösungsweges ====
Dadurch, dass man auf die Funktion Autotrace nicht zugreifen konnte und es an praktischer Erfahrung mit Solidworks gefehlt hat, wurde der 3. Lösungsweg als ausreichende Alternative ausgewählt.


=== Schritt für Schritt Erklärung zu dem fertigen Modell ===
=== Schritt für Schritt Erklärung zu dem fertigen Modell ===


Vor dem Arbeiten mit dem Programm ist es empfehlenswert eine handschriftliche Skizze der Zeichnung anzufertigen, um einen besseren Überblick zu bekommen. Für diesen Schritt ist es notwendig alle Maße des Alphabots präzise abzumessen und ordnungsgerecht einzutragen. In unserem Fall haben wir jeweils eine Skizze für die Grundfläche, für die Räder und den Sensor erstellt. Dementsprechend haben wir auch 3 verschiedene Bauteile gehabt die wir hinterher zu einer Baugruppe definiert haben. Die Folgende Anleitung beschreibt Schritt für Schritt wie wir von unserer Skizze zu dem späteren Modell gelangt sind.
Vor dem Arbeiten mit dem Programm ist es empfehlenswert eine handschriftliche Skizze der Zeichnung anzufertigen, um einen besseren Überblick zu bekommen. Für diesen Schritt ist es notwendig alle Maße des AlphaBots präzise abzumessen und ordnungsgerecht einzutragen. Wichtig sind die Skizzen für die Grundfläche, die Räder und des Sensors des AlphaBots. Dementsprechend wurden auch 3 verschiedene Bauteile erstellt, die man hinterher zu einer Baugruppe definieren muss. Die Folgende Anleitung beschreibt Schritt für Schritt wie man von einer einfachen Skizze zu dem späteren Modell gelangt.
 
1. Grundfläche skizzieren und bemaßen (Abb.8)
[[Datei:Alphabot Grundfläche Sizze.PNG|left|mini|400px|Abb.8: Grundläche Skizze <nowiki></nowiki>]]
 
<br clear = all>
 
2. Das Werkzeug " Linear ausgetragener Aufsatz" verwenden (Abb.9)
[[Datei:Alphabot Grundfläche linear ausgetragen.PNG |left|mini|400px|Abb.9: Grundläche ausgetragen <nowiki></nowiki>]]
 
<br clear = all>
 
3. Säulen skizzieren (Abb.10)
 
[[Datei:Turmsäulen_Grundfläche.PNG|left|mini|400px|Abb.10: Säulen Fläche <nowiki></nowiki>]]
 
<br clear = all>
 
4. Säulen linear austragen (Abb.11)
[[Datei:Turmsäulen linear ausgetragen.PNG|left|mini|400px|Abb.11: Säulen linear ausgetragen <nowiki></nowiki>]]
<br clear = all>
 
Nachdem man nun die Grundfläche zusammen mit den Säulen fertig modelliert hat, muss man eine neue Skizze anfangen. Die neue Skizze beschäftigt sich mit der Ablagefläche des Sensors.
 
5. Ablagefläche für den Sensor erstellen (Abb.12)
 
[[Datei:Ablagefläche_Sensor.PNG|left|mini|400px|Abb.12: Ablagefläche Skizze <nowiki></nowiki>]]
<br clear = all>
 
6. Ablagefläche linear austragen (Abb.13)
[[Datei:Ablagefläche Sensor ausgetragen.PNG|left|mini|400px|Abb.13: Ablagefläche linear ausgetragen <nowiki></nowiki>]]
<br clear = all>
 
7. Kontaktkörper erstellen (Abb.14)
[[Datei:Ablagefläche_sensor_quadrat.PNG|left|mini|400px|Abb.14: Kontaktkörper Grundfläche <nowiki></nowiki>]]
<br clear = all>
 
8. Kontaktkörper linear austragen (Abb.15)
[[Datei:Ablagefläche sensor quadrat ausgetragen.PNG|left|mini|400px|Abb.15: Kontaktkörper linear ausgetragen <nowiki></nowiki>]]
<br clear = all>
 
Nun ist der unbewegliche Teil des Alphabets fertig skizziert. Es müssen nur noch die 2 Teile miteinander verbunden werden. Dies geschieht durch das Öffnen einer neuen Skizze, dieses mal aber als "Baugruppe". Innerhalb dieser Skizze müssen die zwei Bauteile eingefügt werden. Daraufhin werden die zwei Bauteile (vergleiche Abb.16/17) mit der Funktion "Verknüpfung" verbunden. Wichtig ist, dass man das Feature "deckungsgleich" verwendet und dass Flächen nur mit Flächen und Kanten nur mit Kanten verknüpft werden sollten.
[[Datei:Fertiger_body.PNG|left|mini|400px|Abb.16: Body ohne Kontaktkörper <nowiki></nowiki>]]
[[Datei:Ablagefläche.PNG|right|mini|300px|Abb.17: Ablagefläche <nowiki></nowiki>]]
<br clear = all>
In Abb.18 sieht man den fertigen Body.
[[Datei:Fertiger body Verknüpfung.PNG|left|mini|400px|Abb.18: Fertiger Body <nowiki></nowiki>]]
<br clear = all>
 
Als nächstes werden die beweglichen Teile des AlphaBots modelliert.
 
9. Reifen skizzieren (Abb.19)
[[Datei:Reifen Grundfläche.PNG|left|mini|400px|Abb.19: Reifen Grundfläche <nowiki></nowiki>]]
<br clear = all>
10. Reifen linear austragen (Abb.20)
[[Datei:Reifen linear augetragen.PNG|left|mini|400px|Abb.20: Reifen linear ausgetragen <nowiki></nowiki>]]
<br clear = all>
11. Sensor Grundfläche skizzieren (Abb.21)
[[Datei:Sensor Grundfäche.PNG|left|mini|400px|Abb.21: Sensor Grundfläche <nowiki></nowiki>]]
<br clear = all>
12. Sensor Grundfläche linear austragen (Abb.22)
[[Datei:Sensor Grundfläche ausgetragen.PNG|left|mini|400px|Abb.22: Sensor Grundfläche linear ausgetragen <nowiki></nowiki>]]
<br clear = all>
13. Sensorhalterung skizzieren (Abb.23)
[[Datei:Sensorhalterung Grundfläche.PNG|left|mini|400px|Abb.23: Sensorhalterung Fläche <nowiki></nowiki>]]
<br clear = all>
14. Sensorhalterung linear austragen (Abb.24)
[[Datei:Sensorhalterung ausgetragen.PNG|left|mini|400px|Abb.24: Sensorhalterung linear ausgetragen <nowiki></nowiki>]]
<br clear = all>
15. Sensoren skizzieren (Abb.25)
[[Datei:Sensor vorne zeichnung.PNG|left|mini|400px|Abb.25: Sensor <nowiki></nowiki>]]
<br clear = all>
16. Sensoren linear austragen (Abb.26)
[[Datei:Sensor vorne ausgetragen.PNG|left|mini|400px|Abb.26: Sensor linear ausgetragen <nowiki></nowiki>]]
<br clear = all>
 
Im letzten Schritt werden alle drei Bauteile wieder verknüpft, analog zu der vorher erklärten Vorgehensweise. Man erhält somit den fertigen Alphabot.(vergleiche Abb.27)
[[Datei:Alphabot_Modell.png|links|mini|400px|Abb. 27: AlphaBot Solid Works]]
<br clear = all>
 
==== Bewegungsstudie in Solidworks ====


# Grundfläche skizzieren und bemaßen
Nachdem man das Modell fertig modelliert hat, kann man mithilfe der Funktion "Bewegungsstudie" überprüfen, ob sich die Teile wie gewünscht bewegen. Eine Einführung zu der Funktion "Bewegungsstudie findet man hier[https://www.youtube.com/watch?v=uAQftVDLUi8].
# Das Werkzeug " Linear ausgetragener Aufsatz" verwenden
 
# Räder skizzieren und austragen
Es folgt ein Video zu einer Bewegungsstudie des Projekts.
# Sensor skizzieren und austragen
 
# Baugruppe erstellen und alle Teile miteinander verknüpfen
[[File:Alphabot Bewegungsstudie 1.webm|start=1|end=13|Bewegungsstudie AlphaBot]]
# Bewegliche Teile bestimmen und Motor integrieren
# Checken ob der Bewegungsablauf wie gewünscht ist


=== Modell mit Webots verknüpfen ===
=== Modell mit Webots verknüpfen ===


Das Modell lässt sich einfach mit Webots verknüpfen. Um es zu verknüpfen ist es erforderlich das Modell in einer der folgenden Dateiformen abzuspeichern.
Das Modell lässt sich einfach mit Webots verknüpfen. Um es zu verknüpfen ist es erforderlich das Modell in einer der folgenden Dateiformate abzuspeichern (vergleiche Abb.28).


[[Datei:Webots_3D-Modell.PNG|left|mini|300px|Abb.8: Teil oder Baugruppe Ansicht <nowiki></nowiki>]]
[[Datei:Webots_3D-Modell.PNG|left|mini|300px|Abb.28: Wählbare Dateiformate <nowiki></nowiki>]]


<br clear = all>
<br clear = all>


In unserem Fall haben wir die Dateiform wrl benutzt. Nachdem man das Modell in der richtigen Dateiform gespeichert hat muss man nun in Webots auf den über den Reiter "File" auf "Import 3D-Modell".
In unserem Fall haben wir die Dateiform wrl benutzt. Nachdem man das Modell in der richtigen Dateiform gespeichert hat muss man nun in Webots auf den über den Reiter "File" auf "Import 3D-Modell"(vergleiche Abb.29).


<br clear = all>
<br clear = all>


[[Datei:Import_3D-Modell.png|left|mini|100px|Abb.9: Teil oder Baugruppe Ansicht <nowiki></nowiki>]]
[[Datei:Import_3D-Modell.png|left|mini|100px|Abb.29: Import 3D-Modell <nowiki></nowiki>]]


<br clear = all>
<br clear = all>


Wichtig zu beachten ist hierbei, dass man auch hier die beweglichen Teile des Alphabots einzeln einfügt, da sich später nur diese Teile sich drehen sollen und. Also haben wir im Prinzip 3 verschiedene Bauteile. Der "Body" der starr bleibt und sich in keiner Art und Weise bewegt und die Reifen die sich drehen müssen genauso wie der Sensor.
Wichtig zu beachten ist hierbei, dass man auch hier die beweglichen Teile des AlphaBots einzeln einfügt, da sich später nur diese Teile sich drehen sollen und. Also sind es Prinzip 3 verschiedene Bauteile. Der "Body" der starr bleibt und sich in keiner Art und Weise bewegt und die Reifen, die sich drehen müssen, genauso wie der Sensor.
 
Nachdem man nun alle Bauteile mit Webots verknüpft hat fehlt es nur noch die Bauteile miteinander zu fixieren und den Motor in die Räder zu implementieren. Man fixiert die Bauteile mit der "anchor" node. Den Motor fügt man mithilfe eines "Hingejoints" hinzu. Der Hingejoint wird nur für die beweglichen Teile hinzugefügt.
Wenn man alle Schritte einhält, dann ist man in der Lage mithilfe eines Controllers dafür sorgen können, dass das Modell sich wie gewünscht bewegt.
 
In der Abb. 30  wird ein Beispiel Code gezeigt, in dem sich das AlphaBot-Modell geradlinig bewegt.


Nachdem man nun alle Bauteile mit Webots verknüpft hat fehlt es nur noch die Bauteile miteinander zu fixieren und den Motor in die Räder zu implementieren. Wenn man alle Schritte wie befolgt einhält, dann ist man in der Lage mithilfe eines Controllers dafür sorgen können, dass das Modell sich wie gewünscht bewegt.
[[Datei:Controller_Webots1.PNG|left|mini|400px|Abb.30: Controller Code <nowiki></nowiki>]]
<br clear = all>


=== Bericht unseres Modells ===
Bei dem Programmieren eines Codes ist es wichtig die beweglichen Teile im ersten Schritt zu definieren. Daraufhin wird die Geschwindigkeit nach belieben eingestellt. In Abb. 30 erkennt man, dass die Geschwindigkeit negativ ist. Dies ist durch die Ausrichtung des Koordinatensystems zu begründen.


Es folgt ein Video zur Veranschaulichung des Beispielcodes.


[[File:AlphaBot 2.webm|start=1|end=7|Bewegungsstudie AlphaBot]]


----
=== Demo/Ergebnis ===
→ zurück zum Hauptartikel: [[Praxissemester_Projektteam_WS2021|Praxissemester Projektteam WS2021]]=== Dokumentation ===
Das fertige CAD-Modell erreicht man hier.[[Datei:Fertiges Modell mit Drehung.SLDASM]]


=== Demo ===
=== Software ===
=== Software ===
Solidworks 2013-2014 [https://www.solidworks.de/sw/education/education-edition-2013-2014-overview.htm]
Webots [https://cyberbotics.com/]
Solidworks 2020 [https://ccm.net/download/download-25970-solidworks]


== [[Zusammenfassung_Praxissemester_Demiroez|Zusammenfassung]] ==
== [[Zusammenfassung_Praxissemester_Demiroez|Zusammenfassung]] ==


Schreiben Sie die folgenden Punkte in einen Unterartikel, der Zusammenfassend beschreibt, was Sie gemacht haben und was Sie im Praxissemester auch in Bezug auf Ihr Studium gelernt haben. Welche Kompetenzen konnten Sie weiter entwickeln?
Zusammenfassend lässt sich sagen, dass der AlphaBot erfolgreich modelliert und in eine Webots Umgebung implementiert wurde. Dieser Schritt ist notwendig, um in den nächsten Schritten einen Code zu schreiben, der dem AlphaBot es ermöglicht autonom zu fahren. Die bei dem Ausblick angegebenen Punkte sind Eigenschaften, welche Verbesserungsbedarf haben und die in der Zukunft in Angriff genommen werden müssen.
 


== Weiterführende Links ==
== Weiterführende Links ==


 
→ zurück zum Hauptartikel: [[Praxissemester_Projektteam_WS2021|Praxissemester Projektteam WS2021]]
 
== 3-D Model in Solidworks ==

Aktuelle Version vom 17. März 2022, 01:34 Uhr

Abb. 1: AlphaBot Solid Works

Autor: Sefa Hasan Demiroez
Betreuer: Prof. Schneider
Art: Praxissemester
Projektlaufzeit: 02.11.2021 - 20.02.2022

Einleitung

Dieser Artikel beschreibt die Vorgehensweise zum Erstellen eines repräsentativen Modells für einen Alphabot mit dem Programm Solidworks (siehe Abb.1). Damit ist es die Grundlage für ein Simulationsmodell, um im Weiteren in Webots simuliert zu werden. Essenziel für das Modell sind die Vorgaben, dass es geometrisch so genau wie möglich und bewegungsfähig ist. Um dies zu erreichen, muss man sich Gedanken auf die generelle Vorgehensweise machen. Im ersten Schritt wird eine handschriftliche Skizze angefertigt, um einen Überblick zu bekommen. Daraufhin muss man klar definieren welche Bauteile beweglich seien sollen, um sie separat zu modellieren. Die separaten Bauteile werden zum Schluss wieder zu einer Baugruppe zusammengefügt und mit Webots verknüpft.

Übersicht

Aufgabenstellung

Eine Aufgabe innerhalb des Projektes ist es, ein Modell für einen AlphaBot zu erstellen, um es später in einer Simulationsumgebung zu implementieren. Die Simulationsumgebung wird von dem Programm Webots erstellt.

Notwendige Eigenschaften des Modells

Für das Modell ist es essenziel mit den genauen geometrischen Maßen zu zeichnen, da ansonsten hinterher in der Realität es zu Fehlern kommen kann, die in der Simulation nicht angezeigt werden. Ebenso wichtig für das Modell ist es beweglich zu sein. Die beiden Räder müssen eine klare Drehbewegung ausführen können und der Sensor muss um 180° drehbar sein. Außerdem ist zu beachten, dass man ein Modellierungsprogramm in Betracht zieht welches kompatibel mit dem Simulationsprogramm ist.

Klärung theoretischer Grundlagen

Wenn man das Programm öffnet wird man als erstes gefragt ob man ein Modell zu einem " Teil " oder eine ganze " Baugruppe" erstellen möchte. Ein Teil ist nur Element von vielen aus einer ganzen Baugruppe. Eine Baugruppe ist ein Zusammenschluss von mehreren Teilen.

Am Anfang des Modellierens stellt sich die Frage ob man das Modell in mehrere Teile unterteilen möchte oder ob man direkt eine in sich geschlossene Baugruppe erstellen möchte (siehe Abb.2). In vielen Fällen ist es leichter die Baugruppe in mehrere Teile zu unterteilen, da man auch in Funktionen von verschiedenen Teilen unterscheiden kann. In diesem Projekt hat es mehr Sinn ergeben die Baugruppe zu unterteilen, da das Modell sowohl unbewegliche als auch bewegliche Teile inne hat.

Abb.2: Teil oder Baugruppe Ansicht



Nachdem man sich nun entschieden hat ein Teil oder eine Baugruppe zu erstellen öffnet sich ein neues Fenster. In der Mitte des Fensters (vergleiche Abb.3) ist der Graphikbereich, wo das Modell erstellt wird. Der Graphikbereich dient dazu das Modell abzubilden. Mithilfe des Scrollrades kann man das Modell von verschiedenen Winkeln betrachten. Wichtig ist, dass man das Scrollrad gedrückt hält und die Maus in gewünschter Richtung bewegt.

Abb.3: Graphikbereich


Überhalb des Graphikbereichs befinden sich die Werkzeuge für das Erstellen des Modells (siehe Abb.4). Die Werkzeuge werden in verschiedenen Anwendungen unterschieden, welche man über die Registerkarten erreichen kann. Die hauptsächlich relevanten Anwendungen sind die "Skizze", "Features" und "Solidworks Zusatzanwendungen".

Abb.4: Anwendungszentrale



Um nun die Zeichnung zu starten, muss man eine Ebene auswählen, in der die Zeichnung sich befinden soll. Typischerweise bevorzugt man die Ebene vorne, da man hinterher einen besseren Blick auf die Zeichnung hat. Die Ebene wird auf der linken Seite des Bildschirmes ausgewählt. Nachdem die Ebene ausgewählt wurde, kann man über das Werkzeug "Skizze" auf elementare Geometrien wie zum Beispiel Linie oder Viereck zu greifen. Wichtig ist, dass man in Solidworks alle relevanten Längen bemaßt. Ohne eine präzise Bemaßung der Zeichnung lassen sich zukünftige Features nicht anwenden. Das Bemaßen findet man ebenso unter dem Werkzeug "Skizze" als "Intelligente Bemaßung". Man erkennt eine richtig bemaßte Zeichnung anhand der Beschreibung als "voll definiert". Ebenso werden die Kanten der Zeichnung schwarz gefärbt (vergleiche Abb.5).

Abb.5: Voll definierte Zeichnung


Mithilfe des Features "linear ausgetragener Aufsatz" lassen sich zweidimensionale Zeichnungen in 3 dimensionale Körper überführen. Die Dicke kann man im Menü daraufhin einstellen (Vergleiche Abb.6).

Abb.6: Körper austragen


Autotrace

Autotrace ist eine Funktion, um schwer umsetzbare und komplizierte Geometrien einfach zu modellieren. Damit man die Funktion nutzen kann, wird ein Bild benötigt. Dieses Bild dient als Vorlage, um anhand der Kanten der Fläche die Form zu realisieren (vergleiche Abb.7). Für den Fall eines AlphaBots kann man die "Grundfläche" des AlphaBots aufschrauben und davon ein Foto machen, damit man Autotrace nutzen kann. Ein hilfreiches Tutorial für die Anwendung und Nutzung von Autotrace findet man hier [1]. Im Folgenden wurde jedoch auf diese Feature verzichtet, da man mit der aktuellen Version von Solidworks nicht darauf zugreifen kann. Anhand des Videos kann man erkennen, dass Autotrace mit Solidworks 2014 funktioniert. Aus diesem Grund wäre es ratsam die alte Version von 2014 herunterzuladen, um die bestmögliche Genauigkeit zu erreichen. Anstelle dessen wurde auf eine vereinfachte Form des AlphaBots zurückgegriffen.

Abb.7: Alphabot Grundfläche


Lösungswege

Eine Möglichkeit den AlphaBot zu realisieren ist, die komplizierte Geometrie ohne Vereinfachungen abzuzeichnen. Jedoch muss man sehr präzise abmessen und die nötige Erfahrung mit Solidworks haben, um die Grundfläche perfekt nachzubilden. Aus diesem Grund ist es anfängerfreundlicher die Geometrie des AlphaBots zu vereinfachen, obwohl man nicht die höchstmögliche Genauigkeit erhält. Eine weitere Möglichkeit den AlphaBot in Modellform zu verwirklichen, bietet das Feature "Autotrace". Mithilfe dieser Funktion bekommt man eine höhere Genauigkeit, jedoch kann man darauf in der Solidworksversion 2020 nicht zugreifen.


Begründüng des Lösungsweges

Dadurch, dass man auf die Funktion Autotrace nicht zugreifen konnte und es an praktischer Erfahrung mit Solidworks gefehlt hat, wurde der 3. Lösungsweg als ausreichende Alternative ausgewählt.

Schritt für Schritt Erklärung zu dem fertigen Modell

Vor dem Arbeiten mit dem Programm ist es empfehlenswert eine handschriftliche Skizze der Zeichnung anzufertigen, um einen besseren Überblick zu bekommen. Für diesen Schritt ist es notwendig alle Maße des AlphaBots präzise abzumessen und ordnungsgerecht einzutragen. Wichtig sind die Skizzen für die Grundfläche, die Räder und des Sensors des AlphaBots. Dementsprechend wurden auch 3 verschiedene Bauteile erstellt, die man hinterher zu einer Baugruppe definieren muss. Die Folgende Anleitung beschreibt Schritt für Schritt wie man von einer einfachen Skizze zu dem späteren Modell gelangt.

1. Grundfläche skizzieren und bemaßen (Abb.8)

Abb.8: Grundläche Skizze


2. Das Werkzeug " Linear ausgetragener Aufsatz" verwenden (Abb.9)

Abb.9: Grundläche ausgetragen


3. Säulen skizzieren (Abb.10)

Abb.10: Säulen Fläche


4. Säulen linear austragen (Abb.11)

Abb.11: Säulen linear ausgetragen


Nachdem man nun die Grundfläche zusammen mit den Säulen fertig modelliert hat, muss man eine neue Skizze anfangen. Die neue Skizze beschäftigt sich mit der Ablagefläche des Sensors.

5. Ablagefläche für den Sensor erstellen (Abb.12)

Abb.12: Ablagefläche Skizze


6. Ablagefläche linear austragen (Abb.13)

Abb.13: Ablagefläche linear ausgetragen


7. Kontaktkörper erstellen (Abb.14)

Abb.14: Kontaktkörper Grundfläche


8. Kontaktkörper linear austragen (Abb.15)

Abb.15: Kontaktkörper linear ausgetragen


Nun ist der unbewegliche Teil des Alphabets fertig skizziert. Es müssen nur noch die 2 Teile miteinander verbunden werden. Dies geschieht durch das Öffnen einer neuen Skizze, dieses mal aber als "Baugruppe". Innerhalb dieser Skizze müssen die zwei Bauteile eingefügt werden. Daraufhin werden die zwei Bauteile (vergleiche Abb.16/17) mit der Funktion "Verknüpfung" verbunden. Wichtig ist, dass man das Feature "deckungsgleich" verwendet und dass Flächen nur mit Flächen und Kanten nur mit Kanten verknüpft werden sollten.

Abb.16: Body ohne Kontaktkörper
Abb.17: Ablagefläche


In Abb.18 sieht man den fertigen Body.

Abb.18: Fertiger Body


Als nächstes werden die beweglichen Teile des AlphaBots modelliert.

9. Reifen skizzieren (Abb.19)

Abb.19: Reifen Grundfläche


10. Reifen linear austragen (Abb.20)

Abb.20: Reifen linear ausgetragen


11. Sensor Grundfläche skizzieren (Abb.21)

Abb.21: Sensor Grundfläche


12. Sensor Grundfläche linear austragen (Abb.22)

Abb.22: Sensor Grundfläche linear ausgetragen


13. Sensorhalterung skizzieren (Abb.23)

Abb.23: Sensorhalterung Fläche


14. Sensorhalterung linear austragen (Abb.24)

Abb.24: Sensorhalterung linear ausgetragen


15. Sensoren skizzieren (Abb.25)

Abb.25: Sensor


16. Sensoren linear austragen (Abb.26)

Abb.26: Sensor linear ausgetragen


Im letzten Schritt werden alle drei Bauteile wieder verknüpft, analog zu der vorher erklärten Vorgehensweise. Man erhält somit den fertigen Alphabot.(vergleiche Abb.27)

Abb. 27: AlphaBot Solid Works


Bewegungsstudie in Solidworks

Nachdem man das Modell fertig modelliert hat, kann man mithilfe der Funktion "Bewegungsstudie" überprüfen, ob sich die Teile wie gewünscht bewegen. Eine Einführung zu der Funktion "Bewegungsstudie findet man hier[2].

Es folgt ein Video zu einer Bewegungsstudie des Projekts.

Modell mit Webots verknüpfen

Das Modell lässt sich einfach mit Webots verknüpfen. Um es zu verknüpfen ist es erforderlich das Modell in einer der folgenden Dateiformate abzuspeichern (vergleiche Abb.28).

Abb.28: Wählbare Dateiformate


In unserem Fall haben wir die Dateiform wrl benutzt. Nachdem man das Modell in der richtigen Dateiform gespeichert hat muss man nun in Webots auf den über den Reiter "File" auf "Import 3D-Modell"(vergleiche Abb.29).


Abb.29: Import 3D-Modell


Wichtig zu beachten ist hierbei, dass man auch hier die beweglichen Teile des AlphaBots einzeln einfügt, da sich später nur diese Teile sich drehen sollen und. Also sind es Prinzip 3 verschiedene Bauteile. Der "Body" der starr bleibt und sich in keiner Art und Weise bewegt und die Reifen, die sich drehen müssen, genauso wie der Sensor.

Nachdem man nun alle Bauteile mit Webots verknüpft hat fehlt es nur noch die Bauteile miteinander zu fixieren und den Motor in die Räder zu implementieren. Man fixiert die Bauteile mit der "anchor" node. Den Motor fügt man mithilfe eines "Hingejoints" hinzu. Der Hingejoint wird nur für die beweglichen Teile hinzugefügt. Wenn man alle Schritte einhält, dann ist man in der Lage mithilfe eines Controllers dafür sorgen können, dass das Modell sich wie gewünscht bewegt.

In der Abb. 30 wird ein Beispiel Code gezeigt, in dem sich das AlphaBot-Modell geradlinig bewegt.

Abb.30: Controller Code


Bei dem Programmieren eines Codes ist es wichtig die beweglichen Teile im ersten Schritt zu definieren. Daraufhin wird die Geschwindigkeit nach belieben eingestellt. In Abb. 30 erkennt man, dass die Geschwindigkeit negativ ist. Dies ist durch die Ausrichtung des Koordinatensystems zu begründen.

Es folgt ein Video zur Veranschaulichung des Beispielcodes.

Demo/Ergebnis

Das fertige CAD-Modell erreicht man hier.Datei:Fertiges Modell mit Drehung.SLDASM

Software

Solidworks 2013-2014 [3] Webots [4] Solidworks 2020 [5]

Zusammenfassung

Zusammenfassend lässt sich sagen, dass der AlphaBot erfolgreich modelliert und in eine Webots Umgebung implementiert wurde. Dieser Schritt ist notwendig, um in den nächsten Schritten einen Code zu schreiben, der dem AlphaBot es ermöglicht autonom zu fahren. Die bei dem Ausblick angegebenen Punkte sind Eigenschaften, welche Verbesserungsbedarf haben und die in der Zukunft in Angriff genommen werden müssen.


Weiterführende Links

→ zurück zum Hauptartikel: Praxissemester Projektteam WS2021