rtklib und Raspberry Pi

Fragen und Hinweise zu Software, die mit dem Thema GPS zu tun hat. Egal ob PC oder Handheld.

Moderator: Roland

Antworten
NosDE
Beiträge: 38
Registriert: 14.12.2013 - 01:16

rtklib und Raspberry Pi

Beitrag von NosDE » 14.12.2013 - 20:42

Hallo,

ich schreibe, daß ich im Thread 'poor mans precision farming' gelesen habe, das Einige fast das gleiche Setup benutzen, wie ich hier liegen habe. Allerdings möchte ich damit kein Landwirtschaftliches Gerät steuern, sondern die GPS Genauigkeit meine Quadrocopters steigern.

Als Basisstation soll ein Raspberry PI mit dem Navilock NL507ETTL zum Einsatz kommen.
Die Basisstation ist mit dem Quadrocopter über XBee verbunden, um die Refernzdaten zu senden. (/dev/tty.x)
Auf dem Quadrocopter soll dann wieder ein Raspberry Pi laufen, der einmal über XBee das Referenzsignal erhält, und an dem über einen Comport der GPS Empfänger vom Quadrocopter angeschlossen ist (der muss doch so wie ich es verstanden habe doch kein RAW Signal liefern?),
und aus den beiden Signalen, dann mit 5Hz über einen weiteen Comport das Signal als UXB sendet. Da ist dann der Quadrocopte angeschlossen (an diesem Port vom Quadrocopter hing vorher der GPS Empfänger).

Soweit meine Vorstellung von dem Ganzen. Hoffentlich habe ich das so alles richtig verstanden.

Zur Zeit habe ich folgenden Stand:
Die RTKLIB Quellen auf dem Raspberry per git gecloned und schon compiliert. Den Navilock Empfänger habe ich über eine TTL - USB Bridge (FT232R) am Raspberry angeschlossen und kann nun auch unter /dev/ttyUSB0 mit 38400 Bps die UBX Messages sehen.

Nur verstehe ich jetzt nicht ganz, wie ich die rtkrcv.conf anpassen muss, damit er zum einem beim Navilock das Hex Kommando für den RAW-Mode sendet, und dann als Refernzstation das Signal vom Navilock verarbeitet und es über eine weitere Serielle Schnittstelle zum XBee Modul ausgibt.

Ich würde mich freuen, wenn ich da etwas Hilfe von Euch bekommen könnte.

Gruß
Marco

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

Re: rtklib und Raspberry Pi

Beitrag von Taurus » 15.12.2013 - 00:01

Also ich hab fast das gleiche Setup, mit -unterhaltsamer Weise- der gleichen Anwendung (ebenfalls Quadrocopter).

Allerdings nutze ich keinen RaPI sondern einen Arduino+XBee auf dem Quadro.
Die Basis hab ich über einen Arduino, der die Kommunikation mit dem NL507 übernimmt und zeitgleich via XBee das Korrektursignal sendet, und einen Laptop zur Korrekturberechnung realisiert.
Allerdings nutze ich nicht die rtklib, selber machen macht eh mehr Spaß :lol: ...und bereitet auch mehr Frust ...

Und weil wir gerade beim Thema "Frust" sind:
NosDE hat geschrieben: [...] über einen Comport der GPS Empfänger vom Quadrocopter angeschlossen ist (der muss doch so wie ich es verstanden habe doch kein RAW Signal liefern?),
Doch, muss er. Denn die Korrekturdaten werden auf die Pseudoranges angewand - sprich auf die Rohdaten.

Und noch eine Gegenfrage... welche Koordinaten gibst du deiner Referenzstation als Bezug mit?

Taurus

NosDE
Beiträge: 38
Registriert: 14.12.2013 - 01:16

Re: rtklib und Raspberry Pi

Beitrag von NosDE » 15.12.2013 - 21:23

Hi Taurus,

ich habe noch mal ein wenig weitergelesen, und mir ist dabei ein klein wenig was aufgefallen.
Wenn meine Referenzstation koordinaten geben soll, müssen die ja vorher richtig bestimmt werden.
Das habe ich übersehen...

Daher gehen meine Gedanken nun dahin, dass die Basisstation die Referenzdaten von einem NTRIP-Caster (Euref) über das
Internet empfängt, und er per XBee an den Kopter weiterleitet.

Auf dem Kopter würde ich dann wieder ein Raspberry PI nehmen, der über XBee das Korrektursignal empfängt, und am
anderen Comport ein NL-552ETTL mit RAW Firmware (der lag noch rum, und sollte doch etwas besser als der NL-507ETTL)
Aus den beiden Signalen sollte die rtklib auf dem Paspberry PI doch in der Lage sein, auf einem weiteren Comport ein genaues (relativ) GPS Signal (am besten UBX Protokoll) ausgeben, welches ich dem Copter zuführen kann.

Was meinst Du ?
Ich wollte ungern einen Laptop dafür benutzen.

Gruß
Marco

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

Re: rtklib und Raspberry Pi

Beitrag von Taurus » 15.12.2013 - 22:52

Hi NosDE,

dann hat ja meine Frage nach den Koordinaten für die Basistation ihren Zweck erfüllt 8)
NosDE hat geschrieben:ich habe noch mal ein wenig weitergelesen, und mir ist dabei ein klein wenig was aufgefallen.
Wenn meine Referenzstation koordinaten geben soll, müssen die ja vorher richtig bestimmt werden.
Das habe ich übersehen...
...grundsätzlich ist das so schon richtig.
Wenn du einen präzise vermessenen Punkt für deinen Basisstation nimmst, kann die Genauigkeit die du mit dieser Basisstation für deine Rover (=Quadrocopter) erreichst nie besser sein, als die Genauigkeit der Basis selbst.
Wenn du eh an der Basis RTKLIB laufen lässt, würde ich dir vorschlagen damit die Koordinaten zu bestimmen und diese dann als Bezug zu nehmen.
Du wirst natürlich immer einen Fehler (ich denke mal so grob über den Daumen ca. 2-3m) haben, allerdings ist das ein globaler Fehler.
Soll heißen, das dein Quadro einen gegebenen Kurs genauso präzise abfliegen wird, wie als wenn die Koordinaten auf 3 cm genau bekannt wären... nur das du halt in deinem gesamten Kurs beispielsweise 2m von deinen realen Koordinaten daneben liegst.
NosDE hat geschrieben:Daher gehen meine Gedanken nun dahin, dass die Basisstation die Referenzdaten von einem NTRIP-Caster (Euref) über das
Internet empfängt, und er per XBee an den Kopter weiterleitet.
Sollte grunsätzlich klappen, aber soweit ich weiß kostet es Geld, die Daten in Realtime abzurufen. :(
Aber warum denn nicht an der Basis die Basiskoordinaten via NTRIP bestimmen und mit diesen präzisen Koordinaten dann in ein DGPS mit RTKLIB gehen ??? :wink:
Dann werden die von dir geqünschten 5 Hz Update-Rate auch wesentlich realistischer!
NosDE hat geschrieben:anderen Comport ein NL-552ETTL mit RAW Firmware (der lag noch rum, und sollte doch etwas besser als der NL-507ETTL)
Die RAW-Firmware kostet ja auch extra, ausser du kennst einen Weg die anders auf den Chip zu bringen.
Der NL507 hat ein kleines Hintertürchen über das man ihn überreden kann, die Rohdaten auszuspucken. Daher würde ich zu dem greifen - um schnelle Erfolge zu erzielen.

Ich nutze auch nur einen Laptop, weil ein Arduino nicht genug Kraft unter der Silziumhaube hat um ein GPS-Raw-Processing in einigermaßen annehmbarer Geschwindigkeit zu realisieren.
Und ich kann mittlerweile mit Arduinos, bzw. mittlerweile nurnoch mit den ATMegas ohne Schnösel-Platine, ziemlich gut um und wollte mir nicht wieder ein System an die Hacken binden bei dem ich mich mit einem Betriebssystem rumschlagen muss :mrgreen: :mrgreen: :mrgreen:


Was soll denn das Ziel von der Verbesserung am Quadrocopter sein? Vielleicht gibt es noch andere Wege?

Taurus

NosDE
Beiträge: 38
Registriert: 14.12.2013 - 01:16

Re: rtklib und Raspberry Pi

Beitrag von NosDE » 16.12.2013 - 12:34

Hi Taurus,

dann sollte ich mir wohl erst mal meine Referenzstation einmessen.
Einen Zugang zu einem NTRIP-Caster (Live) habe ich bereits bekommen, Den wollte ich dann als Refernz zum einmessen benutzen.
Später wenn ich meine Position habe, benötige ich den ja nicht mehr ?.
Welches von den beiden GPS-Modulen würdest Du hierfür verwenden ? Ich habe das NL-507ETTL und das NL-552ETTL hier liegen.
Beim NL-552ETTL ist die RAW Ausgabe bereits aktiviert (dauerhaft), und für das NL-507ETTL könnte ich das Hex Kommando
vor dem starten der Software auf die Schnittstelle senden.

Also kann ich doch zum Beispiel mit RTKNAVI (Windows) die Position der BS bestimmen (Quelle: RAW Signal und Korrekturdaten
vom Caster) ? Habe ich sofort genaue Koordinaten, oder dauert das eine gewisse Zeit ? Die in RTKNAVI angezeigten Koordinaten
kann ich doch abschreiben, und für meine Referenzstation später benutzen ? (Antenne darf nicht wieder bewegt werden...)

Ja 5Hz Update-Rate sollten es schon sein. Allerdings habe ich gesehen, das RTKRCV die berechneten Koordinaten nicht als
UBX ausgeben kann (oder gibt es einen Patch ?). Daher muss ich wohl dem Kopter die Daten per NMEA zukommen lassen, was
sicher auch gehen wird.

Ich wollte eigentlich nur selbst was über DGPS lernen, und es auf den Kopter anwenden.
Vielleicht sollte der Kopter auf seinem 60x60cm grossen Landeplatz präzise landen können ;)


Gruß
Marco

NosDE
Beiträge: 38
Registriert: 14.12.2013 - 01:16

Re: rtklib und Raspberry Pi

Beitrag von NosDE » 16.12.2013 - 12:35

Hi Taurus,

dann sollte ich mir wohl erst mal meine Referenzstation einmessen.
Einen Zugang zu einem NTRIP-Caster (Live) habe ich bereits bekommen, Den wollte ich dann als Refernz zum einmessen benutzen.
Später wenn ich meine Position habe, benötige ich den ja nicht mehr ?.
Welches von den beiden GPS-Modulen würdest Du hierfür verwenden ? Ich habe das NL-507ETTL und das NL-552ETTL hier liegen.
Beim NL-552ETTL ist die RAW Ausgabe bereits aktiviert (dauerhaft), und für das NL-507ETTL könnte ich das Hex Kommando
vor dem starten der Software auf die Schnittstelle senden.

Also kann ich doch zum Beispiel mit RTKNAVI (Windows) die Position der BS bestimmen (Quelle: RAW Signal und Korrekturdaten
vom Caster) ? Habe ich sofort genaue Koordinaten, oder dauert das eine gewisse Zeit ? Die in RTKNAVI angezeigten Koordinaten
kann ich doch abschreiben, und für meine Referenzstation später benutzen ? (Antenne darf nicht wieder bewegt werden...)

Ja 5Hz Update-Rate sollten es schon sein. Allerdings habe ich gesehen, das RTKRCV die berechneten Koordinaten nicht als
UBX ausgeben kann (oder gibt es einen Patch ?). Daher muss ich wohl dem Kopter die Daten per NMEA zukommen lassen, was
sicher auch gehen wird.

Ich wollte eigentlich nur selbst was über DGPS lernen, und es auf den Kopter anwenden.
Vielleicht sollte der Kopter auf seinem 60x60cm grossen Landeplatz präzise landen können ;)


Gruß
Marco

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

Re: rtklib und Raspberry Pi

Beitrag von Taurus » 16.12.2013 - 15:50

Ich vermisse die Zeiten als Student, wo man alles bekommen hat :(
NosDE hat geschrieben:Den wollte ich dann als Refernz zum einmessen benutzen.
Später wenn ich meine Position habe, benötige ich den ja nicht mehr ?.
Genau das war meine Idee. Du kannst auch die Daten direkt an den Copter senden, aber dann bist du sowohl von der XBee-Verbindung,als auch von der Internet-Verbindung abhängig.
Da ist dein anderer Weg:
NosDE hat geschrieben:Also kann ich doch zum Beispiel mit RTKNAVI (Windows) die Position der BS bestimmen (Quelle: RAW Signal und Korrekturdaten
vom Caster) ?
...wesentlich komfortabler.
NosDE hat geschrieben: Ich habe das NL-507ETTL und das NL-552ETTL hier liegen.
Also ich würde zum 507 tendieren, der hat wohl etwas bessere Fix-Eigenschaften.
Aber frag mal Hagen.Felix hier im Forum. Der hat so ziemlich alles mal irgendwie mit Stromversorgung in die Luft gehalten und getestet. Gerüchten zufolge sah man ihn neulich mit einem Rasierer an einer Stange im Garten umher springen. Aber er bekam wohl nur eine float-Lösung... :lol: :lol: :lol:
NosDE hat geschrieben:Also kann ich doch zum Beispiel mit RTKNAVI (Windows) die Position der BS bestimmen (Quelle: RAW Signal und Korrekturdaten
vom Caster) ? Habe ich sofort genaue Koordinaten, oder dauert das eine gewisse Zeit ? Die in RTKNAVI angezeigten Koordinaten
kann ich doch abschreiben, und für meine Referenzstation später benutzen ? (Antenne darf nicht wieder bewegt werden...)
Klappt so.
Es dauert sicherlich schon etwas. 5 Minuten sollten aber reichen zu einer Fix-Lösung. Bin da aber etwas verwöhnt, ich hab wie gesagt keine rtklib-Erfahrungen.

Taurus

Hagen.Felix
Beiträge: 701
Registriert: 21.12.2008 - 12:07
Wohnort: Grimma
Kontaktdaten:

Re: rtklib und Raspberry Pi

Beitrag von Hagen.Felix » 16.12.2013 - 20:41

Taurus hat geschrieben: ... Hagen.Felix hier im Forum. Der hat so ziemlich alles mal irgendwie mit Stromversorgung in die Luft gehalten und getestet. Gerüchten zufolge sah man ihn neulich mit einem Rasierer an einer Stange im Garten umher springen. Aber er bekam wohl nur eine float-Lösung ...
Meinst Du etwa meine Antennen-Grundplatten aus dem magnetischen Edelstahl (1.4016)?

Dieser Stahl glänzt ja tatsächlich beinahe so wie ein Rasierspiegel ... :mrgreen:
Gewerbliche Tätigkeit u.a. im Bereich GNSS (siehe https://www.optimalsystem.de/os.aspx?x=411)
Nachrichten bitte bevorzugt als klassische E-Mail (siehe https://www.optimalsystem.de/os.aspx?x=8)

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

Re: rtklib und Raspberry Pi

Beitrag von Taurus » 16.12.2013 - 23:50

Nein Hagen, ich wollte dich nur provozieren damit du mit ins Thema einsteigst und NosDE bei der Empfänger-Entscheidung behilflich bist :mrgreen:

Hagen.Felix
Beiträge: 701
Registriert: 21.12.2008 - 12:07
Wohnort: Grimma
Kontaktdaten:

Re: rtklib und Raspberry Pi

Beitrag von Hagen.Felix » 17.12.2013 - 06:41

Taurus hat geschrieben:Nein Hagen, ich wollte dich nur provozieren damit du mit ins Thema einsteigst und NosDE bei der Empfänger-Entscheidung behilflich bist :mrgreen:
Nichts lieber als das! :wink:

Also ich würde schon meinen, wer bereits das "gewusst-wie" und das technische Geschick dazu hat, eine GNSS-Empfängerplatine mit einem XBee-Funkmodul und einem RaspberryPi so miteinander zu verbandeln, dass so ein kleiner Multikopter damit noch abheben kann, der sollte dann vielleicht auch gleich zum NV08C-CSM greifen.

Die zusätzlichen GLONASS-Vögelchen dürften m.E. gerade bei solch hochdynamischen Anwendungen wie dem Drohnenflug recht nützlich sein. :idea:

Beispielsweise in Form der Fertigplatine von NVS selbst (http://www.nvs-gnss.com/products/receiv ... m-brd.html), die es sicher schon bei den offiziellen Distributoren gibt und vielleicht auch schon bei irgendwelchen globalen Elektronikhändlern (z.B. führt Farnell auch NVS-Produkte). Ich habe aber auch schon ein paar davon auf Lager ...

Ich würde allerdings auch die Möglichkeit erwägen, statt klassischem "Kinematic" RTK (eigene Basisstation oder VRS, Rohdaten- oder RTCM-Übertragung zum Rover) in der RTKNAVI-Instanz auf dem Rover-RaspberryPi vielleicht doch eher gleich auf "PPP Kinematic" zu setzen. Die grundsätzliche Abwägung zwischen RTK und PPP würde an dieser Stelle sicher schon zu weite Kreise ziehen, aber ich würde diese fundamentale Frage bei der Planung einer GNSS-Anlage für einen bestimmten Anwendungszweck heutzutage doch schon (beinahe) immer mit ins Feld führen! :idea:

Wer gerne was zur Drohne funkt, kann ja trotzdem noch etwas zum PPP-Erfolg auf diesem Wege hinzufügen (sofern die "Bodenstation" eine Internetverbindung hat) ... :mrgreen:

Ich würde aber alternativ durchaus auch den NEO-7P in Erwägung ziehen, der schon ohne RaspberryPi o.ä. Zusatzrechner (die ihrerseits ja auch wieder recht durstig am Akku sind und zusätzliches Gewicht verursachen) auf möglicherweise doch bereits ganz annehmbare Genauigkeiten kommt und nun auch mit 10 Hz ausgeben kann. Den hätte ich in geeigneter Form (Basisplatine) übrigens auch schon auf Lager, auch wenn die entsprechende Aktualisierung meiner Website leider noch immer zu denjenigen Aufgaben gehört, die infolge des Juni-Hochwassers in Grimma weiterhin nur sehr eingeschränkt sind ... :cry:

Viele Grüße,
Hagen
Gewerbliche Tätigkeit u.a. im Bereich GNSS (siehe https://www.optimalsystem.de/os.aspx?x=411)
Nachrichten bitte bevorzugt als klassische E-Mail (siehe https://www.optimalsystem.de/os.aspx?x=8)

NosDE
Beiträge: 38
Registriert: 14.12.2013 - 01:16

Re: rtklib und Raspberry Pi

Beitrag von NosDE » 17.12.2013 - 16:28

Hi Hagen, hi Taurus,

die vorgeschlagenen Module klingen recht vielversprechend. Auch brauche ich nicht zwingend ein System mit einer "eigenen" Refernzstation.
Daher hört sicht das Neo-7P hochgradig interessant an ! Ausprobieren möchte ich es gerne mal damit. Schaffen wir es, dass bis Freitag eins
bei mir ist ? :) Ich hatte schon probiert Dich deswegen zu erreichen...

Gestern habe ich mal das 507ETTL Modul auf die Terasse gelegt (jaaa das ist wohl der Fehler gewesen) und mal versucht mit RTKNAVI und einer
Referenzstation (euref-ip) einen Fix zu bekommen. Hat aber nicht geklappt. Solution blieb auf SINGLE (in rot).
Kann natürlich auch sein, dass ich die Konfiguration meines Systems nocht nicht verstanden habe (kann durchaus passieren #neuland)

Ich habe des Empfänger auf der Terasse als ersten Input (Rover) eingetragen. Baudrate und RAW Protokoll stimmen, und es kommean auch Daten.
Als Base Station (Input 2) habe ich die gewählte Euref-IP Station mit dem entsprechenden protokoll eingetragen.
Den dritten Input (Correction) habe ich nicht benutzt. (Hoffentlich war das richtig...)

Bei Setting 1 habe ich bei Positioning Mode Single gewählt. Ansonsten habe ich keine Parameter abgeändert.

Wenn ich bei den Einstellungen richtig liege, so,llte ich vielleicht die Antenne mal ein wenig höher anbringen, oder mal nur zum testen
mit dem Auto auf ein freies Feld fahren.

Wie kann ich bei RTKNAVI beim Start automatisiert den für den Antares4 erforderlichen Hex String für RAW senden ?
Ich mache das zur Zeit vorher mit dem uCenter.

Ansonsten macht es richtig spass, sich in dieses spannendes Thema einzuarbeiten.

Gruß
Marco

NosDE
Beiträge: 38
Registriert: 14.12.2013 - 01:16

Re: rtklib und Raspberry Pi

Beitrag von NosDE » 28.12.2013 - 16:14

Hi,

ich habe mal meine Basis ein wenig laufen lassen.
PPP-Static ohne Korrekturdaten. Nach ca. 60 Minuten hatte ich folgendes Ergebnis:

Bild

Bild

Da kann man sich ja eigentlich nicht beklagen...
Oder was meint Ihr ?

Gruß
Marco

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

Re: rtklib und Raspberry Pi

Beitrag von Taurus » 29.12.2013 - 13:32

Hi NosDE,

ich finde den Plot schonmal ziemlich gut! Ich schätze mal ca. 7cm Positionsdrift sind ja wahrlich nicht schlecht.
Aber kannst du auch mal die Koordinatenveränderung über die Zeit gesehen plotten?
Also Drift der geographischen Länger und Breite über die 60 Minuten Beobachtungsdauer?
Es ist ja häufig so das zu Beginn einer Messung noch eine große Drift da ist und sich anschließend alles in einem gewissen Radius abspielt (Einschwingen).

Taurus

Antworten