Hauptmenü TMS Robotik AG

f5 Sumo mBot 2 Extension Ultrasonsic Sensor 2 Quad-RGB Extension Sumo-Matte ★ ★ ☆

Baue und programmiere einen Roboter und nimm an einem Sumo-Turnier teil.

Spielregeln:

    Sumo
  1. Zwei Roboter (A und B) treten gegeneinander an. Sie starten Rücken an Rücken in den beiden Rechtecken in der Mitte.
  2. Der Roboter, der zuerst mit einem Rad außerhalb des Posters (nicht außerhalb des Ovals) steht, hat verloren. Der Sieger erhält drei Punkte.
  3. Die Runde endet unentschieden, wenn sich beide Roboter nach drei Minuten immer noch auf dem Poster befinden. Beide Teilnehmer erhalten dann einen Punkt.
  Tipps: Die folgende Programmstruktur hilft Dir:

Programm

Lege drei eigene Blöcke für die drei Zustände Attackieren, Ausweichen und Suchen an. Überlege, was dein Roboter machen soll und rogrammiere die Blöcke entsprechend.

Die beiden Sensoren müssen mit einem Kabel mit der mBuild-Buchse am Robotergehäuse verbunden sein.

Verkabelung

Kalibrierung (Anlernen)

Damit der Quad-RGB-Sensor zuverlässig funktioniert, muss er kalibriert (angelernt) werden:
  1. Stelle den mBot auf den Tisch (normaler Untergrund)
  2. Drücke den kleinen weißen Taster in der Mitte des Sensors schnell zweimal hintereinander. Die blauen LEDs am Sensor beginnen schnell zu blinken.
  3. Schiebe den mBot vorsichtig über die Linie.
  4. Nach ein paar Sekunden hören die blauen LEDs zu blinken auf. Fertig!

Tipp: Im Upload-Modus fährt der mBot ruhiger, weil er dann schneller auf Kursabweichungen reagiert. Du musst aber dann bei jeder Änderung das Programm neu in den Roboter laden.

Python API

In Python kann der Ultraschallsensor mit dem Befehl
distance = mbuild.ultrasonic2.get(index = 1)
abgefragt werden. Der Rückgabewert distance ist die gemessene Entfernung in cm.

Der Quad-RGB-Sensor wird mit dem Befehl
line_state = mbuild.quad_rgb_sensor.get_line_sta("all", 1)
abgefragt. Der Rückgabewert line_state ist ein Wert zwischen 0 und 15. Die vier Sensoren L2, L1, R1 und R2 haben die Wertigkeit 1, 2, 4 bzw. 8.

Werte bei get_line_sta

Der Rückgabewert ist die Summe aller Sensoren, die die Linienfarbe erkennen.
Beispiel: line_state=6 (2+4) bedeutet, dass die inneren beiden Sensoren L1 und R1 die Linie erkennen.