Für RoboCup 2025
Go to file
Cedric Hermann 6560ce3cac Distance sensor bug fix; speed variable implementation 2025-11-27 11:15:26 +01:00
src Distance sensor bug fix; speed variable implementation 2025-11-27 11:15:26 +01:00
LICENSE Initial commit 2025-11-18 12:02:25 +01:00
README.md minor notes adjustment 2025-11-20 09:41:10 +01:00

README.md

ROB

Für RoboCup 2025

// ---- Ereignisse zuerst prüfen ----

    wenn links == grün UND rechts == grün:
        // Sackgasse → 180°
        drehe 180°

    wenn links == grün ODER rechts == grün:
        // Kreuzung → 90° Turn
        wenn links == grün:
            drehe 90° nach links
        sonst:
            drehe 90° nach rechts

    // ---- Fahrbahn: Linie folgen ----

    wenn links == schwarz UND rechts == weiß:
        // Linie ist links → nach links korrigieren
        drehe nach links

    wenn rechts == schwarz UND links == weiß:
        // Linie ist rechts → nach rechts korrigieren
        drehe nach rechts

    // ---- Geradeaus ---- 
    wir haben im Moment wenn beide weiß und die Sensoren weiter auseinander vlt funktioniert das so smoother?
    wenn links == schwarz UND rechts == schwarz:
        beide Motoren gleich schnell

    // ---- Weiß auf beiden Seiten = Linie verloren ----
    wenn links == weiß UND rechts == weiß:
        langsam drehen bis schwarz gefunden

    // ---- Terrain ----
    // 5 weil ich nicht mehr den Wert wusste
    wenn winkel > +5:
        Motorleistung += 20%
        
	 // Bergab
    wenn winkel < -5:
        Motorleistung -= 20%

Wippe Notizen

Logik implementiert in Rampen Logik. Bleibe stehen, wenn der Rollwinkel sich um mehr als 10 (?) ändert.
RS-Flipflop-Logik:
    Set (= tue nichts), wenn der Winkel sich ändert;
    Reset (= bleibe stehen), solange sich der Rollwinkel ändert, danach fahre normal weiter

def flipflop(state, r, s): return False if r else (True if s else state)

Obstacle Notizen

  • Sensor ~12cm über dem Boden einbauen; insg. 3 Abstandssensoren benötigt (oder 2 mit aufwändigerer Logik und drehendem Sensor)
  1. Wenn vorderer Sensor bestimmten Abstand feststellt, stoppen, zurückfahren bis ein Abstand d feststeht
  2. Drehen, bis ein Seitensensor Abstand d oder kleiner feststellt. Kleinsten Abstand bestimmen:
    1. Bei Drehung niedrigsten Wert des Sensors merken
    2. Wenn Abstand größer wird, zurückdrehen, bis kleinster Wert wieder erreicht ist
  3. Losfahren und in entsprechende Richtung drehen, wenn Abstand kleiner/größer wird
  4. Abbrechen, wenn Farbsensoren Schwarz erkennen

Bumper Notizen

Änderungen von Gier- und Neigungswinkeln, sowie das Verhalten des Roboters zu beobachten Vermutlich Protokoll einbauen, was passiert, wenn für eine bestimmte Zeit die Linie nicht mehr zu finden ist.

Ziellinie Notizen

Wenn beide Sensoren Farbe rot feststellen, stoppe die Motoren, beende das Programm