Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA: GPS Empfang verbessern

GPS Empfang verbessern 3 Jahre 7 Monate her #8263

  • Werner
  • Werners Avatar Autor
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
Vielleicht ist es besser wenn man die Ergebnisse nach Precision3D gewichtet und mittelt. Die Ausreißer kommen vermutlich vom Wechsel von einem auf den anderen Empfänger.

Wie groß ist die Abweichung jetzt gegenüber einer Einzelmessung?

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

GPS Empfang verbessern 3 Jahre 7 Monate her #8264

  • nero76
  • nero76s Avatar
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Hier eine Version mit Gewichtung (basierend auf H_Accuracy und V_Accuracy), der UBX-Parser kann jetzt auch DOP auslesen.

Den Fehler kann ich nur optisch schätzen da ich keine exakten Werte habe. Ich bin immer um den weissen Fleck gelaufen den man auf dem Bild im Hintegrund sieht. Die Empfänger waren bei dieser Messung nicht gut drauf, daher der große Fehler bei den Einzelmessungen.

Fehler einzeln: max. 7m
Fehler kombiniert: max. 2,5m

Anhang:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software
Letzte Änderung: von nero76.

GPS Empfang verbessern 3 Jahre 7 Monate her #8265

  • Werner
  • Werners Avatar Autor
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
Das letzte sieht am Besten aus.

Scheint also brauchbar zu sein, oder wie ist deine Meinung?

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

GPS Empfang verbessern 3 Jahre 7 Monate her #8266

  • nero76
  • nero76s Avatar
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Ja. Allerdings müssste wohl mehr getestet werden (mehr Daten sammeln, Verfahren dann damit optimieren). Vielleicht wäre es sinnvoll noch Unterstützung für serielle Schnittstelle, Datei-Aufzeichnung (.ubx) und Visualisierung einzubauen. Dann kann jeder damit losgehen und unkompliziert Daten sammeln :-)

An meiner Hardware-Test-Ausrüstung muss ich auch noch feilen - das war jetzt so auf die Schnelle umgesetzt (Empfänger in die Hand genommen und losgelaufen).

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software

GPS Empfang verbessern 3 Jahre 7 Monate her #8267

  • nero76
  • nero76s Avatar
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Die Empfänger selber können bestimmt auch noch besser filtern - ich sehe z.B. dass meine derzeit auf "Portable" Filter eingestellt sind. Da wird eine max. Geschwindigkeit von 50m/Sek angenommen. "Stationary" würde einen Rasenmäher wohl eher beschreiben? (max. 6m/Sek)
www2.u-blox.com/images/downloads/Product...S.G6-SW-12013%29.pdf

Empfänger konfigurieren, Fehler-Visualisieren und Aufzeichnen in Datei lässt sich wunderbar hiermit:
www.u-blox.com/de/product/u-center-windows

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software

GPS Empfang verbessern 3 Jahre 7 Monate her #8270

  • Werner
  • Werners Avatar Autor
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50

AlexanderG schrieb: Empfänger konfigurieren, Fehler-Visualisieren und Aufzeichnen in Datei lässt sich wunderbar hiermit:
www.u-blox.com/de/product/u-center-windows


Aber nur solange der Buffer Akku am Empfänger funkioniert, danach sind alle Einstellungen weg. Die Akkus halten leider nicht lange, nach ca 2 Jahren sind die oft schon defekt. Bei meinem ersten Navi hatte ich dann stattdessen ein Goldcap angeschlossen.

Bei Stationary wird oft versucht eine Position zu halten, bei Abweichungen über einen längeren Zeitraum springt dann die Position (bei meinem alten Empfänger). Fußgängermodus wäre am Besten, wenn vorhanden.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

GPS Empfang verbessern 3 Jahre 7 Monate her #8271

  • nero76
  • nero76s Avatar
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Ich werde wohl die Konfigurationsdaten selber zum Empfänger schicken müssen - meine beiden Empfänger vergessen auch dauernd ihre Daten :)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software

GPS Empfang verbessern 3 Jahre 7 Monate her #8273

  • nero76
  • nero76s Avatar
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Erster Prototyp im Anhang (incl. Windows Binary)
-beliebig viele ublox6/7/8 Empfänger (seriell/USB)
-automatische ublox-Konfiguration
-Visualisierung aller Empfänger (derzeit sehr simpel gehalten)
-Demnächst mehr :) ...


Anhang:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software
Letzte Änderung: von nero76.

GPS Empfang verbessern 3 Jahre 7 Monate her #8275

  • Werner
  • Werners Avatar Autor
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
Bist du schnell, ich bin noch beim lesen der Dokus.
Werde die Daten aber auch aus meinen ublox4 rausholen. Aber weniger Umfangreich, muss mittlerweile auf jedes Byte SRAM achten.

LG!

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

GPS Empfang verbessern 3 Jahre 7 Monate her #8276

  • Werner
  • Werners Avatar Autor
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
Habe noch etwas gefunden:
es gibt die PUBX Nachrichten, die zB Horizontal Accuracy enthalten, die werden im gleichen Format wie NMEA geschickt. Dann braucht man keinen speziellen Parser.
Müssen auch extra freigeschalten werden.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

GPS Empfang verbessern 3 Jahre 7 Monate her #8277

  • nero76
  • nero76s Avatar
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Allen ein Frohes Neues und alles Gute für 2016 :-)

PUBX: wenn man damit auskommt, warum nicht - derzeit sieht es so aus als wenn man noch mehr als nur 'Accuracy' auslesen muss um die Güte einer GPS-Positions-Lösung robuster erkennen zu können. Im stationären Test schwankt hier Accuracy doch sehr und sieht für für sich allein genommen für mich nicht besonders aussagekräftig aus.

Im Anhang eine neue Version des "ublox-Trackers" (Windows Binary und Code). Satelliten-Karten werden nun automatisch geladen. GPS-Daten werden automatisch in Dateien geschrieben und können nachträglich wieder abgespielt werden.
Aufzeichnen in einen existierenden Ordner namens "1":
A) Mit einem Empfänger: gps.exe record 1 \\.\com5 9600
B) Mit zwei Empfängern: gps.exe record 1 \\.\com5 9600 \\.\com6 9600
C) Mit drei Empfängern: gps.exe record 1 \\.\com5 9600 \\.\com6 9600 \\.\com7 9600

Aufzeichnung abspielen des Ordners namens "1":
A) Mit einem Empfänger: gps.exe play 1 \\.\com5 9600
usw.

Wer den Code kompilieren möchte, installiert eine IDE (z.B. CodeBlocks ) mit den installierten Libraries 'CodeBlocks' und 'Boost'.

Anhang:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software
Letzte Änderung: von nero76.

GPS Empfang verbessern 3 Jahre 7 Monate her #8278

  • Werner
  • Werners Avatar Autor
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
Dein Test wo du nur nach Accuracy gewichtet hast sah aber schon ganz gut aus.
Und bei diesen Werten ist eine Einheit hinterlegt, im Gegensatz zu hdop das für irgendwas steht.

Versuche gerade das ublox Protokoll am Roboter umzusetzen, die ersten 4 Bytes mit Heady und ID funktionieren, Werte sind meistens 0 oder irgendwas riesiges.
PUBX0 funktionierte sofort...
Programmieren nervt halt ab und zu ;)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

GPS Empfang verbessern 3 Jahre 7 Monate her #8280

  • nero76
  • nero76s Avatar
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Ja, ist wirklich nervig hin- und wieder. Prototypen (so wie den ublox-Tracker hier) baue ich lieber direkt schnell mal am Rechner. Damit dann erstmal weiter testen/optimieren und wenn ich richtig zufrieden bin kommt es vielleicht in den Ardumower ;-)

Bei 'Accuracy' hatte ich noch einen Einheiten-Fehler drin, jetzt sieht der Wert auch schon plausibler aus :)

Schauen wir mal was die weiteren Tests so ergeben :-)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software

GPS Empfang verbessern 3 Jahre 7 Monate her #8282

  • nero76
  • nero76s Avatar
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Ein kurzer stationärer Test (10 Min.) mit GPS-Antenne auf dem Hausdach zeigt was mit einem einzigen ublox6 (im Idealfall, d.h. ohne Reflektion) für Echtzeitmessung so machbar wäre:

max. Fehler: etwa 1.5m
PAccuracy (3D) zeigt dabei immer: etwa 0.6



Anhang:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software
Letzte Änderung: von nero76.

GPS Empfang verbessern 3 Jahre 7 Monate her #8283

  • nero76
  • nero76s Avatar
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Im ublox Datenblatt findet sich ein interessanter Hinweis: "GPS quality indicators like DOP values, number of SV, residuals etc."

DOP: je nach Konstellation der empfangenen Satelliten ändert sich die maximal erreichbare Genauigkeit der Lösung
SV: je nach Anzahl der Satelliten ändert sich die maximal erreichbare Genaugikeit der Lösung
Restfehler/Residuale: je nach Störungen bei einem empfangenen Satelliten ändert sich der Restfehler für diesen Satellit - ein Beispiel sieht man im Bild im letzten Beitrag (Residual). Der Restfehler eines Satelliten gibt an wie gut die Näherungslösung der Positionslösung für diesen Satelliten passt.

Diese Werte sollte man sich zur Umschaltung auf den aktuellen gewählten GPS-Empfänger nochmal näher anschauen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software
Letzte Änderung: von nero76.

GPS Empfang verbessern 3 Jahre 7 Monate her #8284

  • Werner
  • Werners Avatar Autor
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
Den HDOP und SV Wert verwende ich schon, beide sind nur bedingt Aussagekräftig. HDOP ist eine Einheitslose Wahrscheinlichkeit, da geht wenig mehr als die Satellitengeometrie rein.

Meine Einteilung sieht so aus (hdop Wert*100 für Festkommaarithmetik)
if ((hdop> 200)&&(satcount<=5)) gps=GPS_Qual_mies;
			if ((hdop< 400)&&(satcount>=5)) gps=GPS_Qual_schlecht;
			if ((hdop<=300)&&(satcount> 6)) gps=GPS_Qual_ok;
			if ((hdop<=200)&&(satcount> 6)) gps=GPS_Qual_gut;
			//if ((hdop<=15)&&((satcount> 7)||((flag_egnos==1)||(pos_fix==2)))) gps=GPS_Qual_sehrgut;		
			if ((hdop<=150)&&(satcount> 7)) gps=GPS_Qual_sehrgut;

Was hier auskommentiert ist weil es bisher nicht funktionierte ist das EGNOS- SBAS Signal. Wenn dieses empfangen wird stimmt die Position auf 2m. Aber nur über NMEA erkannt man diese Situation nicht. Vielleicht gibt es in ubx ein Flag dass das anzeigt. Alles über hdop=4.0 ist zum vergessen.

Hier ist die Anwendung, ab welcher Abweichung die Position nach GPS Daten korrigiert wird (200-700cm):
switch (gps)
			{
			case GPS_Qual_sehrgut:
				if (abs(pos_x_gps_akt-pos_x)>200) {pos_x=pos_x_gps_akt;gpsodo=GPS_ODO_Korr_Sehrgut;}	
			    if (abs(pos_y_gps_akt-pos_y)>200) {pos_y=pos_y_gps_akt;gpsodo=GPS_ODO_Korr_Sehrgut;}		
				break;
			
			
			case GPS_Qual_gut:
				if (abs(pos_x_gps_akt-pos_x)>250) {pos_x=pos_x_gps_akt;gpsodo=GPS_ODO_Korr_gut;}	
				if (abs(pos_y_gps_akt-pos_y)>250) {pos_y=pos_y_gps_akt;gpsodo=GPS_ODO_Korr_gut;}	
				break;
			
			case GPS_Qual_ok:
				if (abs(pos_x_gps_akt-pos_x)>500) {pos_x=pos_x_gps_akt;gpsodo=GPS_ODO_Korr_ok;}	
				if (abs(pos_y_gps_akt-pos_y)>500) {pos_y=pos_y_gps_akt;gpsodo=GPS_ODO_Korr_ok;}	
				break;
				
			default:
				if (abs(pos_x_gps_akt-pos_x)>700) {pos_x=pos_x_gps_akt;gpsodo=GPS_ODO_Korr_ok;}		
				if (abs(pos_y_gps_akt-pos_y)>700) {pos_y=pos_y_gps_akt;gpsodo=GPS_ODO_Korr_ok;}	
			
			}

Es kann vorkommen das GPS_Qual_sehrgut rauskommt und die Position 10m daneben liegt, während umgekehrt GPS_Qual_ok gute Positionen liefert.

Sollte bei 2D/3D Accuracy eigentlich nicht schon DOP, SV, und Residuale verarbeitet werden? Immerhin kommen hier die Abweichungen in Meter/Zemtimeter Einheit raus.
Mein Ziel geht eher dahin den Rest zu ignorieren und die vom GPS EMpfänger errechnte Abweichung zu verwerden. Und wenn SBAS empfangen wird kann man der Position vertrauen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

GPS Empfang verbessern 3 Jahre 7 Monate her #8286

  • nero76
  • nero76s Avatar
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Bei meiner stationären Dach-Messung (letzter Beitrag) hatte sich ja gezeigt, dass Accuracy anscheinend nicht aussagekräftig genug ist wie vertraulich die Angabe überhaupt ist (der Accuracy-Wert war annähernd konstant obwohl die Position zwischen 0 und 1,5m gewandert ist). Würde gerne wissen wie sich die GPS-Ausgabewerte alle berechnen (Schade dass so vieles eine Black-Box bei diesen GPS-Empfängern ist).
Werde den Test nochmal wiederholen und versuchen über "DOP, Anzahl Satelliten, Residuale" die Aussagekraft von Accuracy zu ermitteln.

Ansonsten liefert folgende inverse Gewichtung (über Accuracy) für die bereits im Garten aufgezeichneten mobilen Messungen erstmal die besten Ergebnisse:
        for (int i=0; i < gpsList.size(); i++){
          UBX *gps = gpsList[i];
          double invertedAccuracy = 1.0 / max(0.001, ((double)gps->GPSInfo.PAcc));
          weightedLatSum += ((double)gps->GPSInfo.latitude) * invertedAccuracy;
          weightedLonSum += ((double)gps->GPSInfo.longitude) * invertedAccuracy;
          invertedAccuracySum += invertedAccuracy;
          altSum += gps->GPSInfo.altitude;
        }
        pt.altitude = ((double)altSum) / ((double)gpsList.size());
        pt.latitude = weightedLatSum / invertedAccuracySum;
        pt.longitude = weightedLonSum / invertedAccuracySum;

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software

GPS Empfang verbessern 3 Jahre 7 Monate her #8287

  • Werner
  • Werners Avatar Autor
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50

dass Accuracy anscheinend nicht aussagekräftig genug ist wie vertraulich die Angabe überhaupt ist (der Accuracy-Wert war annähernd konstant obwohl die Position zwischen 0 und 1,5m gewandert ist).


Naja, wenn die exakte Abweichung bekannt wäre, hätte man auch die cm genaue Position. Aber wenn es immer eine richtige Größenordnung der Abweichung anzeigt ( 1m, 2m, 20m) hat man schon mal eine verlässliche Entscheidungshilfe ab wann man GPS vertrauen kann.
Wie gesagt, Anzahl Satelliten und DOP genügen schon mal nicht.

Schade dass so vieles eine Black-Box bei diesen GPS-Empfängern ist

Das stimmt, man kann da nur vieles vermuten.

Ich werde als nächstes die SBAS Werte angehen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

GPS Empfang verbessern 3 Jahre 7 Monate her #8288

  • nero76
  • nero76s Avatar
  • Offline
  • Administrator
  • Administrator
  • cofounder of www.ardumower.de
  • Beiträge: 2306
  • Dank erhalten: 818
Stimmt, den genauen Fehler wird man nicht kennen. Der Empfänger macht ja eine Näherungsrechnung (die "Lösung") für die Laufzeiten aller Satelliten. Ich stelle mir das so vor, dass die Lösung jeweils für alle empfangenen Satelliten X ohne den empfangen Satelliten (Y aus X) ermittelt wird, z.B.:

Lösung1: 1,2,3,4 (5 ausgelassen) => Pos. 1
Lösung2: 1,2,3,5 (4 ausgelassen) => Pos. 2
Lösung3: 1,2,4,5 (3 ausgelassen) => Pos. 3
Lösung4: 1,3,4,5 (2 ausgelassen) => Pos. 4
Lösung5: 2,3,4,5 (1 ausgelassen) => Pos. 5

Nun wird die Abweichung der Lösungen untereinander ermittelt. Die Abweichung (z.B. Maximum vom Durchschnitt oder Max-Min) könnte dann "Accuracy" sein.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

PCB1.3 - die Plug&Play Robotik-Plattform für Deinen Rasenroboter mit passender Open Source Software
Letzte Änderung: von nero76.

GPS Empfang verbessern 3 Jahre 7 Monate her #8289

  • Werner
  • Werners Avatar Autor
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 238
  • Dank erhalten: 50
So, ich habe ein kleines Problem: Mein Empfänger ist noch der ublox4, der hat teilweise andere Nachrichten als der ublox5 und ich finde keine Doku über dessen ubx oder PUBX. Nur allgemeines, aber keine genauer Nachrichtenliste mit den einzelnen Bytes.

Konfiguration am Roboter zum Empfänger zu schicken scheint auch nicht zu funktionieren.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 3.065 Sekunden