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
 
RCLogger

FPV1

Banggood

Oben