PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GPS - Unterschiedliche Ergebnisse bei gleichem GPS-Modul



piggituX
14.09.2016, 23:08
Hi,


ich beschäftige mich gerade mit dem Thema GPS , DGPS (EGNOS) zur genauen Berechnung der Position bzw. auch als ReferenzSystem.


Ich teste gerade mit einem Adafruit Ulitmate GPS V3 (MTK3339)


Inzwischen bekomme ich fixe Positionen hin, nur liegen die wohl vom eigentlichen Wert leicht daneben.


wirkliche Postion der Antenne: Roter Stern


TestAufbau 1: USB-TTL direkt an den GPS Empfänger (SW: Windows Visual GPS) -> Gelber Stern
TestAufbau 2: Arduino Nano über SWSerial, SDCardLogger -> Grüner Stern
TestAufbau 3: RaspberryPI über CGPS -> Lila Stern


Wie kann es zu den unterschiedlichen Positionen kommen, anders Logging bei SW und dem Arduino. (oder ist es einfach die Toleranz-> Long Err /Latt. Err ? +-2m)


Leider bekomme ich keine EGNOS Satelliten eingefangen obwohl es Enabled ist.


Ich habe gelesen, das man mit Ublox Empfängern besser ein DGPS bauen kann, aber ich versuche erstmal die Basics zu ergründen.


Hat wer von Euch sich mit dem Thema etwas näher beschäftigt ?


Mein Ziel: Eigene fixe Position für den Gartenknecht und Korrektur über Xbeee damit er schön die Wege findet.
Im Netz findet man viel, aber nur Weniges ist auch zu gebrauchen.

cYa

32044

Peter(TOO)
15.09.2016, 07:11
Hallo,

GPS bewegt sich technologisch im Grenzbereich von dem was überhaupt machbar ist, zumindest zu vertretbaren Kosten.
Die Antenne empfängt nicht nur das eigentliche Signal, sondern auch jede Menge Störsignale. Diese streuen auch direkt in den Verstärker ein.
Diese Störsignale beeinflussen natürlich auch die Messgenauigkeit.
Da mit den gemessenen Daten noch einiges an Berechnungen durchgeführt werden muss, vergrössert dies den Fehler noch etwas weiter.

In deinem Fall erzeugen die unterschiedliche Interface auch unterschiedliche, für sie typische, Störsignale. Bei einer seriellen Übertragung hängt das erzeugte Spektrum auch sehr von der Übertragungsrate ab. Wenn du unterschiedliche Baudraten verwendest, müsste dein Stern auch etwas wandern.
Im GPS-Empfänger ist ein µC verbaut, welcher unterschiedliche Unterprogramme abarbeitet, je nachdem welches Interface verwendet wird, erzeugt dies auch unterschiedliche Spektren.

Deine 3 Rechner arbeiten mit sehr unterschiedlichen Taktfrequenzen und erzeugen auch entsprechend unterschiedliche Stör-Spektren. Gerade der RasPi erzeugt mit seinen unzähligen PLLs eine Menge Frequenzen und hat zusätzlich HDMI als weitere Störquelle. Ein Arduino ist da einfacher gestrickt und arbeitet nur mit etwa 20MHz.

Neben der Grundfrequenz hängen die erzeugten Oberwellen und deren Energie auch wesentlich von der Flankensteilheit und der Höhe der Versorgungsspannung ab. Auch da weisen deine Aufbauten Unterschiede auf.

Weiterhin wirkt jeder Draht auch als Antenne.

Eigentlich müsste sich die Position schon ändern, wenn du nur schon den Abstand zwischen Rechner und GPS-Empfänger-Modul veränderst oder eine Abschirmung dazwischen einfügst.

Auch die Versorgungsspannung hat einen Einfluss.

Eine menge Parameter mit denen du rumspielen kannst!
Allerdings sind deine Messungen sehr zufällig, ein anderes Modul kann andere Positionen bestimmen.

MfG Peter(TOO)

schorsch_76
15.09.2016, 07:45
Mann könnte auch versuchen die Position über einen Kalman Filter zu optimieren. [1]
Eine erste Näherung könnte ein gleitender Mittelwert [2] sein über die ausgegebenen Koordinaten (jeder Koordinatenwert für sich)

[1] http://bilgin.esme.org/BitsAndBytes/KalmanFilterforDummies
[2] https://de.wikipedia.org/wiki/Gleitender_Mittelwert

piggituX
15.09.2016, 07:59
Moin Peter,

Danke für deine ausführliche Erklärung. Also vom Prinzip schon schwierig einzufangen, ich denke da wird der Arduino wohl die beste Wahl sein um ein einigermaßen "sauberes" Signal zaubern zu können. macht es Sinn die Baudrate zu erhöhen, oder die Taktfrequenz, wobei bei einer festen Antenne die Trägheit ja eher dazu beitragen würde die Position zu behalten.

Wie habe ich das mit dem EGNOS zu verstehen, sollte man auf einem freien Gelände nicht immer einen Empfangen können, das würde ja noch weiter zur Genauigkeit beitragen.

Ich finde das ein sehr interessantes und spannendes Thema,

andere mögliche Lösung:

Smartphone mit GPS Empfänger und SIM-Karte, die können ja auch sehr genau sein, ich denke da nutzen Sie Anbieter einfach die Sendemasten zur genaueren Ordnung oder ?
Ich habe sogar noch son CAR-GPS Box rumliegen mit SIM-Karte, zum Car-Tracking , mal sehen wie genau das ist.

cYa

- - - Aktualisiert - - -


Mann könnte auch versuchen die Position über einen Kalman Filter zu optimieren. [1]
Eine erste Näherung könnte ein gleitender Mittelwert [2] sein über die ausgegebenen Koordinaten (jeder Koordinatenwert für sich)

[1] http://bilgin.esme.org/BitsAndBytes/KalmanFilterforDummies
[2] https://de.wikipedia.org/wiki/Gleitender_Mittelwert


HI,

ich glaube das nutzt der Visualisierer den ich benutzt habe um die Punkte auf die Karte zu bekommen. Dem habe ich das NMEA Log eingelesen und der hat mir dann die Punkte generiert.

http://www.gpsvisualizer.com/

danke für die Links , ich stöber da ein bisschen

cYa

damfino
15.09.2016, 13:58
Wie lange hast die Position eingemessen?

Die Ionosphäre kann sich von Stunde zu Stunde ändern, und schon liegt man 10m daneben.
Oder es werden einfach andere Satelliten als bei der Messreihe zuvor empfangen, gibt wieder einen Unterschied.

Ich hab einen Skytrak GPS Empfänger der mit Korrekturdaten im Idealfall auf 1cm genau geht, real in meiner Umgebung (Siedlungsgebiet, Häuser, hohe Bäume) es in Bodennähe auf meinem Roboter einfach nicht schafft. Mal schaffte er <50cm, am nächsten Tag nur 5m.
Am Hausdach als Referenzstation würde es wahrscheinlich funktionieren.

Man kann den GPS Empfang verbessern indem man ein Blech unter dem Empfänger plaziert (Ground plane), verwende 10x10cm.

Egnos Satellit steht tief im Süden, kann sein dass Bäume oder Häuser den Empfang verhindern.

piggituX
15.09.2016, 14:58
Hi damfino,

danke für die Antwort, ja dann tüdel ich mal nen AluBlech drunter aktuell stehen die Empfänger auf nem Gartentisch. Nun hab ich paar alte Smartphones rasugekramt HTC HD2, HTC DesireX One, Samsung Galaxy Grand Prime, das HTC DesireX hat lustigerweise den Standort am besten wiedergegeben. bei HTC's kann man auch über die USB Schnittstelle debuggen, vielleicht eine weitere Idee der Standortbetsimmung. Ich werde mal weiter grübeln.

cYa

RP6conrad
16.09.2016, 07:07
Nach mein verstanden muss der GPS die Satelliten auswahlen von welche das Signal stark genug ist. Das konnte für 3 GPS, obwohl die an sich identisch sein, unterschiedlich sein. Damit ist naturlich die basis von pos. bestimmung unterschiedlich für diese 3 GPS. Irgendwo soll men die GPS zwingen von die gleiche Satelliten auszuwahlen fur ihre pos. bestimmungen. Ich weiss nicht oder das ueberhaupt moglich ist mit standard GPS Empfanger. Kannst du auslesen an welche Satelliten diese GPS sich orietieren ?

damfino
16.09.2016, 07:35
Man bekommt meistens nur raus welche Satelliten empfangen werden, aber nicht welche davon auch zu Berechnung verwendet werden.

Und nicht vergessen, die CEP oder HDOP Werte sind nur statistische Aussagen, CEP <2m bedeutet nur das 50% der Messwerte auf 2m genau sind.

Wenn du ein DGPS System im Zentimeterbereich aufbauen willst kann ich dir meinen Empfänger empfehlen: http://navspark.mybigcommerce.com/ns-hp-rtk-capable-gps-gnss-receiver/
Entweder mit Referenzdaten (gratis) aus dem Internet (mein System) oder einen zweiten NS-HP nehmen.

Bei Multikopter Anwendungen gibt es damit gute Erfahrungen.

Peter(TOO)
16.09.2016, 14:31
Nach mein verstanden muss der GPS die Satelliten auswahlen von welche das Signal stark genug ist. Das konnte für 3 GPS, obwohl die an sich identisch sein, unterschiedlich sein. Damit ist naturlich die basis von pos. bestimmung unterschiedlich für diese 3 GPS. Irgendwo soll men die GPS zwingen von die gleiche Satelliten auszuwahlen fur ihre pos. bestimmungen. Ich weiss nicht oder das ueberhaupt moglich ist mit standard GPS Empfanger. Kannst du auslesen an welche Satelliten diese GPS sich orietieren ?
Das geht so gar nicht!
Die Satelliten umkreisen die Erde in etwa 20'000km Höhe, die Geostationäre Umlaufbahn befindet sich in etwa. 36'000km Höhe. Somit umrunden die GPS-Satelliten die Erde in etwa 12 Stunden einmal. Im ebenen Gelände wäre ein Satellit etwa 6H sichtbar, von Horizont zu Horizont.
Somit sieht der GPS-Empfänger immer wieder andere Satelliten.
Spätestens nach ein paar Stunden muss der Empfänger andere Satelliten auswählen.

Theoretisch könnte man mit 3 Satelliten die Position bestimmen, aber dann müsste der Empfänger auch eine Atomuhr besitzen, man braucht also praktisch mindestens 4 Satelliten, davon einen für die Zeit. Um die Fehler durch Rauschen und Störungen klein zu halten, wertet man möglichst alle Satelliten aus.

MfG Peter(TOO)

RP6conrad
16.09.2016, 16:57
Was geht so gar nicht ? Meistens sind mehr dan 4 satelliten Sichtbar, aber irgendwo muss den Empfanger diese Satelliten auswahlen die das besten Signal abgeben. Naturlich aendert sich das in die Zeit, so regelmassig aenderen sich die ausgewahlte Satelliten. Standard GPS kann man aber nicht zwingen bestimmte Satelliten zu nutzen (von wie ein Signal vorhanden ist). Mit D-GPS ist das wahrscheinlich anders, ist mir aber nicht bekannt.

Peter(TOO)
16.09.2016, 17:37
Was geht so gar nicht ?
Den GPS-Empfänger zu zwingen immer die selben Satelliten zu verwenden.
Theoretisch könnte das für 1-2h funktionieren, aber die Ionosphäre kann die Empfangsqualität im Minutentakt verändern.

MfG Peter(TOO)

piggituX
16.09.2016, 20:39
Naja,

meine Beoachtungen sind so, das er immer mind. 6-9 im Zugriff hat mit unterschiedlichen Signalstärken, und die ID der Satelliten ändert sich auch. Ich hatte vor, das so ungefähr wie dampfino es beschrieben hat zu bauen, so wie die Dronen Flieger es auch machen, gerade reizt es mich aber erstmal das genau technisch zu verstehen.

ja ich kann einige Einstellungen des MTK3339 Chip des GPS Empfängers verändern, da gibt es ein Datenblatt zu, ob alles Sinn macht zu verändern, ich bin ja noch in der TestPhase.

cYa

spunky9003
02.02.2017, 21:47
warum nimmst du nicht zwei uBlox und läßt mit RTKlib die Position korrigieren, damit kommt du auf eine Abweichung im cm-Bereich (0-10 cm), musst nur irgendwie die Daten per Funk austauschen. Ich habe sowas schon erfolgreich aufgebaut: http://www.gpsforum.geospector.de/phpbb/viewtopic.php?f=3&t=3615

piggituX
03.02.2017, 10:06
Leider gehören die Ublox Dinger nicht gerade zu den kostengünstigen Vertretern der GPS Findung. Ich habe deinen Thread im angegebenen Forum gelesen, als Landwirt ist sowas schon hilfreich, und da ist das auch gut investiert, und ich denke im Vergleich zu den Kommerziellen Vertretern bist du bei weitem günstiger und hattest auch noch Spass dabei sowas zu bauen.

ich verfolge nun den Ansatz mit WLAN AccessPoints, aber das dauert alles noch etwas, bei mir sind es aber auch nur 800 qm Garten. Und am Ende bleiben mir noch Chaos Zufall-Fahrt mit Draht im Boden (*grusel)

Ceos
03.02.2017, 10:30
schonmal mit kompasskorrigierter odometrie probiert? die wegstrecke lässt sich ja hinreichend genau (er)mitteln und die ausrichtung anhand von kompass ermitteln. Die Position ist dann eine interpolation ... und im falle eine kollision(mit bekannten objeketn oder eben der drahtschleife) ist es dann eine synchronisation ....

mit so vio "ionen" kann ja fast nix mehr falsch laufen

spunky9003
03.02.2017, 10:44
Leider gehören die Ublox Dinger nicht gerade zu den kostengünstigen Vertretern der GPS Findung.

ja, da hast du recht, es gibt Empfänger für 80€ (http://www.csgshop.com/product.php?id_product=170) und welche für 10€ (http://www.ebay.de/itm/272499481659), ich habe bisher nur die teuren verwendet, habe mir aber mal so einen billigen bestellt, mal schauen ob die sich großartig voneinander unterscheiden oder ob die vergleichbare Werte liefern. Der größte Posten macht dann aber noch die benötigte Antenne aus (100-120€), am besten eine Dual-Feed Antenne.

piggituX
03.02.2017, 13:28
mmh Kompass hatte ich schon als Idee, ich hatte die dann verworfen, als ich in anderen Threads von den elektronischen Störungen anderer Bauteile lass.

Ceos
03.02.2017, 13:35
du solltest schon eine magnetfreie stelle für das ding suchen ... wenn dir asuro was sagt, ich habe meine kompass auf einer kleinen platine auf dem batteriefach montiert und die motoren nur etwa 2cm darunter haben keinen ausreichenden effekt darauf gehabt!

problematischer waren da eher die eisenträger im boden des zimmers wo ich die versuchsstrecke aufgebaut habe, aber die störung waren so lokal und kurzfrisitg dass sie das messergebnis nicht all zu stark beeinflusst haben


nach ungefähr 5m strecke hatte ich nur can 5cm abweichung vom ziel und das mit der sch**** odometrie des asuros

Ich habe im code die odometrie mit dem kompass abgegelichen und kurze starke detlas des kompass als störung verworfen und einfach die interpolation fortgesetzt (also die letzte bekannte abweichung angenommen)

ähnliches mit der odometrie, starke abweichungen ohne kompassänderung habe cih als rutschende räder oder störlicht ignoriert und mit angenomener gleicher geschwindigkeit weiter interpoliert

piggituX
03.02.2017, 13:54
ok, dann behalte ich das mal im Hinterkopf. Danke für die Ausführungen. ich mein ich habe noch irgendwo ein Breakout Board wo auch einer mit drauf ist, glaub das war nen Adafruit 10DOF.
kann ich dann mit drauf schnallen und schauen wie er sich verhält.