AEP Gruppe B6 - SoSe18: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
 
(45 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Gruppenmitglieder ==
[[Datei:Roboter2.png|200px|thumb|right|Roboter in der Seitenansicht]]
== Vorwort ==
 
Im Informatikpraktikum II B des Studiengangs [https://www.hshl.de/studieren/studiengaenge/bachelorstudiengaenge/mechatronik/ Mechatronik] an der [https://www.hshl.de/ HSHL] ist es unsere Aufgabe, einen Roboter mithilfe von [https://www.lego.com/de-de/mindstorms LEGO Mindstorms] zu konstruieren, der autonom in eine Parklücke einparkt.
Das Praktikum ist in Kleingruppen zu je drei Personen aufgeteilt und für die Programmierung der Programme wurden "[https://de.wikipedia.org/wiki/Matlab Matlab]" und "[https://de.wikipedia.org/wiki/Simulink Simulink]" verwendet.
 
Zur Umsetzung des Projekts steht das [https://de.wikipedia.org/wiki/Lego_Mindstorms Lego Mindstorms<sup>TM</sup>] Baukastensystem des Spielzeugherstellers Lego<sup>TM</sup> zur Verfügung.
 
Damit am Ende des Praktikums auch jeder das Ergebnis des ganzen sehen kann, ist als weitere Aufgabe eine Erstellung eines YouTube-Videos geplant.
 
 
== Gruppenmitglieder ==


#'''[http://193.175.248.52/wiki/index.php/Benutzer:Alexander_Hammelbeck Alexander Hammelbeck]'''  
#'''[http://193.175.248.52/wiki/index.php/Benutzer:Alexander_Hammelbeck Alexander Hammelbeck]'''  
Zeile 6: Zeile 17:
#*Programmierung der Software
#*Programmierung der Software
#*Erstellung von Fotos & Videos
#*Erstellung von Fotos & Videos
#*Erstellung des Wiki-Artikels
#'''[http://193.175.248.52/wiki/index.php/Benutzer:Rene_Katz René Katz]'''  
#'''[http://193.175.248.52/wiki/index.php/Benutzer:Rene_Katz René Katz]'''  
#*Erstellung des Konzeptplans
#*Erstellung des Konzeptplans
Zeile 11: Zeile 23:
#*Programmierung der Software
#*Programmierung der Software
#*Erstellung des YouTube-Videos
#*Erstellung des YouTube-Videos
#*Erstellung des Wiki-Artikels
#'''[http://193.175.248.52/wiki/index.php/Benutzer:Benjamin_Kran Benjamin Kran]'''
#*Programmierung der Software
==Ziele und Aufgaben des Praktikums==
• Konstruieren eines fahrzeugähnlichen Roboters mit Hilfe von Lego <br/>
• Einarbeiten in die Programmiersoftware [https://de.wikipedia.org/wiki/Matlab Matlab] & [https://de.wikipedia.org/wiki/Simulink Simulink] <br/>
• Pflege des Dateimanagementsystems "[https://de.wikipedia.org/wiki/Apache_Subversion SVN]" <br/>
• Grafische Darstellung von Messwerten <br/>
• Programmierung mit Matlab & Simulink <br/>
• Erstellung eines [http://193.175.248.52/wiki/index.php/Hauptseite Wiki] Artikels <br/>
• Dokumentation des Einparkmanövers in einem Video <br/>
== Hardware ==
Bevor wir mit dem Programmieren starten konnten, musste zuerst ein fahrzeugähnlicher Roboter gebaut werden.
Damit das Einparken realisiert werden konnte, musste ein Differential und ein Schneckengetriebe benutzt werden.
<gallery widths="500" heights="400" perrow="3" caption="">
Differential.png    | Differential
Schneckengetriebe.png| Schneckengetriebe
</gallery>
'''NXT-Baustein'''
Der NXT-Baustein ist das Herzstück unseres Roboters. An diesem Baustein werden alle Aktoren und Sensoren angeschlossen.
'''Sensoren'''
Für die Umsetzung des autonomen Fahrens werden lediglich ein Ultraschallsensor und ein Gyrosensor benötigt.
*Ultraschallsensor: Abstandsmessung mit einem Messbereich von 6-255 cm (Genauigkeit 1 cm )
*Gyrosensor  : für die Messung der Winkeländerung
'''Aktuatoren'''
Der Roboter benötigt zwei Motoren. Den ersten Motor für den Antrieb und den zweiten Motor für die Lenkung. Die Motoren sind Servomotoren, die über einen Rotationssensor mit der Genauigkeit von 1° verfügen.
== Software ==
[[Datei:Simulinkprogramm.png|mini|Simulinkprogramm]]
Die ersten vier Praktikumsterminen wurde mit Matlab und der zusätzichen Mindstorms NXT Toolbox der RWTH Aachen programmiert. Matlab ist eine Skript basierte Programmiersprache, die vorrangig genutzt wird um Probleme numerisch zu lösen. Hier wurde schrittweise ein Programm zum geregelten Fahren und autonomen Einparken mit Computeranbindung entwickelt.
In den letzten beiden Praktikumsterminen wurde Simulink genutzt um den evaluierten Programmablaufplan auch ohne Computeranbindung nutzen zu können. Simulink ist eine Umgebung in Matlab, wo anhand von verschiedenen Schaltblöcken, welche logisch miteinander verbunden werden, Programme erstellt werden können.
==Fahrzeugabmessungen==
{| class="wikitable"
|-
! style="width:60%"| Parameter      !!  style="width:30%"|Maße
|-
| Länge in mm                                                    ||style="text-align:center"| 210
|-
| Breite in mm                                                  ||style="text-align:center"| 170
|-
| Höhe in mm                                                    ||style="text-align:center"| 150
|-
| Spurweite in mm                                                ||style="text-align:center"| 135
|-
| Max. Radeinschlagswinkel Rechtseinschlag                      ||style="text-align:center"| 40°
|-
| Max. Radeinschlagswinkel Linkseinschlag                        ||style="text-align:center"| 40°
|}
=== Bilder des Roboters ===
<gallery widths="500" heights="400" perrow="3" caption="">
Roboter1.png| Schrägansicht rechts
Roboter2.png| Schrägansicht links
</gallery>
== Programmablaufplan ==
<gallery widths="500" heights="400" perrow="3" caption="">
PAP_Autonom_Einparken18.png|
</gallery>
Im Programmablaufplan (PAP) sieht man unsere Strategie, welche wir dann auch in den Programmen "[https://de.wikipedia.org/wiki/Matlab Matlab]" und "[https://de.wikipedia.org/wiki/Simulink Simulink]" umgesetzt haben.
== Hinweise zum Artikel ==
Alle Fotos und Programme bzw. Quellcodes sind von uns selber entwickelt worden. Das Urheberrecht liegt bei Alexander Hammelbeck, René Katz und Benjamin Kran.
Weitere Bilder und Programme befinden sich im SVN unter folgendem Link.
Um den Roboter nachzubauen haben wir auch eine Bauanleitung erstellt die im SVN einzusehen ist.
* Link zum SVN mit den Dateien zur Abgabe: [https://svn.hshl.de/svn/Informatikpraktikum_2/trunk SVN] (nur mit Zugriffsberechtigung)
* Link zum YouTube-Video : [https://www.youtube.com/watch?v=iJmMEQEQm-8 Video]
----
→ zurück zum Hauptartikel: [[Autonomes_Fahren_SoSe18|Informatikpraktikum 2 SoSe18]]

Aktuelle Version vom 8. August 2018, 14:35 Uhr

Roboter in der Seitenansicht

Vorwort

Im Informatikpraktikum II B des Studiengangs Mechatronik an der HSHL ist es unsere Aufgabe, einen Roboter mithilfe von LEGO Mindstorms zu konstruieren, der autonom in eine Parklücke einparkt. Das Praktikum ist in Kleingruppen zu je drei Personen aufgeteilt und für die Programmierung der Programme wurden "Matlab" und "Simulink" verwendet.

Zur Umsetzung des Projekts steht das Lego MindstormsTM Baukastensystem des Spielzeugherstellers LegoTM zur Verfügung.

Damit am Ende des Praktikums auch jeder das Ergebnis des ganzen sehen kann, ist als weitere Aufgabe eine Erstellung eines YouTube-Videos geplant.


Gruppenmitglieder

  1. Alexander Hammelbeck
    • Konstruktion des Roboters
    • Erstellung der Bauanleitung
    • Programmierung der Software
    • Erstellung von Fotos & Videos
    • Erstellung des Wiki-Artikels
  2. René Katz
    • Erstellung des Konzeptplans
    • Konstruktion des Roboters
    • Programmierung der Software
    • Erstellung des YouTube-Videos
    • Erstellung des Wiki-Artikels
  3. Benjamin Kran
    • Programmierung der Software

Ziele und Aufgaben des Praktikums

• Konstruieren eines fahrzeugähnlichen Roboters mit Hilfe von Lego
• Einarbeiten in die Programmiersoftware Matlab & Simulink
• Pflege des Dateimanagementsystems "SVN"
• Grafische Darstellung von Messwerten
• Programmierung mit Matlab & Simulink
• Erstellung eines Wiki Artikels
• Dokumentation des Einparkmanövers in einem Video


Hardware

Bevor wir mit dem Programmieren starten konnten, musste zuerst ein fahrzeugähnlicher Roboter gebaut werden.

Damit das Einparken realisiert werden konnte, musste ein Differential und ein Schneckengetriebe benutzt werden.


NXT-Baustein

Der NXT-Baustein ist das Herzstück unseres Roboters. An diesem Baustein werden alle Aktoren und Sensoren angeschlossen.


Sensoren

Für die Umsetzung des autonomen Fahrens werden lediglich ein Ultraschallsensor und ein Gyrosensor benötigt.

  • Ultraschallsensor: Abstandsmessung mit einem Messbereich von 6-255 cm (Genauigkeit 1 cm )
  • Gyrosensor  : für die Messung der Winkeländerung


Aktuatoren

Der Roboter benötigt zwei Motoren. Den ersten Motor für den Antrieb und den zweiten Motor für die Lenkung. Die Motoren sind Servomotoren, die über einen Rotationssensor mit der Genauigkeit von 1° verfügen.


Software

Simulinkprogramm

Die ersten vier Praktikumsterminen wurde mit Matlab und der zusätzichen Mindstorms NXT Toolbox der RWTH Aachen programmiert. Matlab ist eine Skript basierte Programmiersprache, die vorrangig genutzt wird um Probleme numerisch zu lösen. Hier wurde schrittweise ein Programm zum geregelten Fahren und autonomen Einparken mit Computeranbindung entwickelt.

In den letzten beiden Praktikumsterminen wurde Simulink genutzt um den evaluierten Programmablaufplan auch ohne Computeranbindung nutzen zu können. Simulink ist eine Umgebung in Matlab, wo anhand von verschiedenen Schaltblöcken, welche logisch miteinander verbunden werden, Programme erstellt werden können.


Fahrzeugabmessungen

Parameter Maße
Länge in mm 210
Breite in mm 170
Höhe in mm 150
Spurweite in mm 135
Max. Radeinschlagswinkel Rechtseinschlag 40°
Max. Radeinschlagswinkel Linkseinschlag 40°

Bilder des Roboters

Programmablaufplan

Im Programmablaufplan (PAP) sieht man unsere Strategie, welche wir dann auch in den Programmen "Matlab" und "Simulink" umgesetzt haben.

Hinweise zum Artikel

Alle Fotos und Programme bzw. Quellcodes sind von uns selber entwickelt worden. Das Urheberrecht liegt bei Alexander Hammelbeck, René Katz und Benjamin Kran.

Weitere Bilder und Programme befinden sich im SVN unter folgendem Link.

Um den Roboter nachzubauen haben wir auch eine Bauanleitung erstellt die im SVN einzusehen ist.

  • Link zum SVN mit den Dateien zur Abgabe: SVN (nur mit Zugriffsberechtigung)
  • Link zum YouTube-Video : Video



→ zurück zum Hauptartikel: Informatikpraktikum 2 SoSe18