@Elvis: Herzlichen Dank für Dein Vertrauen, aber ich mache auch viele Fehler. Meine Fortschritte & Rückschritte sind immer klein, aber dafür bin ich immer auf Sicherheit bedacht. Leider gelingt mir das auch nicht immer. Ich versuche überwiegend den Code auch zu testen, bevor der "raus" geht, sonst ist auf jeden Fall eine Warnung dabei.
Mir geht da auch häufiger etwas durch die Latten. Bislang habe ich es schnell genug gemerkt und es ist noch kein ernsthafter Schaden entstanden (von 2-3 Propellern mal abgesehen, von denen ich aus Rückmeldungen weiss). Deswegen ist das immer "try on your own risk". Was mir aber absolut gegen die Natur geht ist, wenn sich "Jason S" bei einer vorbereiteten Präsentation vor die Kamera stellt und sagt (sinngemäss übersetzt): "Unsere Copter können nicht abstürzen.... ein 4 Jähriger kann sie fliegen und ist durch den virtuellen Geozaun abgesichert, der Copter kommt zurück und landet vor seinen Füssen"
Dein Beispiel des Flyaways bei RTL ist absolut unnötig. Ich hatte dort im Forum vorgeschlagen, das FS RTL abzusichern auf Fehlfunktion. Keine Antwort. Das ist immerhin auch eine Antwort, wenn Die es umsetzen um so besser für alle. Mein Vorschlag war ganz einfach: RTL wird ausgelöst, die Distanz zum Ziel (Homeposition) wird sowieso ständig gemessen (nur GPS, Mag irrelevant) und ist bekannt. Wenn jetzt aus irgendwelchen Gründen auch immer (MAG Fehler, starker Wind, ein Motor beim Octa/Hexa kaputt etc) die Distanz zum Ziel grösser, statt kleiner wird (Schwellenwert), dann stoppe das RTL und führe eine Autolandung aus. Natürlich habe ich das sofort für die "Harakiri" umgesetzt ("set gps_rtl_flyaway = X") X ist in Metern und aktuell noch auf 0 (disable), weil ungetestet (bin mir aber zu 99.9% sicher, dass es läuft). Ein RTL FLYAWAY ist m.E ein schwerer Softwarefehler, der nicht auftreten darf. Arducopter sollte man nicht schonen, weil es eben genau nicht mehr ein Hobby Opensoftwareprojekt ist, da steht eine Firma mit handfesten Interessen dahinter. Immerhin ist es noch opensource. Wenn manche Programmierer da auch angeblich umsonst arbeiten, dann taugt eben die QC der Firma nicht. Punkt und aus. Wenn Codestücke programmiert werden, muss man sich gleichzeitig auch Gedanken über die korrekte Initialisierung/Abschalten, Re-Initialisierung und den Kontext machen. Ich denke da im Speziellen an Filtervariablen und Filterlisten, wenn man da so durch den Code stolpert, findet man erschreckend wenig in der Richtung. Es sollte mich nicht wundern, wenn da noch plötzlich uralte Werte aus einer Liste auftauchen, weil sie einfach nicht gelöscht wurde. Ob die Schalter richtig, softwaremässig entprellt sind, sei mal dahin gestellt, da könnte man sicherlich noch etwas von der Multiwii lernen, denn die hat die basalen Sachen drauf. Mittlerweile habe ich mich auch zu einem (abgesicherten) Killswitch breitschlagen lassen. Das ist sicherlich etwas, wovon Arducopter noch lange träumen wird.
Ein anderer Vorschlag (mit programmiertem, fertigen Beispielcode) von mir war eine virtuelle Taumelscheibendrehung um ein bauartbedingtes Kreisen zu kompensieren, wie sie bei jeder besseren Helisteuerung Standard ist. Der Sinn: Jeder Copter ist mechanisch etwas anders, und wenn man z.B im gps Modus immer ein leichtes Kreisen z.B im Uhrzeigersinn hat (rechts rum), und das Mag 1a kalibriert und ungestört arbeitet und alle Pids schon rauf und runter durch sind, dann kann man durch eine "virtuelle" Drehung der Ansteuerung (in dem Fall z.B -3 Grad) dieses kompensieren. Ergebnis: Ne, kalibrier' mal Dein Mag richtig, brauchen wa nich........ das macht doch Lust auf mehr Vorschläge.
@Yups: Danke für Dein Angebot! Aber ich debugge nicht den Code von einer FIRMA. Ich nehme mir die Teile, die ich brauche und wenn mir etwas auffällt, dann kommt das in die issues List (z.B die durchgeknallten Erdkonstanten, MTK Initialisierungsfehler).
@ canoman: Ein Naza ist nun wirklich sehr leicht zu fliegen. Mit dem Arducopter dürfte es eher schwerer für Dich werden. Vielleicht übst Du mit einem Stubenflieger wie blade mqx oder walkera ladybird (getestet - macht nicht schwul!) ?
P.s.: Meine APM ist momentan nicht mehr im Einsatz und wartet auf einen Flächenflieger, da der Arduplane Teil deutlich besser sein soll.... Die alternative Configdatei ist speziell nicht auf Arducopter getestet.
Edit: Achso, Config wegen Harakiri und so. Ich habe noch die original 3dr txt drauf und das GPS fest verlötet. Deswegen habe ich in der kommenden Version eine Art Override drin, d.h. egal welche config in das ublox eingespielt wurde, es wird immer auf Pedestrian geschaltet. Das sollte auch bei höheren Geschwindigkeiten kein Problem sein, weil man dann eine gleiche Basis (für ublox) hat, von der man leicht hochrechnen kann.
LG
Rob