GPS Linienmarkiersystem

Hallo liebe Gemeinde,
ich habe folgendes Projekt vor:
Linienmarkiersystem

So im allgemeinen habe ich mich in die ganze Thematik schon mal eingelesen.
Nötig sind 2 GPS Empfänger, einer stationär (z.B. auf dem Anstoßpunkt) und der zweite auf dem Rover.
Die müssen miteinander entweder über Funk oder WLan kommunizieren können.

Der Rover bekommt 3 Räder. Das Vorderrad soll (über Servo oder Stepper) lenkbar sein. Die Farbe wird aus einer Düse gesprüht.

Hat schon mal jemand mit GPS RTK gearbeitet?
Welche GPS-Module sind dafür am besten geeignet?

Als µC möchte ich jeweils einen ESP32 verwenden. Die Dinger sind schnell und haben viel Speicherplatz.

Gruß
Fred

GPS-Module kosten nicht die Welt.

Kauf' zwei und mache Versuche bezüglich der erreichbaren Genauikeit: Zu Anfang schließt du beide per SoftSerial an den gleichen Arduino an und lässt dir die Differenzen von Lon und Lat berechnen und ausgeben. Wenn du beide GPS-Empfänger nicht bewegst, sollte die im Idealfall konstant leiben.

Ist der Teil 1 erfolgversprechend, dann Teil 2:

Dann beginnst du damit, einen der GPS-Empfänger an einem 2..3m langen Kabel zu bewegen. So bekommst du die erreichbaer Auflösung heraus.

Danach musst du entscheiden, ob die für dein Projekt ausreichend ist.

Wichtig: Prüfe vor dem Kauf, ob die vom GPS-Empfänger ausgegebenen Werte für Lon/Lat überhaupt genug Nachkommastellen haben, um damit im cm-Bereich zu operieren. Das hängt von der Firmware des ab und ist ein K.O.-Kriterium.

Also wenn du schon beim esp32 bist dann würde ich zwei TTGO T-BEAM nehmen. Da hast denn GPS und lora auch gleich onboard.

Geht das echt schon mit solchen einfachen Modulen?
Ich habe befürchtet, dass ich sowas brauche.
Werde wohl erst mal billig anfangen, bis ich brauchbare Korrekturdaten bekomme. Die Genauigkeit bis < 2 cm werden dann doch wohl erst teure Module liefern.
So ein Teil habe ich schon mal getestet. Genauigkeit auf freiem Feld nicht unter 20m. Für einen Versuchsaufbau sollte es aber reichen.

du kannst ja mal hier lesen Dual band GPS reciever chips - Sensors - Arduino Forum

Man muss das unterscheiden. Einerseits hat GPS ansich eine Genauigkeitsgrenze, andererseits hat natürlich auch die Qualität der Hardware erheblichen Einfluss. Grob vereinfacht beruht GPS auf der Laufzeitmessung bzw. den Differenzen zwischen den Signalen der versch. Satteliten. Wenn nun die interne Uhr in dem GPS-CHip nur um 1ms falsch geht, bist du schwuppdiwupp mal 300km wo anders. Und bei 1 ns sind das 300m - nur um mal die Anforderungen darzustellen. Und das muss über alle Temperaturkompensationen und Schwankungen der Betriebsspannung hinweg gewährleistet werden.

Diesbezüglich hat der Preis - und damit der elektronische und softwaretechnische Aufwand - solcher GPS-Module ganz sicher einen erhblichen Einfluss auf die erreichbare Genauigkeit.

Hier ist ein schöner Vortrag zur detailierten Funktion, inkl. DGPS.

Hi

Der Link fehlt - allerdings werden Vier Satelliten benötigt, damit die Zeit sich rausrechnen lässt - wo wir wieder bei der Genauigkeit der Erfassung ankommen - unterm Strich ändert sich hier wohl nix: Billig=Billig (vom Sinn als Billig - großer Unterschied zu preiswert, was 'Seinen Preis wert' ist)
Wobei hier die Frage ist, ob ein GPS-Empfänger mehrere hundert Euro kosten muß - vll. nicht ganz uninteressant, wenn ich mit Kriegsgerät das Auge einer Fliege erwischen will - wenn's aber um einen schnöden Sportplatz geht, könnte mir die Differenz eines Stationären Referenz-Punkt zu meinem beweglichem Objekt durchaus genau genug sein.
(sofern die Fliege ein Haus ist, würde Das auch im anderen Fall wohl dicke ausreichend sein ...)

Wie schon geschrieben wurde, würde Das einen Test benötigen, ob man damit ausreichend genau hin kommt.

MfG

Hier der vergessene Link: DGPS - Zentimetergenaues GPS im eigenen Garten - YouTube

Erst mal vielen Dank für die Posts.
Hier der erste Test der Basis mit dem HAT auf einem ZeroW. Die Antenne hängt zum Fenster raus.

Timestamp: 17:05:38 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.36
Timestamp: 17:05:39 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.36
Timestamp: 17:05:40 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.36
Timestamp: 17:05:41 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.36
Timestamp: 17:05:42 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.36
Timestamp: 17:05:43 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:05:44 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.36
Timestamp: 17:05:45 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.36
Timestamp: 17:05:46 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.36
Timestamp: 17:05:47 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.36
Timestamp: 17:05:48 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.36
Timestamp: 17:05:49 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.36
Timestamp: 17:05:50 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:05:51 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:05:52 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:05:53 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:05:54 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:05:55 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:05:56 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:05:57 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:05:58 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:05:59 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:06:00 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:06:01 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:06:02 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:06:03 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:06:04 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:06:05 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:06:06 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.47
Timestamp: 17:06:07 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.47
Timestamp: 17:06:08 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.47
Timestamp: 17:06:09 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.47
Timestamp: 17:06:10 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.37
Timestamp: 17:06:11 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.47
Timestamp: 17:06:12 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.47
Timestamp: 17:06:13 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.47
Timestamp: 17:06:14 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.47
Timestamp: 17:06:15 -- Lat: 48.90744405 N -- Lon: 12.69124195 E -- Alt: 318.272 M -- Dil: 1.47

Scheint schon mal zu funktionieren, da sich die Koordinaten nicht ändern.
Die Abweichung zum “wirklichen” Standpunkt der Antenne sind ca 5m. Ich habe die Koordinaten mal in die GoogleMaps Suche eingegeben und es wird fast der echte Standpunkt angezeigt.
Was beeinflusst die Dilution? Anzahl der empfangenen Satelliten? Laut Wiki ist ein Wert < 2 exzellent.

Ach ja, wer die Koordinaten googelt: Ich habe kaum noch Bier zu Hause.