38 lines
856 B
Markdown
38 lines
856 B
Markdown
# Aufgabe 05: Sichere Winkelbereiche erzwingen
|
|
|
|
## Ziel
|
|
|
|
Du kapselst Winkelbegrenzung zentral in Code und Config.
|
|
|
|
## Warum ist das wichtig?
|
|
|
|
Das LLM oder ein Bug darf keine gefährlichen Servopositionen direkt auslösen.
|
|
|
|
## Voraussetzungen
|
|
|
|
- Aufgabe 04
|
|
|
|
## Theorie
|
|
|
|
Sicherheitsgrenzen gehören in die unterste Motion-Schicht. Höhere Schichten dürfen nur innerhalb dieser Grenzen arbeiten.
|
|
|
|
## Aufgabe
|
|
|
|
Implementiere `clamp_angle` oder einen Motion-Controller, der alle Zielwinkel validiert und begrenzt.
|
|
|
|
## Akzeptanzkriterien
|
|
|
|
- Zu große Winkel werden begrenzt oder abgelehnt.
|
|
- Grenzen kommen aus Config.
|
|
- Tests decken Grenzfälle ab.
|
|
|
|
## Erweiterungen
|
|
|
|
- Unterscheide harte Fehler und sanftes Clamping.
|
|
|
|
## Reflexionsfragen
|
|
|
|
- Wo sollte die Sicherheitsgrenze liegen?
|
|
- Wann ist Ablehnen besser als Clamping?
|
|
- Wie loggst du gefährliche Befehle?
|