Performance von Position Hold und RTH

#1
Hallo Zusammen,


ein Problem beschäfigt mich immer noch bei meinem Multiwii-Quadkopter.

Hier kurz mein Setup:
- Symetrischer X-Quad (42 cm, ca. 1 kg Fluggewicht)
- 4x ESC 20A SimonK
- 4x 1050 kV Burshless
- 4x 9x4.7 Carbon verstärkt AP Propeller von Flyduino
- 3S 5000 mAH Lipo
- MultiWii Crius SE V2.0 (Firmware 2.2)
- I2C GPS Nav Modul (v2.2Beta1 r62)
- UBLOX CN-06 / NEO-6M GPS (Version 2 mit EEPROM)
- 20 mm Patch mit GPS-Shield

Position Hold:
Der Kopter hält wirklich sehr gut seine Position (+- 1 m). Allerdings gibt es eine Art Zucken, das ca. alle Sekunde durch den Kopter schießt. Dabei drehen 1-2 Props oder auch mehr wohl kurz schneller und der Kopter neigt sich kurz. Akustisch hört man das auch recht gut. Es ist nicht stark und auch ungefährlich, stört aber massiv. Ich habe viele PID Einstellung getestet, aber das bleibt immer gleich quasi. Bei Wind ist es noch stärker mit dem Zucken, da er wohl mehr korrigieren/kompensieren muss.

RTH:
Klappt trotz aller Einstellung wie Max Speed (cm/s) und erhöhter max. Neigungswinkel quasi überhaupt nicht. Beim Aktivieren dreht der Kopter brav in die richtige Richtung und probiert zu Home zu beschleunigen. Aber irgendwie packt er es nicht. Die Geschwindigkeit ist sehr gering oder er bleibt gar ganz stehen. In dfer Konfig bin ich schon auf Werte gegangen, dass er im Grunde mit 40-50 km/h (1200 cm/s) zurückkehren sollte. Die Einstellungen zeigen aber null Wirkung. Kann ich genausogut bei 100 cm/s lassen.

Jeder Tipp ist Willkommen!!! Oder ihr beschreibt, bei welchen Setup und Settung es bei euch wie (Speed, Zuverlässigkeit, etc.) klappt.

Grüße
Sebastian
 

reverser

Erfahrener Benutzer
#2
Wegen dem Zucken, probier mal den Wert für D von PosR runterzudrehen. Musste den Wert gegenüber der Standardeinstellung auch ziemlich reduzieren.

RTH funktioniert bei mir super und 100% zuverlässig. Mit Originalwerten im Sketch schätze ich mal das er ~10 kmh macht, mit wie gegen den Wind.
 
#3
Hm Mist, ich hatte gestern geantwortet und nun sehe ich, dass die Antwort garnicht hier ist. Also nochmal:

Mit D werde ich demnächst mal bissel rumspielen. Hatte ich aber bestimmt schon gemacht bei all den frustierenden Tests.

Hast du bei RTH mal mehr Speed probiert, also ob das auch wirklich umgesetzt wird?

Zudem könnte es für mich, trotz das jeder Kopter anderes ist, mal deinen Satz PID (Gui-Screenshoot) zu sehen. Das wäre super.
 

reverser

Erfahrener Benutzer
#4
Moin,

ne, hab im Sketch nie etwas geändert. Ich "benutze" RTH auch nicht wirklich, GPS und co ist für mich nur der Rettungsanker, fliege zu 99% im Acromode.

Hier sind meine Einstellungen. Benutze eine Multiwii Pro 2.0 FC, ist aber ein 3,5Kilo-Octo, vielleicht sind Baro/GPS PID´s ja einigermaßen übertragbar?!

Octo PID.png
 

Roberto

Erfahrener Benutzer
#5
Neben dem Regelungs "D" Anteil kann man auch die nav slew rate verändern
Code:
   #define NAV_SLEW_RATE              30        // Adds a rate control to nav output, will smoothen out nav angle spikes
Dabei gilt: Je KLEINER der Wert desto MEHR wird gefiltert (ist etwas merkwürdig). D.h. eine Slewrate von "20" ist stärker und filtert mehr das Zucken. ABER natürlich wird dadurch auch die GPS Regelung verzögert. Das kann insbes. über den "I" Anteil zu einem Kreisen führen (natürlich ist ein Kreisen nach wie vor 90% ein Magnetometer Problem).
Die ganze GPS Regelung bewegt ("unsichtbar") Deine Nick/Roll Steuerung des Level ("Angle") Modus. Deswegen muss der Angle modus über seine Pids natürlich primär gut eingestellt sein.
LG
Rob

EDIT: Das langsame RTH kommt vor allem von der fehlenden TILTCOMPENSATION, wie sie in Arducopter 2.9.1 enthalten ist. Dadurch wird der Copter im Erreichen der Zielgeschwindigkeit unterstützt. Leider pflegt EOS Bandi den mwii GPS Code nicht mehr. Hier habe ich das mal für mein Nazeprojekt eingebaut: https://github.com/Crashpilot1000/SummerGames2.4/blob/master/src/navigation.c#L224 . Das ist dann (je nach Wert für "nav_tiltcomp" z.B 20 oder 30 oder 40 ) ein RTH on steroids.
Im Prinzip lässt sich das so auf den mwii code übertragen. Im APM original war das Arduino freundlicher mit integer, statt mit floats gelösst, da müsste ich nochmal die Originalstelle im Arducopter code suchen. Vielleicht schaut sich das nochmal jemand an, der mit dem aktuellen mwii code vertrauter ist. Schliesslich sind das nur kleine, aber sehr effektive Änderungen. Ich könnte da höchstens eine theoretische Lösung für die mwii zusammenhäkeln, weil meine mwii auf keinem copter mehr sitzt.
 
Zuletzt bearbeitet:
FPV1

Banggood

Oben Unten