Flug am 7.10.2018 beim MSC Diedorf
Setup
Firmwarekonfiguration
Für beide Modelle (Freddy und Peter) wurden die folgenden Parameter gesetzt:
- FW_THR_CRUISE auf 40%
- FW_AIRSPD_TRIM auf 17 m/s
- FW_AIRSPD_MAX auf 35 m/s
- FW_AIRSPD_MIN auf 12 m/s
- FW_T_CLIMB_MAX auf 7 m/s
- FW_T_SINK_MAX auf 13 m/s
Daten
Flüge mit Freddy
Konfiguration:
- Firmware 1.7.3
- ca. 1400g Gewicht
- Schwerpunkt kurz hinter dem vorderen Servokabel am Flügel
- Keine Haube
- Airspeedsensor über GPS montiert
- COBRA C-2814/20 mit 850 KV
- Propeller 10×7
- 4000 mAh Akku
Kalibrierung:
Vor dem Flug wurden Kompass, Gyros, Accelerometer und der Airspeedsensor kalibriert.
Es bestand ein Kompassfehler von etwa 10 Grad dessen Ursache nicht geklärt wurde. Es wurde bei einigen Flügen die Sollhöhe des Landepunktes auf -2m gegenüber Startpunkt angegeben (Welche? ⇒ Check im Log).
1. Flug:
Flug mit deaktiviertem Airspeedsensor. Flug vollständig im Mission Mode. Kurzer Flug mit Start / Kehre / Landung.
Landung war präzise.
2. Flug:
Flug mit aktiviertem Airspeedsensor.
Landung erfolgte außerhalb des erwarteten Bereichs.
FW_AIRSPD_TRIM = 17 m/s
3. Flug:
Flug mit aktiviertem Airspeedsensor. Es wurden ein Suchmuster mit einer Gesamtstrecke von ca. 8km abgeflogen. Ca. 20m vor dem Landepunkt wird augenscheinlich ein Abfangmanöver geflogen.
FW_AIRSPD_TRIM = 17 m/s
TODO: Details eintragen
4. Flug:
Flug mit aktiviertem Airspeedsensor. Das gleiche Suchmuster wie beim 3. Flug, aber mit geändertem Sollspeed. Die Fluggeschwindigkeit ist sichtbar höher. Die höhere Geschwindigkeit wird scheinbar auch während des Landeanflugs angestrebt. Erst einige Meter vor der Straße (ca. 20m vor Landepunkt) wird augenscheinlich ein Manöver geflogen um die Geschwindigkeit zu reduzieren. Man muss mal im Log nachschauen wann eigentlich die Geschwindigkeit reduziert werden soll.
FW_AIRSPD_TRIM = 25 m/s
TODO: Details eintragen
Flüge mit Peter
Konfiguration:
- Custom Firmware Firmware 1.8.0 + X-UAV Mini Talon airframe
- ca. 2000g Gewicht
- Schwerpunkt auf dem vorderen Servokabel am Flügel (Zwischen den Flügen geändert)
- Haube montiert
- Airspeedsensor am Flügel montiert
- COBRA C-2814/20 mit 850 KV
- Propeller 10×8
- 10000 mAh Akku
Kalibrierung:
Vor dem Flug wurden Kompass, Gyros, Accelerometer, Level Horizon und der Airpeedsensor kalibriert.
Es bestand ein Kompassfehler von mehr als 10 Grad dessen Ursache nicht geklärt wurde.
1. Flug:
Konfiguration:
- Schwerpunkt auf dem vorderen Servokabel am Flügel
Die Stabilität wurde als sehr gut empfunden.
2. Flug:
Konfiguration:
- Schwerpunkt etwa 6mm vor dem vorderen Servokabel am Flügel
Die Stabilität wird als schlechter als beim 1. Flug empfunden.
3. Flug:
Konfiguration:
- Schwerpunkt auf dem hinteren Servokabel am Flügel
Der Flieger wirkt deutlich instabiler als vorher. Um 13:11:24 wurde ein Abfangbogen geflogen.
4. Flug:
Konfiguration:
- Schwerpunkt wieder auf dem vorderen Servokabel am Flügel
Die Stabilität wird abermals als gut empfunden. Der Abfangbogen (13:27:03) erscheint Jürgen gut.
Außerdem wurde der Stallspeed getestet (13:27:29) und mit etwa 11.5 m/s ermittelt.
Es wurden TECS Parameter für einige grundlegende Flugzeugeigenschaften erflogen (siehe TECS Tuning)
Analyse / Ergebnisse
Erleichterter Handstart
Es wurden verschiedene Möglichkeiten versucht, um einen sichereren Start zu ermöglichen.
Das direkte Aktivieren des Takeoffs über die Fernbedienung hat sich leider nicht bewährt, da der Controller die Startsequenz zu schnell abbricht.
Bessere Ergebnisse lieferte das Herabsetzen des Katapultbeschleunigungsschwellwert (LAUN_CAT_A) auf 15 m/s^2 welche von Ardupilot für einen Handstart empfohlen wird.
Eine Kombination aus herabgesetztem Katapultbeschleunigungsschwellwert und einem Antäuschen des Starts um das volle Throttle vorzeitig auszulösen führte zu mehreren sehr gut gelungenen Starts. Das hohe Drehmoment des Propelleranlaufs wurde so zuverlässig vom Werfer abgefangen und nach Abwurf kam es so lediglich zu minimalem Abkippen nach links.
Erflogene Parameter für das korrekte TECS Tuning
(siehe https://docs.px4.io/en/advanced_config/pid_tuning_guide_fixedwing.html)
Die folgenden Werte wurden mehrmals manuell erflogen und per Telemetrie ausgelesen:
- FW_AIRSPD_TRIM 17 m/s (61,2 km/h)
- FW_THR_CRUISE 41%
- FW_THR_MAX 1.0
- FW_THR_MIN 0.0
- FW_AIRSPD_MIN 14 m/s
- FW_T_CLMB_MAX 7.5 m/s
- FW_AIRSPD_MAX 18 m/s (muss vermultich nochmal mit höherer Geschwindigkeit geflogen werden)
- FW_T_SINK_MAX -2.5 m/s (muss vermutlich nochmal mit höherer Geschwindigkeit geflogen werden)
- FW_T_SINK_MIN -1.5 m/s
Weiteres Vorgehen
Themenbereich Grundparameter / Hardware
Erreichtes
Die ersten Grundparameter des Fliegers bezüglich eines reproduzierbaren, stabilen Verhaltens wurden gesetzt.
Das Gewicht des Fliegers sollte etwa 2 kg betragen.
Der Schwerpunkt sollte auf etwa 70mm liegen (Höhe Servokabel)
Es wurden erste grundlegende Eigenschaften des Flugzeugs erflogen welche im Autopilot konfiguriert werden können. Einige der Parameter müssen durch weitere Testflüge nachjustiert werden.
Die Einstellwinkeldifferenz kann für das gewählte Modell als gegeben angesehen werden.
Nächste Schritte
Die Ansteuerung der Ruder sollte reproduzierbar und über mehrere Modelle gleich funktionieren. Laut verschiedener Modellflieger sollen die Anschläge in Software begrenzt werden und nicht gegen eine physikalische Begrenzung laufen (im Moment für manche Servos der Fall).
Des Weiteren sollte eine möglichst genaue Ansteuerung garantiert werden. Hierzu sollte sichergestellt werden, dass die Befestigung der Servos und das verwendete Gestänge nur akzeptables Spiel zulassen.
Um die Ausschläge in Software zu begrenzen dienen vermutlich die Parameter PWM_MAIN_MAXx (PX4 Parameter List) und PWM_MAIN_MINx (PX4 Parameter List) sowie PWM_MAIN_TRIMx (PX4 Parameter List). Diese werden von QGroundControl für unsere Firmwarestände leider nicht aufgelistet.
Die Parameter TRIM_PITCH, TRIM_YAW und TRIM_ROLL (PX4 Parameter List) legen die Werte für den Geradeausflug fest. Sie haben also nicht den Sinn die neutrale Position der Ruder festzulegen.
Die angestrebten Werte für Yaw, Pitch und Roll werden einem Mixer übergeben. Der Mixer rechnet die Werte auf die unterschiedlichen Ausgänge um. Die tatsächliche Ansteuerung der Ausgänge übernimmt ein PWM-Treiber.
Theoretisch ist es auch möglich im Mixer (PX4 Dokumentation) die Werte zu begrenzen. Dies erscheint mir aber nicht korrekt.
Die Dokumentation ist hier lückenhaft, aber der Sourcecode zeigt die Zusammenhänge klarer auf:
Unser Setup verwendet -1 bis +1 als Ausgangswerte für den Mixer und damit als Eingangswerte für die PWM-Treiber.
PWM_MIN und PWM_MAX sind die Grenzwerte für den PWM-Treiber. Das heißt die Werte -1 bis +1 werden gleichmäßig auf die Strecke zwischen PWM_MIN und PWM_MAX abgebildet.
PWM_TRIM wird als Offset für die Ausgangswerte des Mixers verwendet (und nicht um einen neuen Mittelpunkt des Servowegs zu setzten). Das heißt ein Trimwert von 0.2 beschneidet den Weg eines vom PWM-Treiber gesteuerten Servos in die positive Richtung auf 80% des ursprünglichen Weges und erweitert den Weg in die negative Richtung auf 120% des ursprünglichen Weges. Dies fällt besonders bei Werten für V-Leitwerk ins Gewicht, da dieses in unserem Setup auf mit 150% angesteuert werden kann (bei Anforderungen an Pitch und Yaw zur gleichen Zeit).
TRIM_PITCH, TRIM_ROLL und TRIM_YAW führen scheinbar zum selben Effekt.
Beim Einbau und der Konfiguration der Servos sollten diese Erkenntnisse berücksichtigt werden.