RoboSoccer Gruppe B1 - WS 17/18: Unterschied zwischen den Versionen
Zeile 50: | Zeile 50: | ||
Wenn der Roboter den Ball erwischt hat, und der Ball vor den Tastsensor gedrückt wird, hält der Roboter an, um nicht gegen die offiziellen Regeln zu verstoßen. | Wenn der Roboter den Ball erwischt hat, und der Ball vor den Tastsensor gedrückt wird, hält der Roboter an, um nicht gegen die offiziellen Regeln zu verstoßen. | ||
Der Microcontroller errechnet, um wieviel grad sich der Roboter derehen muss, um auf das richtige Tor zu schießen. Dies macht er Mithilfe der am Start festgelegten Wert und der aktuellen Richtung, die vom Kompasssensor eingelesen wird. | Der Microcontroller errechnet, um wieviel grad sich der Roboter derehen muss, um auf das richtige Tor zu schießen. Dies macht er Mithilfe der am Start festgelegten Wert und der aktuellen Richtung, die vom [http://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NMC1034 Kompasssensor <ref>Kompasssensor - http://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NMC1034 </ref>] eingelesen wird. | ||
Sobald er die richtige Richtung gefunden hat dreht der Fangarm in die entgegen gesetzte Richtung. Der Ball wird dann im optimalfall in das gegnerische Tor geschossen. | Sobald er die richtige Richtung gefunden hat dreht der Fangarm in die entgegen gesetzte Richtung. Der Ball wird dann im optimalfall in das gegnerische Tor geschossen. |
Version vom 22. Januar 2018, 13:33 Uhr
Autor: Lars Unverzagt und Daniel Schiewe
Einleitung
In dem Informatik-Praktikum des Wintersemesters 17/18, war es unsere Aufgabe einen vollständigen Fußballroboter aus Lego zu kreieren und zu programmieren. Er soll in der Lage sein einen Infrarotball selbstständig zu finden und zu fangen. Nach der Ausrichtung zum Tor soll er auf das Tor schießen.
Das ganze Spielprinzip unterliegt genauen Regeln, die beinhalten was der Roboter darf und was nicht erlaubt ist. Genauere Informationen zu den Regeln finden sie hier [1].
Teammitglieder
- Lars Unverzagt
- Konstruktion des Roboters
- Entwicklung einer Spielstrategie
- Programmierung in BricxCC (NXC)
- Erstellung des HSHL - Wiki - Artikel
- Daniel Schiewe
- Nachbau des Roboters im Lego-Designer
- Entwicklung einer Spielstrategie
- Programmierung in BricxCC (NXC)
- Erstellung des HSHL - Wiki - Artikel
Das Spielfeld
Das Spielfeld ist 183cm lang und 122cm breiten. Dies sind die genauen Maße eines RoboSoccer - Spielfeld. Die beiden Tore sind 45cm breit und 14cm hoch. Für weitere Informationen zu dem RoboSooccer - Spielfeld können sie hier [2]klicken.
Hardware
Unser Roboter wurde auf Basis eines Lego-Mindstorms-Bausatz gebaut. In diesem Set sind mehrere Motoren und verschiedene Sensoren vorhanden. Folgende Sensoren sind im Bausatz enthalten: Ultraschallsensor, Tastsensoren, Lichtsensor und Geräuschsensor
Von unserem Professor haben wir zusätzlich einen Infrarotsensor [3] sowie einen Kompasssensor [4]enthalten.
Der Ultraschallsensor könnte beispielsweise zur rechtzeitigen Erkennung der Spielfeldbegrenzung genutzt werden. Mit jenem Sensor lässt sich jedoch nicht eindeutig bestimmen, ob das erkannte Hindernis tatsächlich die Wand der Spielfeldbegrenzung, der gegnerische Roboter oder der Spielball ist. Aus diesem Grund, findet der Sensor bei unserem Roboter ebenfalls keine Verwendung.
Spielstrategie
Zur Entwicklung der nachstehenden Spielstrategie haben wir das folgende Programm zur Hilfe benutzt. „PaP-Designer“ [5]
Umsetzung der Spielstrategie
Um die Spielstrategie erfolgreich umsetzen zu können, haben wir folgendes Programm verwendet.Bricx Command Center [6] (kurz: BricxCC) Dieses benutzt die Programmiersprache NXC [7].
Nun zur Spielstrategie:
Bevor das Spiel beginnt wird manuel die Richtung festgelegt in die er während des Spiels schießt. Sobald der Startschuss fälllt wird das Program durch den "On-Butten" gestartet. Die Sensoren aktiv. Der Infrarotsensor [8] empfängt die Signale des Balls und kann Bewegungen des Balls wahrnehmen. Durch seine 5 Bereiche weiß er genau, wo sich der Ball befindet und kann präziese auf ihn zusteuern.
Während er auf den Ball zufährt rotiert sein Fangarm dauerhaft, um den Ball nmicht zu verpassen.
Wenn der Roboter den Ball erwischt hat, und der Ball vor den Tastsensor gedrückt wird, hält der Roboter an, um nicht gegen die offiziellen Regeln zu verstoßen. Der Microcontroller errechnet, um wieviel grad sich der Roboter derehen muss, um auf das richtige Tor zu schießen. Dies macht er Mithilfe der am Start festgelegten Wert und der aktuellen Richtung, die vom Kompasssensor [9] eingelesen wird.
Sobald er die richtige Richtung gefunden hat dreht der Fangarm in die entgegen gesetzte Richtung. Der Ball wird dann im optimalfall in das gegnerische Tor geschossen.
Da wir vor uns vor Plagiaten schützen wollen, stellen wir unseren Quellcode nicht online, sondern nur allgemeine Befehle, die wir verwendet haben. Diese können nachstehend gelesen werden oder in folgender PDF nachgelesen werden. Datei:NXC-Befehle.pdf
Werbeplakat
Um unseren Roboter zu präsentieren, haben wir ein Plakat erstellt, was sie hier sehen können. Datei:Plakat RoboSoccer.pdf
YouTube - Video
Zur bildlichen Veranschaulichung wurde ein YouTube - Video erstellt, welches hier zu finden ist.
Bilder
Bauen Sie Bilder ein, am besten mit darin gekennzeichneten Stellen, die Sie dann im Text erklären.
Literaturverzeichnis
- ↑ Regelwerk - http://193.175.248.52/wiki/index.php/Regelwerk_RoboSoccer
- ↑ Spielfeld - https://campusapp01.hshl.de/pluginfile.php/325636/mod_resource/content/1/inf_I_prak_feld.pdf
- ↑ Infrarotsensor - http://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=nsk1042
- ↑ Kompasssensor - http://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NMC1034
- ↑ Pap-Designer http://friedrich-folkmann.de/papdesigner/Hauptseite.html
- ↑ Bricx Command Center - http://bricxcc.sourceforge.net/
- ↑ NXC - https://de.wikipedia.org/wiki/Not_eXactly_C
- ↑ Infrarotsensor - http://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=nsk1042
- ↑ Kompasssensor - http://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NMC1034
- ↑ Eigenes Foto
→ zurück zum Hauptartikel: Informatikpraktikum WS 17/18