RoboSoccer Gruppe A2 - WS 18/19: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(58 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Einleitung==
==Einleitung==
Dieser Artikel ist Bestandteil des semesterbegleitenden Informatikpraktikums.
Dieser Artikel ist Bestandteil des semesterbegleitenden Informatikpraktikums.
In diesem Praktikum wird den Studierenden mit Hilfe praktischer Aufgabestellungen der Umgang mit verschiedenen Programmen (SVN, NXT 2.0, BrixCC) näher gebracht.
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 muss und durch eine Schussvorrichtung auf das gegnerische Tor schießen muss.
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==
==Die Teammitglieder==
{|class="wikitable"
:'''Patricio Emiliano Hernandez Murga'''
|-
:*Video erstellt
!Name !! Tätigkeiten
:*Roboter konstruiert
|-
:*Programmablaufplan
|Patricio Emiliano Hernandez Murga||Erstellung der Legokonstruktion
:*Quelltext verfasst
hdsadh
:*Fotos erstellt
|-
 
|Benjamin Reuter||Erstellung der Legokonstruktion
:'''Benjamin Reuter'''
|-
:*Roboter konstruiert
|Manfred Listner||Erstellung der Legokonstruktion
:*Roboter als 3D Modell konstruiert
|}
:*Programmablaufplan
:*Quelltext verfasst
 
:'''Manfred Listner'''
:*Programmablaufplan
:*Roboter konstruiert
:*Wikipedia Artikel
:*Quelltext verfasst
:*Plakat erstellt


==Die Konstruktion==
==Die Konstruktion==
=== Die Hauptkomponenten ===
:::[[Datei:Roboter B.2.T.G.jpeg|200px|thumb|rechts|Der Roboter]]
:::[[Datei:B.2.T.G Zusammenbau.gif|200px|thumb|rechts|Der Zusammenbau]]
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 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==
==Die Software==
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 PAP.jpeg|300px|thumb|rechts|Programmablaufplan]]
==Video==
==Video==
==Literaturhinweise==
Das Video ist unter folgedem Link zu finden:
 
[https://youtu.be/qPsUFPvph70 YouTube-Video]<br />
 
 
:::[[Datei:B.2.T.G Plakat.jpeg|300px|thumb|links|Programmablaufplan]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
----
→ zurück zum Hauptartikel: [[RoboSoccer_WS_18/19|Informatikpraktikum WS 18/19]]

Aktuelle Version vom 1. Februar 2019, 19:32 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

Der Roboter
Der Zusammenbau

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:

Hauptfunktion des Fussballspiels
Programmablaufplan


























Video

Das Video ist unter folgedem Link zu finden:

YouTube-Video


Programmablaufplan
















→ zurück zum Hauptartikel: Informatikpraktikum WS 18/19