Rohdaten aus einem LEA-4T rauskitzeln

Fragen zu GPS-Empfängern und alles was damit zu tun hat.

Moderator: Roland

Benutzeravatar
Taurus
Beiträge: 259
Registriert: 02.09.2007 - 14:36
Wohnort: Germany

Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von Taurus » 29.03.2013 - 22:48

Guten Abend Gemeinde,

ich hab vor mir meinen LEA-4T und mein Arduino Uno Board liegen...
Die Kommunikation zwischen den beiden funktioniert auch soweit. Ich kann verschiedene Message-Types ein- und ausschalten sowie auch die Wiederholraten verändern...
Einzig an den raw-Daten bin ich am verzweifeln...
Hab innerhalb der letzten Woche mittlerweile glaube ich schon das gesamte Internet nach der richtigen Nachricht durchwühlt.
Dabei ist es mir egal ob ich die raw-Daten immer wieder anfordere (polling) oder sie mir regelmäßig automatisch ausgespuckt werden...

Mein letzter Versuch sah wie folgt aus:
raw_poll[]={0xB5,0x62,0x02,0x10,0x00,0x00,0x12,0x38}


Und nun an alle die mal mit einem LEA-4T rumgespielt haben... wie muss die richtige Sequenz lauten?

XPosition
Beiträge: 214
Registriert: 25.08.2008 - 00:09

Re: Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von XPosition » 30.03.2013 - 19:03

Hab nur mal kurz drübergeschaut.
Aber das 2.te checksum Feld scheint mir falsch zu sein. Oder ?

Probier mal:
raw_poll[]={0xB5,0x62,0x02,0x10,0x00,0x00,0x12,0x14}

cr2_gps
Beiträge: 121
Registriert: 04.10.2011 - 19:18

Re: Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von cr2_gps » 30.03.2013 - 23:04

XPosition hat geschrieben: Aber das 2.te checksum Feld scheint mir falsch zu sein. Oder ?
Die Prüfsumme stimmt (ubxgen.py von http://wiki.openmoko.org/wiki/Neo_FreeR ... X_protocol )

Code: Alles auswählen

$ python ubxgen.py  02 10 00 00 | od -A n -t x1                                                                                                                                                                                                 
 b5 62 02 10 00 00 12 38

XPosition
Beiträge: 214
Registriert: 25.08.2008 - 00:09

Re: Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von XPosition » 30.03.2013 - 23:52

Die Prüfsumme stimmt
Ah ja, für die zwei Nullen werden auf die 0x14 noch 2 mal 0x12 addiert und ergibt folglich 0x38.

Dann seh ich auch kein Fehler.

Josef Gerstenberg
Beiträge: 233
Registriert: 07.09.2009 - 20:00

Re: Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von Josef Gerstenberg » 01.04.2013 - 22:58

Hallo Taurus,

wenn dein LEA-4T über eine Backup-Batterie oder ein EEPROM verfügt,
dann ist dies die simpelste Lösung:
- Software u-center installieren und starten
- Die gewünschten Messages auf dem von dir genutzten Port einschalten (und alle unerwünschten ausschalten)
- Dann mittels der Message CFG-CFG die Konfiguration des LEA-4T im Ram oder EEPROM speichern
Die Konfiguration merkt sich der LEA-4T dann permanent.

Unterschiedliche Konfigurationen von u-blox-Empfängern kann man in u-center komplett speichern und laden:
Menü Tools
GPS Konfiguration...

Gruß Josef

Benutzeravatar
Taurus
Beiträge: 259
Registriert: 02.09.2007 - 14:36
Wohnort: Germany

Re: Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von Taurus » 02.04.2013 - 00:06

Huhu,

danke für eure Tips und Hilfe. Hab es zum Laufen bekommen.
Der Fehler lag zum einen in meiner Ungeduld und zum Anderen hatte ich die rxm-raw-Rate nicht gesetzt.
Das Polling funktioniert auch erst nachdem die unten aufgeführte Sequenz gesendet wurde.

Ich werd demnächst wenn ich soweit alles fertig habe noch ein How-To und den Code für den Mikrocontroller hochladen...

Hab jetzt nicht probiert ob ich mit U-Center überhaupt Zugriff auf den Empfänger habe wenn er an einem anderen Mikrocontroller hängt... werd ich morgen mal testen.

Nun zum nächsten... Hat noch einer in einer versteckten Schublade die Beschreibung des rxm-raw-Formats???
Die itow, week_number und Satellitenanzahl bekomme ich aus der Message raus, aber wie es danach weiter geht und wieviele Bytes in welcher Reihenfolge und/oder little-/big-endian-structure kommen ist mir noch nicht klar...

Josef Gerstenberg
Beiträge: 233
Registriert: 07.09.2009 - 20:00

Re: Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von Josef Gerstenberg » 02.04.2013 - 15:22

http://www.u-blox.com/en/download/docum ... urces.html
Receiver Description - Protocol Spec.

Benutzeravatar
Taurus
Beiträge: 259
Registriert: 02.09.2007 - 14:36
Wohnort: Germany

Re: Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von Taurus » 03.04.2013 - 13:55

Guten Morgen Forum,
Josef Gerstenberg hat geschrieben:http://www.u-blox.com/en/download/docum ... urces.html
Receiver Description - Protocol Spec.
Das Dokument kannte ich schon, und es funktionierte bei mir nie nachdem ich es entpackt hatte... aber das du es mir geschickt hat, hat mich bestärkt mal nach dem Problem zu suchen.
Öffnet man die .zip-Datei mit dem Windows Explorer so wird sie fehlerhaft entpackt, wodurch sie zwar geöffnet werden kann aber der Inhalt nicht lesbar wird.
Nutzt man hingegen WinZip zum entpacken funktioniert alles reibungslos.
Schade das ich das erst jetzt herausgefunden habe, denn das Dokument hätte mir viel arbeit erspart.
Musste mir aus Phyton-Skripten zusammenreimen wie einige Messages aufgebaut sind...

Josef Gerstenberg
Beiträge: 233
Registriert: 07.09.2009 - 20:00

Re: Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von Josef Gerstenberg » 03.04.2013 - 20:24

Manchmal sind Lösungen einfach.
Hättste früher gefragt...
Gruß Josef

PS Darf ich fragen, was du mit GPS-Rohdaten mittels eines Ardino anstellen willst?

PSS http://www.youtube.com/watch?v=Tlng8RSxm-4

Benutzeravatar
Taurus
Beiträge: 259
Registriert: 02.09.2007 - 14:36
Wohnort: Germany

Re: Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von Taurus » 04.04.2013 - 12:57

Josef Gerstenberg hat geschrieben:PS Darf ich fragen, was du mit GPS-Rohdaten mittels eines Ardino anstellen willst?
Zum einen erstmal Wissen und Erfahrung gewinnen... das geht natürlich nicht ohne Ziele...
Mein Gesamtziel ist es mein eigenes DGPS fürs Postprocessing über kurze Basislinien aufzubauen.
Ein Arduino mit SD-Karte und Akku-Pack als Rover und eine feste Basisstation, eventuell auch auf Arduino-Basis.
Ich hab vor den Korrekturalgorithmus zu vereinfachen, ohne das ich einen Umweg über die Korrektur ionosphärischer und troposphärischer Einflüsse gehen muss...
Das ganze soll natürlich möglichst billig sein, und der Arduino lag rum, bzw. hatte ihn aus einem anderen Projekt gerade frei...

Josef Gerstenberg
Beiträge: 233
Registriert: 07.09.2009 - 20:00

Re: Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von Josef Gerstenberg » 05.04.2013 - 20:37

Hallo Taurus,

und ich dachte , dass du mittels eines Arduino eine RTK-Lösung berechnen willst :-)))
(was sicherlich mit entsprechendem Aufwand möglich ist, wenn man nur jede Minute eine Lösung braucht)

Die Roh-Daten eines GNSS-Empfänger aufzeichnen geht selbstverständlich mit einem Arduino.

Ich frage mich, warum du so etwas vor hast:
Ich hab vor den Korrekturalgorithmus zu vereinfachen, ohne das ich einen Umweg über die Korrektur ionosphärischer und troposphärischer Einflüsse gehen muss
Gruß Josef

Benutzeravatar
Taurus
Beiträge: 259
Registriert: 02.09.2007 - 14:36
Wohnort: Germany

Re: Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von Taurus » 06.04.2013 - 11:18

Taurus hat geschrieben:Ich frage mich, warum du so etwas vor hast:

Ich hab vor den Korrekturalgorithmus zu vereinfachen, ohne das ich einen Umweg über die Korrektur ionosphärischer und troposphärischer Einflüsse gehen muss
...warum leckt sich ein Hund die Eier??? --- Weil er's kann!!! :mrgreen: :mrgreen: :mrgreen:

In ferner Zukunft kann ich mir eine RTK-Lösung schon vorstellen... aber dann nicht so wie es im heutigen Verständnis geschieht.

Mein Ansatz:
An der Basisstation über Rohdaten die Position nur mit den Satelliten berechnen, die am Rover auch empfangen werden...
Sprich, der Rover übermittelt welche Satelliten er momentan empfängt und an der Basis wird dann via Kalman-Filterung eine Schätzung der Ablage der Kooordinaten für die nächste Sekunde vorgenommen. Die Ablage der Koordinaten wird dann an den Rover übermittelt und kann dann da direkt auf die Koordinaten angebracht werden.
Hat den Vorteil das der Rover von der Rechner-Ausstattung her relativ schwach sein darf... ein Arduino zum Beispiel 8)

Josef Gerstenberg
Beiträge: 233
Registriert: 07.09.2009 - 20:00

Re: Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von Josef Gerstenberg » 08.04.2013 - 20:01

Hallo Taurus,

soweit ich dich verstanden habe, willst du in deinem Ansatz DGPS auf der Basis von Code-Lösungen machen
und dabei nicht über Pseudorange-Korrekturen gehen. Oder?
DGPS-Ausfälle wird es dann geben, wenn beim Rover die empfangenen Satelliten sich ändern. Richtig?

Gruß Josef

Benutzeravatar
Taurus
Beiträge: 259
Registriert: 02.09.2007 - 14:36
Wohnort: Germany

Re: Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von Taurus » 09.04.2013 - 12:38

Hallo Josef,
Josef Gerstenberg hat geschrieben:soweit ich dich verstanden habe, willst du in deinem Ansatz DGPS auf der Basis von Code-Lösungen machen
und dabei nicht über Pseudorange-Korrekturen gehen. Oder?
Genauso sieht es aus.
Josef Gerstenberg hat geschrieben:DGPS-Ausfälle wird es dann geben, wenn beim Rover die empfangenen Satelliten sich ändern. Richtig?
"Ausfälle" würde ich nicht sagen... denn grundsätzlich funktioniert ja das Gesamtsystem noch. Also trifft "Genauigkeitsverschlechterung" (accuracy disgrade) eher den Kern der Sache.
Mich interessiert es an der Stelle auch wie groß dann der Einfluß des neuen Satelliten, bzw. der Einfluß des weggefallenen Satelliten ist/war.
Vorteil ist, das man in der Situation vorhersagen kann das die Genauigkeit nach unten geht, denn der Rover bekommt mit wenn er einen neuen Satelliten findet oder einen alten Satelliten verliert.
Nachteilig ist natürlich das man mit meinem System nur einen Rover füttern kann...

Ich hab noch eine zweite Variante im Kopf, die ich später implementieren will:

Grundannahme: Die Wahrscheinlichkeit einen Satelliten mit hoher Elevation zu Empfangen ist größer, als die einen Satelliten mit niedriger Elevation zu empfangen.

Vorteil: Es lässt sich grob vorhersagen welche Satelliten bei mehreren Rovern mit höchster Wahrscheinlichkeit empfangen werden.
Man kann mehrere Rover füttern, welche eine verhältnismäßig einfache Schnittstelle haben können und ohne großartige Rechenleistung ausgestattet sein können.

Nutzen für uns: Durch Berechnung der Positionslösung der unterschiedlichen Linearkombinationen der Satelliten, ausgehend von dem mit höchster Elevation, kann man die Korrekturdaten bereits vorhalten, ohne das ein Rover einen "Request" gesendet hat.

Nachteil: Die Basisstation muss die Rechenleistung haben um mehrere Positionslösungen zum gleichen Zeitpunkt zu berechnen.

Josef Gerstenberg
Beiträge: 233
Registriert: 07.09.2009 - 20:00

Re: Rohdaten aus einem LEA-4T rauskitzeln

Beitrag von Josef Gerstenberg » 09.04.2013 - 20:20

Hallo Taurus,
Mich interessiert es an der Stelle auch wie groß dann der Einfluß des neuen Satelliten, bzw. der Einfluß des weggefallenen Satelliten ist/war.
Du solltest mit einem sehr großen Einfluss rechnen.

Ein vielleicht wichtiger Hinweis, warum man DGPS-Korrekturen i.d.R. mittels Pseudorange-Korrekturen durchführt und nicht mittels einer Positionskorrektur, wie du sie vorhast:
DGPS-Positionskorrekturen sind nur gut durchzuführen, wenn die Berechnungs-Algorithmen im Rover und in der Base gleich ablaufen.
Das ist heute selbst bei gleichen GNSS-Empfängern nie der Fall.
Jeder Empfänger gewichten bei der Ausgleichsrechnung zur Positionsberechnung die Pseudoranges nach dem lokalen Signal-Rauschabstand, nach seinen Erfahrungen und nach sonstnochwas.
Positionskorrekturen sind deswegen deutlich unzuverlässiger als die üblichen Pseudorangekorrekturen.

Gespannt bin ich trotzdem auf deine Experimente.

Gruß Josef

Antworten