RoboSoccer Gruppe A2 - WS 18/19: Unterschied zwischen den Versionen
Zeile 75: | Zeile 75: | ||
==Die Software== | ==Die Software== | ||
Das Programm wurde mit Hilfe von BrixCC geschrieben. Unserere Hauptfunktion sieht wie folgt aus: | Das Programm wurde mit Hilfe von BrixCC geschrieben. Unserere Hauptfunktion sieht wie folgt aus: | ||
[[Datei:B.2.T.G MainTask.jpeg|500px|thumb|left|Hauptfunktion des Fussballspiels]] | :::[[Datei:B.2.T.G MainTask.jpeg|500px|thumb|left|Hauptfunktion des Fussballspiels]] | ||
:::[[Datei:B.2.T.G PAP.jpeg|200px|thumb|rechts|Programmablaufplan]] | |||
==Video== | ==Video== |
Version vom 1. Februar 2019, 19:19 Uhr
Einleitung
Dieser Artikel ist Bestandteil des semesterbegleitenden Informatikpraktikums. In diesem Praktikum wird den Studierenden mit Hilfe praktischer Aufgabenstellungen der Umgang mit verschiedenen Programmen (SVN, NXT 2.0, BrixCC) näher gebracht. Ziel des Praktikums ist es, die in den Informatikvorlesungen erworbenen Fähigkeiten und Fertigkeiten anzuwenden und in eigenständiger Teamarbeit einen Roboter zu entwickeln, welcher Fußballspielen kann. Das heißt, dass der Roboter in der Lage sein muss einen Ball auf einem Spielfeld zu orten, eigenständig und möglichst schnell den Ball für sich gewinnen und durch eine Schussvorrichtung auf das gegnerische Tor schießen muss.
Die Teammitglieder
- Patricio Emiliano Hernandez Murga
- Video erstellt
- Roboter konstruiert
- Programmablaufplan
- Quelltext verfasst
- Fotos erstellt
- Benjamin Reuter
- Roboter konstruiert
- Roboter als 3D Modell konstruiert
- Programmablaufplan
- Quelltext verfasst
- Manfred Listner
- Programmablaufplan
- Roboter konstruiert
- Wikipedia Artikel
- Quelltext verfasst
- Plakat erstellt
Die Konstruktion
Die Hauptkomponenten
Datei:B.2.T.G Zusammenbau.gif Der Körper unseres B.2.T.G. besteht zum Großteil aus dem Brick des NXT-Bausatzes. Unterhalb des Bricks, verbunden durch eine Stützkonstruktion, befinden sich Links und Recht am Roboter die zwei Servomotoren mit den Antriebsrädern. Am Heck des Roboters befindet sich eine Kugel die in einer Halbschale gelagert ist, dadurch ist der Roboter in der Lage sich um seine eigene Achse zu drehen. Auf einer Verbindungskonstruktion, mit der die beiden seitlichen Räder miteinander verbunden sind, wird ein Aufbau angebracht um den Kompasssensor möglichst hoch anzubringen. Von diesem Aufbau ausgehend wird an einer Strebe ein weiterer Servomotor angebracht der um eine Schussmechanik erweitert ist. Unterhalb der Schussvorrichtung befindet sich eine Ballfangvorrichtung. In diese wird der Ball gelenkt und von der Schussvorrichtung festgehalten.
Die Schussmechanik
Wie bereits beschrieben befindet sich an der Vorderseite eine Schussmechanik. Diese dreht sich während der Ballsuche kontinuierlich in Fahrtrichtung um den Ball an den Roboter heranzuziehen. Sobald der Taster in der Ballfangeinheit betätigt wird, bekommt der Roboter das Signal, dass der Ball gefunden wurde. Nun beginnt der Roboter mit der Ausrichtung und dreht sich in Richtung des gegnerischen Tors. Sobald die finale Ausrichtung eingenommen wurde, dreht sich der Motor entgegengesetzt und schießt somit auf das gegnerische Tor.
Der NXT-Brick
Der Brick ist ein Microcontroller, der die darauf gespeicherten Software-programme verwaltet und diese ebenfalls ausführt. Der Brick verfügt über insgesamt sieben Anschlüsse. An ihnen können bis zu vier Sensoren und drei Aktoren angeschlossen werden.
Infrarot Sensor
Der Infrarot Sensor ist dafür verantwortlich, dass der Roboter den Ball finden kann. Er besitzt 5 Sensoren, die die Umgebung des Roboters nach Infrarot-Signalen absuchen. Aus diesen 5 Sensoren erstellt der Infrarotsensor neun Zonen die insgesamt 270° abdecken. Je nachdem welche zwei Sensoren eine Lichtquelle erkennen, berechnet der Infrarotsensor einen Sektor in dem sich der Ball befindet.
Tastsensor
Der Tastsensor hat die Aufgabe dem Roboter mitzuteilen, ob der Ball in der Ballfangeinheit angekommen ist.
Der Kompasssensor
Der Kompasssensor ist für die Kursaufnahme verantwortlich. Sobald das Programm gestartet wird, wird der Wert des Kompasssensors ausgelesen. Dadurch weiß der Roboter wo sich das gegnerische Tor befindet und kann sich so nach der Ballannahme ausrichten.
Die Spielstrategie
Die Strategie lässt sich wie folgt beschreiben. Zuerst wird der Roboter auf das gegnerische Tor ausgerichtet. Sobald das Programm gestartet wird setzt der Kompasssensor den Wert für das gegnerische Tor fest. Nahezu zeitgleich beginnt die Ballsuche und die Schussmechanik fängt an sich zu drehen. Der Roboter dreht sich um seine eigene Achse, bis er ein Infrarotsignal ortet. Sobald dieser ein Signal gefunden hat, fährt der Roboter auf sein Ziel zu. Erst wenn der Roboter den Ball durch die Schussmechanik an den Tastsensor gedrückt hat stoppt der Roboter und beginnt mit der nächsten Funktion. Hier beginnt der Roboter mit der Ausrichtung. Dafür vergleicht der Kompasssensor den aktuellen Wert mit dem Wert den er zu Anfang des Programmes gespeichert hat. Aus diesen beiden Werten berechnet der Roboter den neuen Kurs und beginnt damit sich zu drehen. Sobald der Roboter den korrekten Kurs eingenommen hat, beginnt die Schussmechanik sich zu drehen und der Roboter schießt auf das gegnerische Tor. Nach dem Schuss beginnt der Roboter wieder mit der Ballsuche und fährt auf den Ball zu.
Die Software
Das Programm wurde mit Hilfe von BrixCC geschrieben. Unserere Hauptfunktion sieht wie folgt aus:
Video
Das Video ist unter folgedem Link zu finden:
[https YouTube-Video]
→ zurück zum Hauptartikel: Informatikpraktikum WS 18/19