RoboSoccer Gruppe A3 - WS 18/19
Autoren: Florian Leben und Robin Grimm
Einleitung
Ein wesentlicher Bestandteil des Informatik Moduls bestand aus dem Informatikpraktikum 1, in welchem uns die Aufgabe gestellt wurde, aus einem Lego NXT Bausatz einen Roboter zu bauen und zu programmieren. Jeder Roboter wurde in 2-3er Gruppen von Studenten entwickelt mit dem Ziel ein Fußballtunier zu gewinnen, welches am letzten Praktikumstermin stattgefunden hat.
Gruppenmitglieder und ihre Aufgaben
Florian Leben
- Konstruktion des Roboters
- Entwicklung der Spielstrategie
- Umsetzung der Spielstrategie in Quellcode
- Entwurf des Werbeplakats
- Verfassen des HSHL-Wiki-Artikels
- Optimierung
Robin Grimm
- Entwicklung der Spielstrategie
- Umsetzung der Spielstrategie in Quellcode
- Erstellung des Videos
- Verfassen des HSHL-Wiki-Artikels
- Optimierung
Autoren: Florian Leben und Robin Grimm
Dozent: Prof. Dr. U. Schneider
Maximus
Image Film
[[Youtube link / Video zu Roboter Kitt]
Design
-
Schokoladenseite
-
Lego Designer
-
Schokoladenseite
Hardware
Sensoren
- Infrarotsensor
Für die Erkennung des Balles, der ein Infrarotsignal aussendet, wurde der Infrarot- Detektor von HiTechnic verbaut. Dieser Sensor ist in der Lage Infrarotsignale über fünf Detektoren in einem Winkel von 135° aufzunehmen und zeigt im welchen Bereich seines FOV (field of view) von 0 bis 9 sich der Ball befindet. Mit dem Modulierten Modus (AC Mode) kann moduliertes Infrarotlicht erkannt werden, dies sind künstlich erzeugte Infrarotsignale, z.B. auch Fernbedienungen und unter anderem auch der IR Ball aussendet.
- Tastsensor
Der Tastsensor ist der einfachste NXT Baustein, denn dieser reagiert nur auf Druck und kann somit nur zwei Werte zurückliefern, 0 (nicht gedrückt) oder 1 (gedrückt). Der Taster wird mit einer Feder geöffnet. Maximus verwendet zwei dieser Tastsensoren, um zu überprüfen ob der Ball gefangen wurde und um bei Kolision mit einem Hindernis eine Rückwärtsfahrt zu initiieren
- Kompasssensor
Der digitale Kompasssensor von HiTechnic ist in der Lage das Erdmagnetfeld zu vermessen und somit kann eine genaue Positionsbestimmung und Navigation durchgeführt werden. Demnach entsprechen 0° Nord, 90° Ost, 180° Süd und 270° West. Auf dem Roboter kann man sich dabei die Werte von 0°- 359° ausgegeben lassen, für eine genaue Messung muss der Roboter sich langsam drehen. Dabei ist aber auch zu beachten, dass der Sensor nicht durch andere externe Magnetfelder beeinflusst wird, da dies zu Fehlermessungen führen kann. Aufgrund dessen sollte der Kompasssensor zur Navigierung eine Entfernung von ungefähr 15cm zu den Motoren haben.
Aktoren
- Motoren
Die Motoren, die bei Lego Mindstorms verbaut werden, sind Servomotoren. Außerdem sind sie mit einem Drehsensor ausgestattet, der eine Genauigkeit von 1° hat und somit sich die Motoren sehr präzise anfahren lassen. Es werden drei Motoren bei dem NXT- Roboter verbaut, zwei Fahrmotoren und ein Motor für den Schuss- bzw. Fangarm.
Spielstrategie
-
PAP Hauptprogramm
-
Unterprogramm Ballsuche
-
Unterprogramm Ausrichtung
Quellcode
-
Ballsuche
-
Ausrichtung Torschuss
-
Task Main
Zusammenfassung
Lernziele
Das Praktikum zeigt einem spielerisch einen ersten Einblick in die Programmiersprache C. Zunächst wurde jedoch in unterschiedlichen Softwareanwedungen das grafische programmieren trainiert. Ziel jedes Praktikumstermines war es durch das Zusammenspiels von Planung, Konstruktion und Umsetzung der Mechanischen sowie auch porgrammiertechnischen Aufgaben am Ende ein funktionales Programm präsentieren zu können.
Zusammenfassend hat man die Grundlagen grafischer Programmierung gelernt und das Wissen anschließend in der Programmiersprache NXC (not quite C) vertieft. Zusätzlich wurde der Umgang mit der Versionsverwaltungssoftware SVN erlernt welche das arbeiten im Team unterstützt hat. Durch die Aufgabenstellung, die Ergebnisse die zwischen den Termin erarbeitet wurden, zu präsentieren, mussten Projekt/- Zeitmanagement sinnvoll eingesetzt werden.
Literaturverzeichnis
- ↑ Eigenes Foto
- ↑ Eigenes Foto
- ↑ https://modernroboticsinc.com/hitechnic-nxt-irseeker-v2
- ↑ https://www.generationrobots.com/de/401223-tastsensor-fur-programmierbare-lego-mindstorms-nxt-roboter.html
- ↑ Eigenes Foto
- ↑ Eigenes Foto
→ zurück zum Hauptartikel: Informatikpraktikum WS 18/19