ROB/README.md

70 lines
2.5 KiB
Markdown

# 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