Projekt 10: SuGO: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
(Die Seite wurde geleert.)
Zeile 1: Zeile 1:
Im Rahmen des Elektrotechnik Fachpraktikum war es unsere Aufgabe eine SuGO-Bot Arena nach vorgegebenen Maßen([http://www.sugobot.com/ SuGO Homepage]) zu bauen, die Roboter mit dem [http://www.lego.com/de-de/mindstorms/products/ev3/31313/ EV3] Set zu konstruieren und anschließend mit [http://www.mathworks.de/ Matlab] zu programmieren.


Am Projekt mitgearbeitet haben: [http://193.175.248.56/wiki/index.php/Benutzer:Manuel_Gross Manuel Groß] und [http://193.175.248.56/wiki/index.php/Benutzer:Hendrik_Papst Hendrik Pabst]
__TOC__
== Einleitung ==
Der Ablauf des Projektes beinhaltete folgende Punkte:
#Beschaffung der Komponenten(EV3 und SuGO Arena)
#Aufbau der Arena
#Konstruktion der Roboter
#Programmierung der Roboter
<br/>
== Hardware==
Der Aufbau der Hardware wurde wie folgt realisiert:
=== SuGO Arena ===
[[Datei:sugo_arena.jpg|200px|thumb|left|SuGO Arena]]<br/><br/><br/><br/><br/><br/><br/><br/><br/>
Für den Aufbau der Arena wurden folgende Materialien benötigt:
#1m² Holzplatte (dick genug das Gewicht von 2 SuGO Robotern halten zu können)
#1m² weiße Klebefolie
#900cm² schwarzes Klebeband
#70cm² rotes Klebeband
Als erstes sägt man die Platte auf einen Kreis mit 45,72cm Radius zu. Danach werden Stützbeine mit ca 8cm Höhe angebracht. Optional kann die Arena auch anders angehoben werden(z.B. durch einen Pappkarton).
Dann wird die weiße Folie auf die Oberseite der Arena geklebt. Der schwarze Rand der Arena wird mit dem Klebeband realisiert(Breite 3.2cm). Als letztes werden die Startmarkierungen mit rotem Klebeband erstellt(10.2cm lang, 1.28cm breit).
=== EV3 Roboter ===
[[Datei:ev3_roboter.jpg|200px|thumb|left|EV3 Roboter]]<br/><br/><br/><br/><br/><br/><br/><br/>
Für das Projekt werden 2 Roboter benötigt. Auf der [http://www.sugobot.com/designs.htm folgenden Seite] gibt es Vorlagen für verschiedene Roboter.
Wir haben den SimpleSuGObot und den SuGObot_03 benutzt und die SuGO Eyes durch jeweils durch einen Ultraschallsensor ersetzt.
Der [http://education.lego.com/de-de/lego-education-product-database/mindstorms-ev3/45504-ultrasonic-sensor Ultraschallsensor] wird benötigt um den Gegner zu orten. Außerdem wird mindestens 1(besser 2) [http://education.lego.com/de-de/lego-education-product-database/mindstorms-ev3/45506-color-sensor Farbsensor] benötigt um den Arenarand zu erkennen.
== Software==
Zur Programmierung gehörten folgende Punkte:
=== Auswahl einer Entwicklungsumgebung===
Bei der Programmierung mit Matlab haben wir das [https://wiki.qut.edu.au/display/cyphy/QUT+EV3+MATLAB+toolkit Matlab Toolkit der QUT] genutzt.
Hierzu werden verschiedene Prärequisiten benötigt:
#Configuration des Matlab Mexx Compilers (hierzu wird das [http://www.mathworks.de/support/compilers/R2013a/index.html?sec=win64 Microsoft Windows SDK 7.1] benötigt
#Download der Matlab Code Dateien von der Seite des Matlab EV3 Toolkits
#Die hidapi.dll muss vor der Verwendung unter Umständen neu kompiliert werden (bei Windows 32 Bit Benutzern oder wenn Matlab die DLL nicht öffnen kann.
=== Verbindung zum EV3 erstellen ===
Sofern die oben genannten Punkte erfüllt sind ist es möglich eine USB Verbindung zwischen Matlab und EV3 herzustellen.
Dazu nutzen wir den Befehl "b = Brick('ioType','usb')". Auf der Toolkit Website findet man weitere Befehle und Programmbeispiele.
=== Erstellen des Programmes ===
Bei der Erstellung des Programmes haben wir folgende Voraussetzungen gestellt:
#Der Roboter muss bei erkanntem Rand die Fahrrichtung ändern
#Wenn über Ultraschall ein Gegner erkannt wird soll ein Angriff eingeleitet werden
Anschließend sind wir zu folgendem Code gekommen:
[http://193.175.248.56/wiki/index.php/SuGO_Bot_Matlab_Code SuGO Bot Matlab Code]
Zwischen den Befehlen die den EV3 ansprechen wird jeweils eine Pause von ca 100µs benötigt, da die Verbindung sonst abbrechen kann.
Wenn der Farbsensor den Rand erkennt wird ein Algorithmus ausgeführt, durch welchen der Roboter ein Stück zurück fährt und sich anschließend dreht.
Wenn der Ultraschallsensor den gegner sensiert werden die Motoren beschleunigt, um den Gegner zu attackieren.
Wenn keines der Ereignisse eintritt fährt der Roboter geradeaus.

Version vom 24. Januar 2014, 16:37 Uhr