Serielle Ausgabe von RTKlib

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

Moderator: Roland

Antworten
quadroRTK
Beiträge: 6
Registriert: 24.08.2014 - 14:49

Serielle Ausgabe von RTKlib

Beitrag von quadroRTK » 24.08.2014 - 15:41

Hallo Zusammen,

ich entwerfe momentan eine Möglichkeit einen bereits bestehenden Quadrocopter vom Typ Asctec Hummingbird mittels RTKlib mit Positionsdaten zu versorgen.
Das RTKlib soll mittels RTK-GPS die Position berechnen. Mein GPS-Receiver ist der Neo 6p von ublox. Dieser ist mittels USB an ein RaspberryPi angeschlossen. Auf dem RPi läuft Arch Linux. RTKlib habe ich bereits compiliert. Als Basisstation verwende ich den Mountpoint Warnemünde des igs-ip.net. Leider ist meine Basislinie ca. 160 km, sodass sich hier schon erhebliche Fehler einschleichen. Aber derzeit habe ich keine anderen Möglichkeit. Die Anwendung rtkrcv läuft mit der angefügten Konfigurationsdatei bereits und liefert nur SINGLE Lösungen. Woran das liegt, weiß ich nicht. Auch auf Windows erhalte ich mit rtknavi lediglich SINGLE Lösungen. Bei beiden wird mir angezeigt, dass Daten von igs heruntergeladen werden. Kann es vielleicht daran liegen, dass der Receiver Daten mit GPS-Zeit liefert, die igs-Daten aber mit einer anderen Zeit, z.b. Mitteleuropäische Sommerzeit, arbeiten? Vielleicht kann mir hier jemand weiterhelfen.

Mein dringlicheres Problem liegt allerdings in der Kommunikation mittels UART zwischen RPi und Quadrocopter. Damit die Positionsdaten vom Quadrocopter verwendet werden können, müssen die empfangenen Daten an die entsprechenden Variablen in der Steuerung des Quadrocopter weitergegeben werden. Allerdings weiß ich nicht, was genau von RTKlib über UART geschickt wird. Eine Überprüfung des Signals mittels PC hat kein Ergebnis geliefert. Ein sinnvolles Muster war für mich nicht zu erkennen. Hier wäre ich für Hilfe sehr dankbar.
Dateianhänge
Konfigurationsdatei.txt
(6.09 KiB) 465-mal heruntergeladen

monokultur
Beiträge: 4
Registriert: 16.07.2014 - 11:00

Re: Serielle Ausgabe von RTKlib

Beitrag von monokultur » 24.08.2014 - 20:00

Hallo

zum Thema Singel Lösung > Float/Fix:
- stell mal unter Input Streams als Correction noch den Ntrip stream "EUREF02" ein
- stell unter Optionen alles ein wie auf den Bildern
- das Antennen-File findest du hier

Mit den Einstellungen solltest du zumindest eine gute Float-Lösung erreichen können.

Gruß Peter
Dateianhänge
RTKlib.JPG
RTKlib.JPG (59.96 KiB) 17542 mal betrachtet
RTKlib2.JPG
RTKlib2.JPG (41.04 KiB) 17542 mal betrachtet
RTKlib3.JPG
RTKlib3.JPG (38.54 KiB) 17542 mal betrachtet

quadroRTK
Beiträge: 6
Registriert: 24.08.2014 - 14:49

Re: Serielle Ausgabe von RTKlib

Beitrag von quadroRTK » 25.08.2014 - 15:53

Hallo Peter,

vielen Dank für deine Antwort. Leider haben aber auch diese Umstellungen nicht zu einer Float oder Fix Lösung geführt. rtknavi gibt weiterhin nur Single Lösungen aus. Das ganze ist für mich umso verwunderlicher, da jemand der sich schon vorher mit diesem Thema befasst hat mit genau derselben Konfigurationsdatei auch Fix Lösungen erhalten hat.
Die von dir vorgeschlagenen Änderungen sind in der angehängten Datei eingearbeitet. Vielleicht habe ich ja auch einen Fehler gemacht.

Gruß Jan
Dateianhänge
Konfigurationsdatei.txt
(5.64 KiB) 505-mal heruntergeladen

archie
Beiträge: 32
Registriert: 11.04.2010 - 14:55

Re: Serielle Ausgabe von RTKlib

Beitrag von archie » 26.08.2014 - 22:31

hallo Jan,
Zwei Fehler sind mir aufgefallen.

erste fehler:
inpstr3-type =ntripcli # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http)
Die dritte input ist vor ppp korrekturen vorgesehen und muss bei dir ausgeschaltet sein ("leer" oder "off"). Du brauchst auch nur ein Basisstation.

zweites:
inpstr2-path =nutzer:pw@igs-ip.net:/WARN1:
Hier fehlt die portnummer und der doppelpunkt ist zuviel. (nutzer:pw@igs-ip.net:2101/WARN1)


Grüsse Pieter

quadroRTK
Beiträge: 6
Registriert: 24.08.2014 - 14:49

Re: Serielle Ausgabe von RTKlib

Beitrag von quadroRTK » 29.10.2014 - 13:29

Das Problem mit der Single Lösung hat sich mitlerweile ergeben und ich bekomme durch ein Update auf Version 2.4.2 nun auch Float/Fix Lösungen.

Das Problem mit der seriellen Ausgabe von RTKLib konnte ich bisher leider noch nicht lösen, daher nochmal:

Damit die Positionsdaten vom Quadrocopter verwendet werden können, müssen die empfangenen Daten an die entsprechenden Variablen in der Steuerung des Quadrocopter weitergegeben werden. Allerdings weiß ich nicht, was genau von RTKlib über UART geschickt wird. Eine Überprüfung des Signals mittels PC hat kein verwertbares Ergebnis geliefert. Ein sinnvolles Muster war für mich nicht zu erkennen. Hier wäre ich für Hilfe sehr dankbar.

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

Re: Serielle Ausgabe von RTKlib

Beitrag von NosDE » 29.10.2014 - 20:47

Hallo Jan,

die RTKLIB gibt so wie sie ist über die serielle Schnittstelle nicht die notwendigen Informationen aus, die Du für Deine Quadrocoptesteuerung benötigst. Um ein weiteres Ausgabeformat, welches zu implementieren ist, wirst Du nicht herumkommen.
Für eine optimale Steuerung benötigst Do u.A. folgende Werte: Timestamp, Lat, Lon, Alt, VelX, VelY, VelZ, Solutionstatus, NumOfSATs. Das Ganze dann noch in ein gescheites Binärformat gepackt, damit es die Flugsteuerung direkt weiterverarbeiten kann :)

Gruß
Marco
Zuletzt geändert von NosDE am 31.10.2014 - 01:12, insgesamt 1-mal geändert.

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

Re: Serielle Ausgabe von RTKlib

Beitrag von Taurus » 29.10.2014 - 20:49

Ohne tief in deinem Copter drin zu stecken...
Seit wann gibt RTKLib Steuerungssignale für Quadrocopter aus?
Oder wandelst du auf dem RPi noch die Ausgabe von RTKLib in Steuersignale die zu deinem Copter passen?

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

Re: Serielle Ausgabe von RTKlib

Beitrag von NosDE » 29.10.2014 - 20:55

Er möchte die Position von der RTKLIB in seine vorhandene Flugsteuerung geben, anstatt die vom ursprünglichen GPS.

quadroRTK
Beiträge: 6
Registriert: 24.08.2014 - 14:49

Re: Serielle Ausgabe von RTKlib

Beitrag von quadroRTK » 30.10.2014 - 09:12

:D Möglicherweise habe ich mich da auch nicht ganz präzise ausgedrückt.
Ich versuche momentan nur herauszufinden wie die serielle Ausgabe der durch RTKLib berechneten Position aussieht, sodass ich diese dann weiterverarbeiten und dann an den Quadrocopter weitergeben kann. Das heißt, mir ist nicht bekannt, ob die Position in ASCII-Code codiert ist, als einfache Binärzahlen ausgegeben wird oder ein anderer Code verwendet wird. Die Analyse des Signals über das Programm USBlyzer hat leider zu keinem Ergebnis geführt. Ich hatte nicht erwartet, dass RTKLib die Quadrocoptersteuerung übernimmt ;).

Vielen Dank für die Hilfe schonmal ! :)

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

Re: Serielle Ausgabe von RTKlib

Beitrag von NosDE » 31.10.2014 - 01:11

Hi,

outstr1-type =serial # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr)
outstr1-path ={dein comport/device incl. baudangabe}
outstr1-format =nmea # (0:llh,1:xyz,2:enu,3:nmea)

Dann kommt das Ganze als ASCII über die eingestellte serielle Schnittstelle raus.

Gruß
Marco

quadroRTK
Beiträge: 6
Registriert: 24.08.2014 - 14:49

Re: Serielle Ausgabe von RTKlib

Beitrag von quadroRTK » 29.11.2014 - 18:17

Ich muss doch nochmal eine Frage stellen.
Im Grunde geht es immernoch um das selbe Problem, und zwar versuche ich Die Daten, die von RTKLib berechnet werden per UART-Schnittstelle vom Raspberry-Pi an eine UART Schnittstelle an einem Quadrokopter weiterzugeben um Sie dort weiterzuverarbeiten.
Nun möchte ich mir erstmal anschauen, wie der Ouput von rtkrcv dann wirklich aussieht um dann ein Programm zu schreiben, was dann die Daten am Quadrokopter weiterverarbeiten kann. Dazu habe ich den Pi per UART zu USB Kabel an den meinen Windowsrechner angeschloßen und lasse das Programm Bray's Terminal(https://sites.google.com/site/terminalbpp/) laufen um mir die Daten anzuschauen.

Der Ouput in ASCII sieht z.B. so aus :
<0>”1ñ+!…!ÿmðÀ€#" «B.Sºê^¥có)c1rhû8H«os8- öh€^³V Ž)%s´JÑöÒLc#ÿÒL#°ÿÒLc)ÿÆ2ÆJýÒLc#ÿ8ðÀVOtOÁíJIJÂŽiabpB#mC*¼ÂÓ¥+fº[íe!¤cóCÌ[—9ômð-C•L1ÆH¢B=chb/{ùG-%àS ª¶9l˜¾+4‘¤!ÿ8(hbj¡Ô5"¼µ<0>¬C%{ jsÿBÛMÈcp•JA3aǸIOk-h­¨Gk*­-Ås©2pê°)óC¸^kõmC+¸Ä !€<0>á|€Ž`SÑ$Bóÿ8(BbXóÂZ!g{p’)c8ÿÒLc)OÒ¦(Œ-¥•b‚jjVKbk`•Jj!í)sd€‘ðmC*¸«8½„!) ê²s8j£B¸™RrY‘!b!± CìBÏkPr¤c2䭁„c= 1BÛ1RLl*by0IÆ{‘ b:¶+Œý-¥*1Lc
R£¡#aÇs¾/Xo3ˆ°ÿkZJ­S°æhr™
J8s4jÂ1#þ-J“Z5Fg/^beIB€4j!%s/)î8kR§Bt¥p1¥<B!Ç0‘¤ˆB²J)¶1d¡Ô!¡Ö1JZmclBp›R#ü8C<é{§Bt¥j1–w—!†°‡pÆ1b=18R¢Bt…1Íëw—!’°ÖpÆpb= 18Hª/stD )B1VB`R!ňj²mC"¸ˆ=z<0>ÃÞ{%J¥LK­#>zó(ŒãBÛŽbš*S1b8B€4j!%s¾o)îK1ô1d¹”ˆCŠœ×ŒR[–9ÒümC"¼bñ¥„!)Æ1
J 8s4jÂ1)þG
%r)L­¨/yŠBt¥ÍY‹Jo3ˆ°ÿGkV{r;X^•L1†ºî^¤cz£B¸›RŽcû8q‰BºFðéîs¼ê(²c0ä1b=RjRmC>ëj‰j Ë*9•*­j£B¸›RŽcû`ŒÈ $X+C`Æ0ÚåR!ňj°38Yš¯c8= ¶9€‹f˜¾{ÌmclB³›–9ÒümC*¼'€ˆså2«H‰B ½nC¸ok‚Ö8YŠÃ^ˆ2…Ђå›5¢BƒmT/RJ!‘ð8H

In HEX so:
6D 43 3C EF 7A A7 AB 10 A5 84 21 21 21 14 C0 25
73 A0 08 52 0A 62 C9 56 C7 78 31 E6 38 28 68 31
85 A0 AA B6 39 08 A1 1D 9A 28 46 09 61 E8 AF 49
08 42 64 AD 03 30 FF C7 0D 4B D2 23 22 A0 0A AD
42 B0 2B A7 50 4A AD 6B 70 30 AF 43 08 42 42 21
03 BC 03 38 6B 0C 52 85 08 46 21 85 70 81 42 22
64 26 AC 63 02 96 31 E2 C0 63 D4 7B B4 2A EE 38
43 0A 42 94 A2 46 74 85 31 CF EF 7B E6 72 8C 63
98 38 7A A3 42 B8 99 52 8B 59 FF 38 48 DA 53 0C
88 4C 60 28 42 79 60 52 36 AE 73 B4 B2 D6 31 D6
31 72 BE 2F 69 F5 38 59 AA 6F 63 38 2D 20 B6 68
91 DE D6 31 0C 4A CC CD 3C A2 43 4C 63 02 48 4A
81 C2 6D 08 42 EB 08 52 50 68 21 A6 31 D0 31 50
26 A4 63 88 08 7A A3 42 B8 99 52 8E 63 FB 92 60
91 53 5C 03 A9 20 4B 21 81 48 CA 03 89 42 09 09
BD EE 52 4A 89 1A B5 6B 4A FF 92 60 89 63 94 A7
EA 5E A1 D4 21 89 0A 00 8E 29 21 4C 4B AD 23 3E
7A F3 28 8C E3 38 48 AA 6F 63 38 37 71 E6 04 0A
48 CA 03 89 42 09 09 BD EE 52 4A 89 3A B5 6B 4A


Ich muss sagen, ich erkenne da kein System und auch wenn ich versuche das ganze in Text zu konvertieren kommt dabei nur quatsch raus.
Hat jemand eine Idee wie ich weiterkommen könnte ? Sind die empfangenen Daten so völligst ok und ich bin einfach nur so doof ein System zu erkennen oder wird hier durch die Verbindung über USB evtl quatsch draus ? Ich weiss einfach nicht, wie ich ein Programm schreiben soll, das die Daten verwendet, wenn ich die Daten nicht verstehe :(.

Danke für die Hilfe !

quadroRTK
Beiträge: 6
Registriert: 24.08.2014 - 14:49

Re: Serielle Ausgabe von RTKlib

Beitrag von quadroRTK » 29.11.2014 - 19:25

Alles klar, hat sich erledigt, stellt sich raus, das die Baudrate einfach zu hoch eingestellt war. Habe die Baudrate des Ouputs auf 9600 gestellt und nun bekomme ich wunderschöne Daten :)

Antworten