Feed Forward #
Feed Forward ist eine der Funktionen die Betaflight von anderen FC-Firmwares abhebt. Feed Forward schaut sich den Verlauf des Setpoint Befehls an: Ändert sich die Soll-Lage des Quadcopters schnell, weil wir die Steuerknüppel schnell bewegen, steigt Setpoint schnell an. Feed Forward liest den Anstiegswinkel der Setpoint-Kurve, also die Geschwindigkeit der Änderung des Setpoint und beschleunigt daraufhin den Quadcopter, ohne auf einen entstehenden PID-Error zu warten. Feed Forward ist extrem schnell, aber anfällig für einen schlechten RC Link. Je dominanter Feed Forward den Quadcopter steuert, desto weniger PID-Error entsteht und damit weniger Latenz zwischen Stickeingabe und tatsächlich ausgeführter Bewegung. Keine Angst vor hohen Werten: 300+ ist bei 1000°/s Rates (6S 700g Quadcopter) möglich. Teilweise überholt der Gyro den Setpoint dann sogar.
Zum Aktivieren verschiebt den Stick Response Slider nach links. Sollte es zu Feed Forward induziertem Overshoot kommen kann Dynamic Damping helfen. Mehr Feed Forward-Gain bedeutet, dass Feed Forward mehr Einfluss auf die Lenkmanöver bekommt. Weniger Feed Forward überlässt dem PID-Controller mehr Kontrolle. Im Idealzustand sollte Feed Forward den Quadcopter allein fliegen und der PID-Controller nur noch äußere Störeinflüsse wie Wind, Propwash und Luftdruckunterschiede ausgleichen.
Die Einstellungen für Feed Forward werden im Rahmen der korrekten Presets und des Tuning des PID-Kontrollers ermittelt. Anbei eine Aufschlüssung der einzelnen Parameter.
feedforward_transition #
Wird seit Betaflight 4.3 nicht mehr benötigt und sollte auf 0 gesetzt. Transitions unterdrückt die Wirkung von Feed Forward wenn die Sticks nahe der 0-Position waren. Die jitter reduction löst diese Funktion ab.
feedforward_smooth_factor #
Der Smooth Faktor gibt an stark das Feed Forward Signal geglättet wird. Der Code wurde in Betaflight 4.3 grundlegend überarbeitet. Zusammen mit Averaging werden folgende Werte empfohlen, welche mit den Presets eingestellt werden:
- Ein guter Startwert ist 25 für alle Quadcopter
- für 250Hz RC Links wird 40-50 und ein feedforward_averaging von 2_point empohlen
- für 500hz RC Links wird 65-70 und ein feedforward_averaging von 2_point empohlen
feedforward_averaging #
Eine Mittelung wird für sehr schnelle RC-Links empfohlen. Je schneller RC-Links sind, desto mehr Jitter ist im Signal. Billige oder abgenutzte Gimbals oder zitterige Hände erzeugen ebenfalls Jitter. Wer sehr verwackelte Feed Forward Kurven sieht und durch die Erhöhung des smooth_factor oder der Jitter reduction keine zufriedenstellenden Kurven bekommt kann das averaging hochstellen.
feedforward_jitter_factor #
- 7 – Default, ein guter all-round Wert
- 4-5 – Racer. Hier kann es im glatten Geradeausflug zu kleinen Ungenauigkeiten kommen, jedoch werden enge Kurven genauer geflogen.
- 12-15 Freestlye und Cinematic. Bei langsamen Bewegungen ist Feed Forward fast nicht aktiv, bei knackigen Rollen wird es aktiv und sorgt für gutes Setpoint-Tracking.
feedforward_boost #
Der Boost erzeugt mehr Feed Forward Signal wenn die Sticks schneller bewegt werden. Der Boost ist proportional zur Beschleunigung des Sticks. Beim Abbremsen der Stickbewegung wird Feed Forward auch proportional zum Abbremsen gesenkt. Es wird also auch ein „negativer Boost“ angelegt. Dies erzeugt besseres Stick-Tracking bei schnellen Bewegungen. Soll in der Blackbox bei der Einleitung und Ausleitung von Twitch moves das Sticktracking verbessert werden kann man diesen Wert erhöhen. Höhere Werte benötigen ein sehr konstantes RC-Signal. Man sollte diesen Wert in den meisten Fällen default lassen.
feedforward_max_rate_limit #
Wenn man die Sticks schnell an ihr Maximum bewegt schlagen diese an den Endpunkten an. Dies erzeugt eine harte Kante im RC Command, Feed Foward würde hier überschwingen. Das maximale Rate limit lässt Feed Forward schon vor dieser Kante abfallen um ein Überschwingen zu reduzieren.
Weitere Infos in PR 10670.
Troubleshoot #
Zoom in eurem Log nah an die Setpoint Kurve ran. Die Stufen sollen ganz regelmäßig sein und so wenig wie möglich „Doppelstufen“ oder „Dreifachstufen“ aufweisen. (Stufen die 2x oder 3x länger sind als die anderen.) Dies spricht für verloren gegangene Datenpakete. Schaut, dass CRSFShot richtig installiert ist und der Radiolink auf eine feste Updaterate eingestellt ist (zum Beispiel Crossfire 150hz locked) und Deadband im RC Tab von Betaflight deaktiviert wurde. Auch darf die Verbindung nicht ausgereizt werden (LQ oder RSSI zu sehr fallen). Entscheidet für eine feste Datenpaketrate, nicht „dynamic“ wählen!