AQ mit M4 und N4 "bricht aus" ...

rodizio1

Erfahrener Benutzer
#41
Es gibt verschiedene werte, die man benutzen kann um dem GPS zu "vertrauen", und wie "hoch" das vertrauen ist.
Wir benutzen hier die Genauigkeitsangabe !
Da liegt der Fehler. Das GPS kann die tollsten Werte ausgeben, es kann aber trotzdem sein, dass die Positionen nicht stimmen bzw. ungenau sind und umherspringen.

Sowas sauber hinzubekommen ist glaube nicht einfach, die Ardupilot Jungs haben da ein recht komplexes System gebastelt:
https://diydrones.com/profiles/blogs/gps-glitch-detection-in-ac3-1
 

sandmen

Erfahrener Benutzer
#42
Da liegt der Fehler. Das GPS kann die tollsten Werte ausgeben, es kann aber trotzdem sein, dass die Positionen nicht stimmen bzw. ungenau sind und umherspringen.

Sowas sauber hinzubekommen ist glaube nicht einfach, die Ardupilot Jungs haben da ein recht komplexes System gebastelt:
https://diydrones.com/profiles/blogs/gps-glitch-detection-in-ac3-1
Das ist kein Fehler, sondern das ist das System "GPS", mit "unserem" Receiver.
Dann driftet der Copter halt ein wenig... soll ja nicht das Problem sein.
Der Copter darf aber nicht "abstürzen".....!
Problem ist beim Copter nur dann, wenn er eben den Positionsdaten schneller folgen möchte als er physikalisch kann.

Wir "Injecten" via UART am AQX, Positionsdaten von einem Indoor-Positionssystem, mit bis zu 30hz, und fliegen sehr lange,
und hier wurden auch schon mal "Rechen fehler" als Position vor gegeben.
Da war kein Problem zu sehen.

Man muss das vielleicht nochmals speziell testen....

Gruß
 

keilie

Erfahrener Benutzer
#43
Da liegt der Fehler. Das GPS kann die tollsten Werte ausgeben, es kann aber trotzdem sein, dass die Positionen nicht stimmen bzw. ungenau sind und umherspringen.

Sowas sauber hinzubekommen ist glaube nicht einfach, die Ardupilot Jungs haben da ein recht komplexes System gebastelt:
https://diydrones.com/profiles/blogs/gps-glitch-detection-in-ac3-1
Ich sehe das ebenso. Das größte Problem tritt ein, wenn die GPS Genauigkeit sehr hoch ist, und dann GPS-Sprünge infolge von geomagnetischen Störungen auftreten. Die Filter denken dann der GPS-Wert ist genau und bei großer sprunghafter GPS Abweichung kommt dann auch ein großer sprunghafter Korrekturwert aus dem Filter. Der Kopter folgt nun so schnell wie möglich dieser Abweichung. Und das sind die Sprünge die wir hier beobachten.

Die Jungs und die ganze Gemeinschaft von Ardupilot sind ja auch nicht blöd und haben nicht umsonst ein so komplexes System gebaut.

VG Reiner
 

hulk

PrinceCharming
#44
Glitches bezogen sich mehr auf die horizontale ebene.
Keillie spricht von Sprüngen.
Wenn man das Video dazu ansieht, fallen nur die pids ein.
Und den copter grundsätzlich tunen möchte er ja nicht wirklich.
Da liegt der Fehler. Das GPS kann die tollsten Werte ausgeben, es kann aber trotzdem sein, dass die Positionen nicht stimmen bzw. ungenau sind und umherspringen.

Sowas sauber hinzubekommen ist glaube nicht einfach, die Ardupilot Jungs haben da ein recht komplexes System gebastelt:
https://diydrones.com/profiles/blogs/gps-glitch-detection-in-ac3-1
Gesendet von meinem Redmi 4X mit Tapatalk
 

sandmen

Erfahrener Benutzer
#45
Ich sehe das ebenso. Das größte Problem tritt ein, wenn die GPS Genauigkeit sehr hoch ist, und dann GPS-Sprünge infolge von geomagnetischen Störungen auftreten. Die Filter denken dann der GPS-Wert ist genau und bei großer sprunghafter GPS Abweichung kommt dann auch ein großer sprunghafter Korrekturwert aus dem Filter. Der Kopter folgt nun so schnell wie möglich dieser Abweichung. Und das sind die Sprünge die wir hier beobachten.

Die Jungs und die ganze Gemeinschaft von Ardupilot sind ja auch nicht blöd und haben nicht umsonst ein so komplexes System gebaut.

VG Reiner
Ich denke nicht das hier irgend jemand die Personen hinter Ardupilot als dumm hin stellt !

Nochmals, die GPS_Lat & GPS_Lon werte sind die ungefilterten, auf diese wird nicht geregelt.
Es wird auf die gefilterten Werte geregelt !
Wenn bei den raw-gps werten Sprünge drinnen sind, müssen diese nicht automatisch in der gleichen größe auch am Filter Ausgang raus kommen ! Wir verwenden einen Kalman Filter https://en.wikipedia.org/wiki/Extended_Kalman_filter

Man kann natürlich solche "workarrounds" wie die Ardupiloten einbauen, es wird aber in deinem speziellen Fall spätestens,
bei einer Autonomen-Mission wieder knallen :-(, oder du hast Glück und er überlebt.

Gut wird es aber erst, wenn der Copter so engestellt ist, das nichts passieren kann !
Und wenn zusätzlich noch Sensoren (camera für optical flow oder was auch immer) verbaut werden, wie es DJI gemacht hat.

Gruß
Peter
 

keilie

Erfahrener Benutzer
#46
Nochmals, die GPS_Lat & GPS_Lon werte sind die ungefilterten, auf diese wird nicht geregelt.
Es wird auf die gefilterten Werte geregelt !
Das ist ja nun hinreichend bekannt.
Ich denke GPS_VELN, GPS_VELE und GPS_VELD sind gefilterte Werte - wenn ich da nicht richtig liege korrigiert mich bitte - ich habe ja leider keine vollständige Beschreibung aller gelogten Parameter

Wenn bei den raw-gps werten Sprünge drinnen sind, müssen diese nicht automatisch in der gleichen größe auch am Filter Ausgang raus kommen ! Wir verwenden einen Kalman Filter https://en.wikipedia.org/wiki/Extended_Kalman_filter
Wenn der Kalman Filter aber nicht mit den richtigen Eingaben versorgt wird kommt hinten am Filter Ausgang auch nicht der richtige Wert raus.

Man kann natürlich solche "workarrounds" wie die Ardupiloten einbauen, es wird aber in deinem speziellen Fall spätestens,
bei einer Autonomen-Mission wieder knallen :-(, oder du hast Glück und er überlebt.
vielleicht muss man aber solche "workarrounds" einbauen wenn es anders wohl nicht richtig funktioniert

Gut wird es aber erst, wenn der Copter so engestellt ist, das nichts passieren kann !
Wenn der Kopter genügend Abstand zu Hindernissen hat ist ja auch alles ok, aber in der Nähe von Hindernissen kann der Kopter noch so gut fliegen wie er will, solche Ausbrüche werden dann zum Problem.

Und wenn zusätzlich noch Sensoren (camera für optical flow oder was auch immer) verbaut werden, wie es DJI gemacht hat.

Gruß
Peter
Bei der alten Wookong und der alten Naza funktioniert das auch ohne zusätzliche Sensoren ganz gut.

@Peter: ich weiß ihr habt mit dem AQ sehr gute Arbeit geleistet, ich denke aber hier gibt es ein Punkt an dem wirklich noch Verbesserungspotential vorhanden ist.

VG Reiner
 

hulk

PrinceCharming
#47
Kalman filtert aber, da muss das Eingangssignal argh schlecht sein.
Und im Fall von arducopter kommt dann Autoland.
Dein kopter im Video ist schlecht eingestellt. Behebe das, und dann geht's weiter.

Gesendet von meinem Redmi 4X mit Tapatalk
 

keilie

Erfahrener Benutzer
#48
Kalman filtert aber, da muss das Eingangssignal argh schlecht sein.
Und im Fall von arducopter kommt dann Autoland.
Dein kopter im Video ist schlecht eingestellt. Behebe das, und dann geht's weiter.

Gesendet von meinem Redmi 4X mit Tapatalk
Das Video von dem du sprichst, ist lange überholt.
Das Verhalten dort hat nichts mit dem hier beschriebenem Problem zu tun. Und die Sprünge sind sehr wohl auf der horizontalen Ebene. Sprünge auf der vertikalen Ebene zu vermeiden, schafft die Einstellung unabhängig von der GPS Genauigkeit, die barometrische Höhe zu verwenden.
 

sandmen

Erfahrener Benutzer
#49
Rainer, ich denke trotzdem das es 2 verschiedene Themen sind.

1. Verbesserungsmöglichkeiten / Bugfixing im AQ code !

2. Dein Parameter-Setup zur Lage und Positionsregelung !

Zu 1:
Soweit ich das von rodizo1 und dir verlinkten Prinzip von Ardupilot verstanden habe,
war das notwendig weil Ardupilot zu diesem Zeitpunkt keinen Kalman-Filter aktiv hatte! (siehe Post von Randy)
Darum haben die ein Zeitglied (filter) eingebaut...
Mehr oder weniger, wenn Positionsänderung > max. mögliche Positionsänderung, dann verwerfe für Zeit X die GPS Daten !
 

keilie

Erfahrener Benutzer
#50
Peter, klar das sind 2 verschiedene Dinge, habe mir das Ardupilot Prizip nicht genau angesehen. Bin nur den Ausführungen von "rodizio1" und anderen Hinweisen in anderen Foren gefolgt. Genau verstehen würde ich es wahrscheinlich auch nicht wirklich - bin kein Programmierer.

Kalman-Filter sind nun auch nicht gerade mein Fachgebiet. Hier aber ein Zitat aus dem deutschen Wikipedia:
"... Die Besonderheit des 1960 von Kálmán vorgestellten Filters[1] bildet dabei seine spezielle mathematische Struktur, die den Einsatz in Echtzeitsystemen verschiedener technischer Bereiche ermöglicht. Dazu zählen u. a. die Auswertung von Radarsignalen oder GPS-Daten zur Positionsbestimmung sich bewegender Objekte (Tracking)..."

Da steht "sich bewegender Objekte" - kann es sein, dass das Kalman-Filter nicht richtig arbeitet wenn der Kopter nicht in Bewegung ist sondern nur an einer Stelle steht so wie es bei mir der Fall ist?

VG Reiner
 

hulk

PrinceCharming
#51
Er soll ja auch stehen können. Bei ardupilot war der Sprung in der Qualität des Positionshold von apm(8bit) auf pixhawk (32bit mit kalman) sehr gross.
Das Glitch filtern war nur ein kleiner Teil vorher. Selbst mit billigsten China GPS gab es da nicht die Probleme...dafür andere(meist eigenverschulden)

Gesendet von meinem Redmi 4X mit Tapatalk
 

keilie

Erfahrener Benutzer
#52
Um dem Problem weiter auf den Grund zu gehen, habe ich gestern folgendes Experiment gemacht.
Ich habe 2 AQ M4 v2 Systeme mit gleicher FW und gleichen Einstellungen für den Versuch mit GPS Antenne und SD ausgestattet.

IMAG1380.jpg

Wichtig war mir, dass ich einen Zeitpunkt erwische an dem der K-Index nicht im grünen Bereich ist, was mir gestern am frühen Nachmittag auch gelungen ist.

2018-06-23_K-Index.jpg

Dann habe ich 1 AQ ruhig auf die Wiese gelegt den anderen AQ habe ich auf eine ca. 3m große Drehscheibe gelegt. Nun habe ich beide Systeme eingeschaltet die Drehscheibe in Bewegung gesetzt und ca. eine 3/4 Stunde die Logs aufgezeichnet dann habe ich den ruhenden AQ auf die Drehscheibe gelegt und den anderen von der Drehscheibe auf die Wiese gelegt und habe weitere 30min Logdatei aufgezeichnet.

IMAG1370.jpg

Nun habe ich bei der Auswertung der Logfiles interessante Beobachtungen machen können.

In der Zeit in der der AQ un Bewegung ist, ist die GPS Genauigkeit (GPS_HACC und GPS_VACC) um einiges besser als wenn der AQ sich in Ruhe befindet.

GPS_HACC_GPS_VACC.jpg

Sehr schön ist auch zu sehen, dass die GPS Positon (GPS_LON) in der Zeit der Bewegung viel genauer ist als zur Zeit der Ruhe.

GPS_LON_01.jpg

sehr schön ist dabei auch die Sinusförmige Änderung von GPS_LON zur Zeit der Bewegung

GPS_LON_02.jpg

Nun hier GPS_LON vom 2. AQ welcher zuerst in Ruhe auf der Wiese lag und der dann auf die Drehscheibe kam. Hier ist ganz deutlich zu erkennen, dass in der Zeit in der der AQ sich nicht bewegt diese plötzlichen GPS Sprünge auftreten.

GPS_LON_03.jpg

Meine Schlussfolgerung nun daraus, das u-blox Modul macht selbst eine Fehlerkorrektur wenn es in Bewegung ist und liefert dann exzellente Werte. Ist das Modul sprich der Kopter in Ruhe sind die Daten nicht so toll.

Gerne stelle ich Interessierten die Logs auch zur Verfügung.
 

Anhänge

Zuletzt bearbeitet:
#55
Du hast ja zwei M4r6. Kannst du den Test auch mit einer anderen Antenne machen? Also, einer mit deiner Helix und der zweite mit einer aktiven GNNS Patch Antenne?
Lass mir auch mal en Link zu deinen Log-Files zukommen.
 

keilie

Erfahrener Benutzer
#56
Habe den Test auch mit einer 35mm Patchantenne und gps shield durchgeführt.
Das Ergebnis sieht im Prinzip gleich aus. Ist nur immer schwierig ein Zeitfenster zu finden an dem ich den Kindern die Drehscheibe wegnehmen kann, ich Zeit habe und GPS Störungen auftreten.

Den Link zu den Log-Files schicke ich dir per PM
 
FPV1

Banggood

Oben Unten