Differential GPS im Eigenbau

dg5mpq

New member
Hallo Leute,

da ich schon lange mit den Gedanken Rasenmäher Roboter spiele, hab ich mir auch scon ein paar Gedanken gemacht.

Beim GPS bin ich nur auf eine vernüftige Lösung gekommen. Diese stammt aus der Landwirtschaft.

2 Baugleiche GPS Empfänger nutzen.
Der Erste auf dem Mäher, der Zweite auf einem Fixem Punkt an einem Gebäude.
Der Fix montierte Empfänger erzeugt das korrektur Signal für den mobilen Empfänger auf dem Mäher.
Damit wird in der Landwirdschaft eine Genauigkeit im einstelligen cm Bereich erzielt.

Hat schon mal einer mit diesem Gedanken gespielt ???

Gruß Thomas
 
Hallo,

ich habe dieses Jahr vor, so ein DGPS selber zu bauen und zu testen.

Mein Ansatz:
2 x ublox LEA 4T für 25 EUR das Stück (http://www.dhgate.com/product/ublox-lea-4t-gps-module-car-/76130478.html)
-- oder --
2 x SkyTraq Venus 6 Evaluation Kit (S1315F-RAW-EVK) für 75 EUR das Stück

Beide System werde ich demnächst mit RTKLIB einmal austesten.

Werde dann noch berichten :)

Gruss,
Alexander
 
Hallo,

ich habe noch kein fertiges (kommerzielles) DGPS-System für den kleinen Geldbeutel gesehen - daher will ich ja eines selber bauen (siehe oben). Alles was man braucht sind:

- Zwei GPS-Empfänger welche GPS-Rohdaten (RAW) herausgeben, d.h. es werden die empfangenen Laufzeiten der empfangenden Satelliten vom Empfänger ausgegeben - die o.g. Empfänger können das
- und o.g. RTKLIB Software (quelloffen, kostenlos)
- eine Möglichkeit Daten bidirektional zwischen Roboter und Basisstation auszutauschen (z.B. Bluetooth...)

Funktionsprinzip (stark vereinfacht):

Die Laufzeiten aller empfangener Satelliten (Rohdaten) werden vom GPS-Empfänger am Roboter und vom GPS-Empfänger an der Basis-Station ausgegeben und mit der Software verarbeitet - dabei wird das Roboter-Signal mit dem der Basis-Station korrigiert. Beispiel:

Basis-Station
Satellit 1: Laufzeit 300
Satellit 2: Laufzeit 310
Satellit 3: Laufzeit 340

Roboter
Satellit 1: Laufzeit 390
Satellit 2: Laufzeit 380
Satellit 3: Laufzeit 370

Weil die Basistation "weiß", an welcher festen GPS-Position sie steht, kann anhand der empfangenen Satelliten-Laufzeiten also der "Fehler" für jeden Satelliten für diese feste GPS-Position berechnet werden. Also z.B.

Berechneter Fehler Satellit 1: 10
Berechneter Fehler Satellit 2: 15
Berechneter Fehler Satellit 3: 19

Nun kann man davon ausgehen, dass die "Fehler" der einzelnen Satelliten in der Nähe (also am Roboter) fast gleich sind, d.h. mit diesem Fehler werden dann die Laufzeiten der empfangenen Satelliten des Roboters korrigiert und sodann die korrekte Position berechnet.

Gruss,
Alexander

UPDATE: Hier ist noch eine Liste der von RTKLIB unterstützen GPS-Empfänger (der ublox LEA-4T sowie der SkyTrac S1315F RAW EVK tauchen darin schon mal auf :)): http://www.rtklib.com/rtklib_2.4.1_releasenote.htm
Und hier sieht man Ergebnisse von RTKLIB mit einem Skytraq S1315F-RAW (Positionsgenauigkeit 4 cm): http://michelebavaro.blogspot.de/2012/02/low-cost-rtk-performance-round-up.html
 
Hallo zusammen,

heute konnte ich das DIY DGPS-System zum ersten Mal erfolgereich testen - verwendet habe ich zwei von den o.g. SkyTraq Empfängern und zwei Obstschüsseln aus Metall in die ich zwei normale GPS-Patchantennen gelegt habe. "Antenne 1" spielt also die Basistation und "Antenne 2" kann durch die Gegend fahren.

Die Schüsseln sollen "Multipath"-Signale ausfiltern welche entstehen wenn das GPS-Signal nicht den direkten Weg von oben sondern durch Reflektion an Bäumen etc. nimmt und dadurch die Laufzeiten verfälscht würden. Die Empfänger selber wurden in Alufolie eingepackt und die Antennen-Massen wurde mit den Schüsseln verbunden (um eine ordentliche Masse für die Antennen zu bekommen).

Die Antennen wurden im Abstand vom 1,5m aufgestellt. Dann habe ich über eine Stunde die mit RTKNAVI errechneten Positionen aufzeichnen lassen, um den max. Fehler zu ermitteln (einen Empfänger hätte ich dabei durch die Gegend fahren lassen können, aber ich wollte ja den Fehler berechnen, also blieb der einfach an seinem Ort stehen).

Ergebnis: Der max. Fehler war bei jedem Meßwert < 30cm :) Ich finde das ist ein tolles Ergebnis...
Verwendet habe ich die RTKNAVI-Einstellungen von hier: http://www.kowoma.de/gpsforum/viewtopic.php?f=4&t=2198&start=75#p13092
Hier sieht man die Antennen im Abstand von 1,5m aufgestellt:
P1040170.jpg


Hier der Blick auf eine Antenne (das rote Kabel verbindet die Schüssel mit der Antennen-Masse am Empfänger):
P1040171.jpg


Hier sieht man die Aufzeichnung der GPS-Positionen über eine Stunde - ein Kästchen bedeutet 10cm Entfernung:
rtknavi1.jpg


Hier die Aufzeichnung der GPS-Entfernung (Antenne1) zur GPS-Basisstation (Antenne2) in Meter (getrennt nach Nord-Süd-Achse, West-Ost-Achse und Höhe) über eine Stunde:
rtknavi2.jpg



Gruss,
Alexander
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/905/P1040170.jpg/
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

ich finde diese RTKLIB Tests toll!
Aber wie sieht es unter realistischen Bedingungen aus?
[ul]
[li]etwa maximal 30cm über dem Boden, höher ist kein Roboter?[/li]
[li]kleine Antenne die in den Roboter passt?[/li]
[li]was wenn der Roboter direkt nebem dem Haus ist, also massive Reflexionen einfängt?[/li]
[li]und die Basisstation dazu noch auf der anderen Seite vom Haus ist, daher ziemlich sicher andere Satelliten verwendet?[/li]


[/ul]Wenn das sicher funktioniert würde ich auch in das Thema einsteigen, ein PC läuft sowieso als Mediaserver und langweilt sich.

LG!
 
Hallo Werner,

genau dort müsste die Experimentierarbeit weiter gehen - leider kann man sich (z.B. aus Zeitgründen) nicht mit jedem Thema soweit auseinandersetzen wie man möchte und ist daher auf Hilfe anderer angewiesen. Alle sind daher herzlich zum experimentieren eingeladen. Die bisherigen Anleitungen/Ergebnisse sollen insbesondere dazu beitragen :)

Gruss,
Alexander
 
Hallo Alexander,

Wenn ich es richtig sehe haben schon 2 Mitglieder einen Testaufbau durchgeführt, es wäre am einfachsten wenn dieses die Tests weiterführen.
Ich habe unter den oben genannten Bedingungen mit normalem GPS teilweise massive Probleme, so fährt der Roboter in Richtung Süden, die Positionsdaten laut GPS gehen aber in Richtung Norden! Und das bei besten HDOP Werten.

Derzeit arbeite ich an Ultraschallbaken um dieses Problem zu beheben, ist aber noch nicht über einen kleinen Testaufbau im Arbeitszimmer hinausgekommen.

DGPS wäre viel einfacher, da ich mindestens 10 Ultraschallbaken benötige um nur den Bereich ums Haus abzudecken.

LG!
 
Mir würde 1m Genauigkeit reichen, ab dann funktioniert die Navigation einwandfrei. Bei 2m Genauigkeit funktioniert es zu ca 80%, er muss bei mir Passagen mit
 
Mit der Idee, die Position über eine (eingebaute oder externe) Kamera zu bestimmen, habe ich auch schon länger gespielt. Gestern habe ich dann beschlossen, das mal etwas zu konkretisieren. Die Ergebnisse sind recht viel versprechend. Mit OpenCV erkennt der Rechner die Bake (hier versuchsweise ein kleiner Gärbehälter) recht sicher und es gibt nur wenige fehlerhafte Treffer.

Natürlich bleibt da aber noch einiges zu tun:
-> Ich hatte alle Trainingsfotos bei Sonnenschein aufgenommen. Deshalb sinkt die Trefferquote bei bedecktem Himmel deutlich
-> Meine Webcam(s) gehören wohl nicht gerade zur technischen Oberklasse ;-) Ab etwa 5 Meter sinkt die Trefferquote deutlich.

Andererseits kann man das Ergebnis mit einer längeren Trainingsphase und erheblich mehr Trainingsbildern sicher noch weiter steigern. Die Bake sollte dafür vermutlich eine eindeutigere Form und irgendein auffälliges Muster haben.

opencv.jpg

Attachment: https://forum.ardumower.de/data/media/kunena/attachments/1209/opencv.jpg/
 
Zuletzt bearbeitet von einem Moderator:
Ich hatte 1x beruflich mit Bilderkennung zu tun, Erkennung von Positionsmarkern auf >50m, Bewertung der Lieferanten Konzepte.
Die Kameras waren etwas teurer als Webcams ;) Der Rest sollte mit OpenCV möglich sein.
Es wurden die Bilder so gefiltert dass nur mehr die Marker weiss auf schwarzem Hintergrund zu sehen war. Aktive Marker wurden mit einer niedrigen Frequenz geschalten, so konnte man zwischen Fremdlicht und den Markern unterscheiden.

Mein Ansatz wäre viel primitiver mit einem günstigen OV7670 Kameramodul und einem Mikrocontroller, ich habs gern minimalistisch B)

Im Roboternetz hat es einer mit Webcam und Farberkennung über Visual Basic umgesetzt, ich habe aber nicht geschafft mich mit VB anzufreunden.

Zum Thema GPS: bin jetzt erst nach 3 Jahren draufgekommen dass das GPS Modul Sbas und Egnos in den Werks Einstellungen deaktiviert hat.
Suchte ein neues besseres Modul und dort war es erwähnt, das hat mich auf die Idee gebracht.
Heute erste Fahrt mit aktivierter Einstellung, und es war ein recht genauer Empfang
 
Hey alexander.

Wie siehts mit opencv "von oben" aus? Cam ans haus/mast und von oben den mower tracken/leiten?

Lg
 
Ich hab jetzt ein OV7670 Kameramodul bestellt, soll oben am Haus montiert werden und den Roboter tracken.
Hat jemand Lust mit zu basteln? Mache alles auf Lochrasterplatinen, das kann jeder nachbauen.
Das Konzept ist einfach den hellsten zB roten Punkt erkennen, das geht einfach mit einem Mikrocontroller.
Wenn es einen 3V Arduino gibt nehme ich so einen, programmiere aber in Standard C.
LG!
 
@Werner: wenn es funktionieren soll, müssten 4-5 Kameras bei uns aufgebaut werden (Verschattung durch Bäume, Gebäude...) - eine Schleife funktioniert eigentlich überall, auch ist man entwicklungstechnisch dort schon am weitesten. Als zukünftige Alternative könnte man den Kamera-Ansatz prototypisch entwickeln und testen.
 
Hallo Alexander,
ich sehe die Kamera als Ergänzung zur Schleife, die Schleife soll auf alle Fälle erhalten bleiben. Meine Schleife funktioniert seit 4 Jahren ohne Aussetzer, gab nur einmal das Problem mit zuviel Metall im Roboter.

Hatte in den letzten Tagen mehr Zeit den Roboter beim Fahren zu beobachten, und da ist mir wieder einmal aufgefallen dass er Positionen im Norden vom Haus nicht findet. Er hat ein verfälschtes GPS Signal, versucht danach den Kurs zu berechnen, kommt dann bei der Fahrt neben dem Haus raus, bekommt dort wieder ein anderes, besseres GPS Signal, berechnet den neuen Kurs, wieder hinters Haus hin, wo wieder das falsche GPS Signal ist und das Spiel beginnt von vorne.
Er verfährt also wertvolle Zeit anstatt korrekt zu mähen, da wäre der reine Zufallsmodus effektiver als die Navigation nach der Karte.

Zuerst wollte ich für diesen Bereich Ultraschall einsetzen, bekomme aber schon keinen stabilen Testaufbau hin.
Dann kam mir diese günstige Kamera unter. Einfach ein zB rote Farbmarkierung / Licht am Roboter zu tracken sollte damit möglich sein, ein Scan durch alle Pixel nach dem Rotwert, der höchste Wert ist die Position. Damit braucht man kein Bild zu speichern oder großartig zu bearbeiten, und kommt mit einem einfachen Atmega + Funkstrecke aus.

Es soll erstmal 1 Testaufbau kommen, für den Bereich wo das GPS regelmäßig Mist liefert. Fürs ganze Grundstück wüsste ich gar nicht wo man die ganzen Kameras + Stromversorgung unauffällig montieren könnte...

LG!
 
Hallo Alexander,
leider sind deine Einstellungen in der RTKLIB nicht mehr verfügbar.
Hast du deine Einstellungen zufällig gespeichert und kannst sie hochladen?
Außerdem würde mich die Datenübertragung Basisstation-Laptop-Rover interessieren.

viele Grüße Stefan
 
Hallo Stefan,

leider habe ich keine Einstellungen verfügbar - an den Standardeinstellungen muss jedoch nicht viel geändert werden (soweit ich mich erinnere passendes GPS-RAW-Protokoll, Baudraten, Rover und Base und evtl. PDOP-Filter weniger "restriktiv" einstellen).

Nach vielen Tests mit verschiedenen RTK-Systemen sind wir hier zur Erkenntnis gekommen dass nur "Multi-Band" (also Mehfrequenz-) Systeme einigermaßen zuverlässig in Gartenumgebungen funktionieren ( http://grauonline.de/wordpress/?page_id=1468 ). Das Piksi-Multi System hat uns dabei am meisten überzeugt (Tests ergaben einen maximalen Fehler von 40cm an "kniffligen" Stellen, 70% der Zeit lag das System sogar bei
 
Oben