RoboSoccer Gruppe B4 - WS 19/20

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autoren: Dominik Sumkötter, yy, yy


Einleitung

In dem Informatikpraktikum I (WS 19/20) war das Ziel, einen Roboter aus Lego Mindstorms Bauteilen, aufgabengerecht zu konstruieren und zu programmieren, damit er am Ende des Semester autonom Fussball spielen kann und am RoboSoccer-Turnier teilnehmen kann. Der begleitende Professor dieses Praktikums war Prof. Dr. Ulrich Schneider.

Das Team

Lukas Mücke

  • Konstruktion des Roboters
  • Entwicklung der Spielstrategie

Dominik Sumkötter

  • Programmierung des Roboters
  • Entwicklung der Spielstrategie

Markus Belsch

  • Programmierung des Robotes
  • Debugging

(Jedes Mitglied des Teams hat in jedem Bereich zur Fertigstellung des Roboters beigetragen. Die oben gennanten Punkte beziehen sich entsprechend auf die Hauptbereiche der Mitarbeit und sind nicht exklusiv zu verstehen.)

Roboter Profil

  • Name: BALL.E
  • Vorteile:
+ niedrieger Schwerpunkt
+ hohe Endgeschwindigkeit durch große Räder
+ hohe Schußkraft und Geschwindigkeit durch langen Hebelarm
  • Nachteile:*
- Relativ langer Aufbau, vor dem Vorderrad; Manövrieren am Spielfeld Rand
- Ballaufnahme funktioniert nicht immer fehlerfrei

Konstruktion

Aufbau

Der Grundgedanke der Konstruktion war es, einen möglichst kompatken Roboter zu bauen, an dem relativ einfach Änderungen vorgenommen werden können. Daraus entwickelte sich der Ansatz, alle Bauteile direkt an dem NXT-Brick zu befestigen. Im nächsten Schritt wurden Gerüste um den Brick gebaut, um möglichst viele und flexible Möglichkeiten zu haben, Sensoren und Aktoren, sowie weitere Gerüste/Gestelle mit wiederum Sensoren und Aktoren anzubringen.

Sensoren

  • Tastsensor: Der Tastsensor dient zur Bestätigung, ob der Ball gefangen wurde.
  • Infrarotsensor: Der Infrarotsensor dient dazu, über die Postion des Balls einen Lenkwert zu bestimmen, der dann dazu dient, den Roboter zum Ball zu steuern. Außerdem wird über eine bestimmte Charakteristik im Verlauf der Sensorwerte bestimmt, wann der Ball sich in Reichweite befindet und aufgenommen werden kann
  • Kompasssensor: Der Kompasssensor dient zur Torausrichtung.

Programmierung

PAP/Spielstrategie

Debugging

Um die Fehlersuche in der Programmierung zu vereinfachen haben wir zwei Ansätze zum Debugging verfolgt: Zum einen, werden während des Programmablaufs alle wichtigen Werte auf dem LCD des NXT-Bricks ausgegeben, zum anderen werden einmalig die Kalibrierten Werte und alle 500ms fast alle Sensorwerte in einer Log-Datei auf dem Brick abgelegt. Als Zusatzinformation, wird das Unterprogramm, in dem sich der Roboter zum gegebenen Zeitpunkt befindet, mit in der Datei abgelegt.

Quellcode LCD-Ausgabe

Quellcode Data-Logging

Quellcode