RoboSoccer Gruppe A5 - WS 18/19

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autoren: Maik Spinnrath und Franziska Troja

Plakat des Roboters [1]

Dozent: Prof. Dr. U. Schneider


Einleitung

Die Aufgabe in dem Informatikpraktikum I, welches Teil des Informatik Moduls ist, war es, aus Lego NXT Bausätzen einen Fußballroboter zu bauen und zu programmieren. Jeder Roboter wurde in einer Gruppe von 2-3 Studenten über das 1.Semester des Mechatronik- Studiengangs entwickelt. Am Ende des Semester traten alle Roboter in einem Turnier, immer 1 gegen 1 an, gegeneinander an. Zu gewinnnen gab es Ehre und Bonuspunkte.


Teammitglieder und ihre Aufgaben

Maik Spinnrath

  • Bau des Roboters
  • Konstruktion des Roboters im Lego Digital Designer
  • Verfassung des HSHL Wiki-Artikels


Franziska Troja

  • Bau des Roboters
  • Quelltext verfasst
  • Planung des Fußballspieles mit PAP-Diagrammen
  • Erstellung des Werbeplakats
  • Erstellung des Videos
  • Verfassung des HSHL Wiki-Artikels

Verwendete Softwaretools

  • Bricx Command Center mit der Programmiersprache NXC (Not eXactly C, für die Programmierung der Spielstrategie)
  • LEGO MINDSTORMS Education EV3 (für die Programmierung zu Beginn des Praktikums)
  • LEGO® MINDSTORMS® NXT 2.0 (für die Programmierung zu Beginn des Praktikums)
  • PAP-Designer (Planung der Spielstrategie)
  • Lego Digital Designer 4.3 (Nachbau des Roboters)


Roboter Kitt

Video zu Roboter Kitt

SVN Ordner

Konstruktion in Lego Digital Designer [2]
Bild von Kitt [3]















Abmessungen

Die Maße von Kitt

Abmaße in [mm]
Länge 260
Breite 168
Höhe 338
Radabstand 145


Spielstrategie

PAP-Diagramme

  • Spielstrategie
Hauptprogramm [4]
Ballsuche [5]
Speicherung der Torrichtung [6]
Auslesen des aktuellen Winkels [7]
Taster [8]
Torausrichtung [9]


















































Hardware

  • Infrarotsensor
Infrarot Sensor [10]

Für die Erkennung des Balles, der ein Infrarotsignal aussendet, wurde auf Höhe des Balles 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 den Wert der Richtung im Wert von 0 bis 9 an. Mit dem Modulierten Modus (AC Mode) kann moduliertes Infrarotlicht erkannt werden, dies sind künstlich erzeugte Infrarotsignale, z.B. von Fernbedienungen und unter anderem sendet auch der IR Ball moduliertes Licht aus, der bei dem Roboterturnier zum Einsatz kommt.

Empfangsbereiche des IR Seekers [11]











  • Tastsensor
Tastsensor [12]

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. Bei unserem Roboter verwenden wir zwei dieser Tastsensoren, einen für die Erkennung des Balles und einen für die Hindernisausweichung bzw. Erkennung.










  • Kompasssensor
Kompasssensor [13]

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° ausgeben 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.









  • Motoren
Antriebsmotor [14]

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.











Quellcode

  • Ballsuche
Quelltext Ballsuche [15]















Zusammenfassung

Das Praktikum zeigt einem spielerisch einen ersten Einblick in die Programmiersprache C. Man kann Erfahrungen in der Roboterprogrammierung bekommen und hat sofort auch ein Ergebnis zu den Programmierelementen, somit kann man direkt auf Fehlermeldungen reagieren. Denn meistens funktioniert es nicht bei dem ersten Anlauf. Aus diesem Grund und dadurch, dass man viele unterschiedliche Softwareversionen zur Programmierung des NXT- Bricks verwendet, ist es ein sehr zeitaufwändiges Praktikum.

Literaturverzeichnis

  1. Eigenes Foto
  2. Eigenes Foto
  3. Eigenes Foto
  4. Eigenes Foto
  5. Eigenes Foto
  6. Eigenes Foto
  7. Eigenes Foto
  8. Eigenes Foto
  9. Eigenes Foto
  10. Eigenes Foto
  11. https://modernroboticsinc.com/hitechnic-nxt-irseeker-v2
  12. https://www.generationrobots.com/de/401223-tastsensor-fur-programmierbare-lego-mindstorms-nxt-roboter.html
  13. Eigenes Foto
  14. Eigenes Foto
  15. Eigenes Foto



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