Hmm,
ich hab mir dazu einen ZeroBoost in die Regelung eingebaut, weil dieser Minimal-PWM-Wert bei mir:
- abhängig von der Batteriespannung ist (sinkt während des Betriebs)
- abhängig vom Untergrund ist (anderer Wert für Teppich, als für Laminat)
- im Extremfall bis zur Vollaussteuerung gehen muss, insbesondere wenn der Roboter beim Anfahren direkt vor einem überfahrbaren Hindernis (Teppichkante o.ä.) steht.
Der Zeroboost ist bei mir ein Zähler, der im zyklischen Durchlauf der Motorregelung hochzählt, wenn keine Änderungen an den Inkrementalgebern angezeigt werden, der Roboter also steht. Bei einer Änderung der Inkrementalgeberwerte (hurra, die Masse bewegt sich) wird er auf 0 zurückgesetzt.
Multipliziert mit einer Konstante KZB wird der Zeroboost-Zähler auf den vom PID-Regler generierten PWM-Wert aufaddiert.
Eigentlich könnte das auch der I-Anteil des Reglers. Der allerdings neigt bekanntlich zu Überschwingen. Das ist insbesondere dann tödlich, wenn nur eine kurze Strecke zurückgelegt werden soll. Auch kann KZB wesentlich größer als KI gewählt werden, so dass die PWM-Rampe vor dem Anfahren schneller steigt.
Keine Ahnung, ob das so der amtliche Weg ist, mir fiel damals nix Besseres ein.
Lesezeichen