GPS-Wegpunkt-Rover bauen: Fährt seine Route selbst
Ein Rover, der selbstständig eine gespeicherte GPS-Wegpunktliste über ein Feld fährt, die Linie auf einen Meter hält und bei Geofence-Verlassen selbst stoppt.
Was du baust
Einen Roboter, dem du eine Koordinatenliste in die Hand drückst, aufs Gras setzt und von dem du weggehst.
Jeder andere mobile Roboter dieser Seite reagiert auf das direkt vor ihm – eine Linie, eine Wand, ein Hindernis, eine Kante. Dieser führt einen Plan aus, in einer Welt ohne Landmarken, mit einem Sensor, der ihm ein paar Mal pro Minute lügt. Diese Kombination macht ihn zum schwersten mobilen Aufbau hier – und zu dem, der am meisten lehrt.
Die drei Dinge, die entscheiden
Der Folger ist der leichte Teil. Pure Pursuit sind zwölf Zeilen und ein Knopf. Mit perfekter Positionsschätzung hält es 0,09 m RMS-Fehler auf dem Laborkurs.
Die Positionsschätzung ist das ganze Projekt. Derselbe Regler, gegeben ein 1-Hz-GPS-Fix mit meterweisem Rauschen, hält 1,25 m – vierzehnmal schlechter, und steuert dafür viereinhalbmal so viel. Der Regler trägt unter ein Zehntel zum Endfehler bei.
Also die Baureihenfolge: Folger indoor, Schätzung outdoor. Steuerung beweisen, wo Position fast exakt ist, dann den Sensor bekämpfen. Beides auf einmal ergibt einen Roboter, der aus untrennbaren Gründen wandert.
Stückliste
| Bauteil | Menge | Ca. Kosten | Hinweise |
|---|---|---|---|
| Arduino Uno oder Mega | 1 | $5–12 | Ein Mega lohnt sich: vier Interrupt-Pins für volle ×4-Encoderdecodierung, plus freie UARTs |
| GPS-Modul (NEO-6M) | 1 | $8–12 | Ein NEO-M8N ist das beste Einzelupgrade hier – multikonstellativ, bessere Geometrie |
| MPU-6050 | 1 | $2 | Steuerkurs zwischen Fixes. Ohne ihn weiß der Rover nicht, wohin er schaut |
| N20-Encodermotoren | 2 | $16 | Encoder sind an diesem Aufbau nicht optional |
| TB6612FNG | 1 | $3 | |
| 2WD-Chassis | 1 | $10–20 | Größere Räder helfen draußen; Gras ist ungnädig zu 65-mm-Rädern |
| Akkupack | 1 | $10 | 2×18650 geschützt oder 3S mit Regler |
| Hohe Antennenhalterung | 1 | $2 | Die Patch-Antenne braucht Himmel, keine Sicht – Metall darüber kostet Satelliten |
Gesamt: ca. $55–80.
Das Projekt ändert am meisten der Empfänger. Ein NEO-6M geht und ist, was die meisten Tutorials annehmen; ein NEO-M8N sieht GPS plus GLONASS und Galileo – was Satellitengeometrie und damit HDOP verbessert. Nah an Gebäuden und Bäumen – wo ein Rover wirklich fährt – ist das eine größere Realweltverbesserung, als die Genauigkeitsspezifikation vermuten lässt.
Die Encoder nicht sparen, um $12 zu sparen. Dieses ganze Projekt ist Koppelnavigation, korrigiert per gelegentliche Fixes; ohne Encoder gibt es nichts zu koppeln, und der Rover jagt nur GPS-Rauschen.
Baureihenfolge
1 – Folger im Simulator abstimmen. Eine Stunde im Pfadfolge-Labor bei dem Tempo, das du fahren willst. Vorausschau finden, wo die Fehlerkurve bottomt; beachten, dass sie wandert, wenn du das Tempo änderst.
2 – Antrieb bauen und Odometrie zum Laufen bringen. Encoder in Differenzial-Odometrie, dann ein 2-m-Quadrat fahren und sehen, wie weit vom Start es endet. Diese Zahl ist dein Indoor-Budget.
3 – Steuerkurs fusionieren. Ein Kreisel auf Schleifenrate, korrigiert per etwas Absolutem. Steuerkursfehler ist der Term, den beide Regler am stärksten gewichten – und das Erste, was Odometrie verliert; der Komplementärfilter, der einen Balancierroboter stabilisiert, tut hier denselben Job.
4 – Indoor einem Klebebandkurs folgen. Kein GPS. Pfad auf den Boden kleben, Pure Pursuit auf der Encoderschätzung fahren und Querfehler an zehn Punkten mit dem Lineal messen. Liegt er indoor nicht unter 10 cm, liegt er outdoor nicht unter einem Meter.
5 – Empfänger hinzufügen und noch nicht an den Regler anschließen. Fixes zehn Minuten loggen, während der Rover stillsteht, und plotten. Du siehst Rauschen, gelegentliche Ausreißer und wie HDOP beides trackt. Dieser Plot ist mehr wert als jede Datenblattzahl.
6 – Fusionieren, nicht folgen. Auf Schleifenrate koppeln; Schätzung sanft zu jedem guten Fix ziehen. Arithmetik und Gating stehen hier. Alles mit Void-Status oder HDOP über etwa 2,5 verwerfen.
7 – Einzäunen, dann raus. Maximaldistanz vom Start, Missions-Timeout, physische Abschaltung. Dann eine kurze Mission, auf Gras, mit dir daneben hergehend.
Hardware-Notizen, die zählen
Antenne oben montieren, zum Himmel, weg von allem. Eine Keramik-Patch unter einer Chassisplatte verliert Satelliten – und verlorene Satelliten sind schlechte Geometrie statt kein Fix, also eine selbstbewusst falsche Antwort statt eines offensichtlichen Fehlers.
Größere Räder als dein Indoor-Instinkt. Gras, Kies und eine Rasenkante sind alles Raddurchmesserprobleme. Sie ändern auch deinen Odometrie-Skalenfaktor – also auf dem Untergrund rekalibrieren, den du wirklich fährst.
Magnetometer fern von den Motoren halten oder weglassen. Motorstrom erzeugt ein Feld, das das Erdfeld ersäuft. Sind 15 cm Trennung nicht drin, Kreisel plus Kurs-über-Grund nehmen und dem Problem ausweichen.
Mission loggen. Ein Outdoor-Fehler, den du nicht aufgezeichnet hast, ist ein Fehler, den du nicht debuggen kannst – der Roboter war 40 m weg, und du schautest nicht auf die serielle Konsole. Eine SD-Karte oder ein WLAN-Log aus Pose, Fix, HDOP und Querfehler macht aus jedem Lauf Evidenz.
Erwarte, dass der erste Outdoor-Lauf früh endet. Dafür ist der Geofence da – und das ist ein Erfolg.
Wie gut aussieht
| Messung | Roh-GPS-Folgen | Fusioniert mit Odometrie |
|---|---|---|
| Querfehler, RMS | 3–5 m | 0,3–0,6 m |
| Querfehler, schlimmster Fall | 8–12 m | 1,0–1,5 m |
| Lenkaktivität | Ständig, große Korrekturen | Ruhig, gelegentlich |
| Wegpunkt-Ank notifiedungstoleranz | 5 m, und selbst das ist optimistisch | 0,5–1 m |
| Statische Positionswanderung, stehend | 2–4-m-Wolke | N/A – Odometrie hält ihn still |
Diese erste Spalte ist kein schlecht gebauter Rover; sie ist, was ein 2,5-m-CEP-Fix bei 1 Hz mit einem Regler tut, der ihm vertraut. Die Größenordnungsverbesserung in der zweiten Spalte kommt vom Schätzer, nicht vom Regler – derselbe Pure-Pursuit-Code, gefüttert mit fusionierter Pose.
Vor jedem Navigationscode einmal tun: Empfänger zehn Minuten stationär draußen lassen und jeden Fix loggen. Die Wolke ist mehrere Meter breit, und nichts bewegte sich. Dieser Plot ist das Nützlichste, was du an diesem Projekt anschauen kannst – denn er erklärt, warum rohen Fixes zu folgen nicht gehen kann und warum die Lösung vor dem Regler liegt.
Wenn es schiefgeht
| Symptom | Meist |
|---|---|
| Wedelt outdoor eine Gerade entlang, indoor in Ordnung | Rohen Fixes gefolgt statt sie zu fusionieren |
| Wedelt auch indoor | Vorausschau zu kurz für die Verzögerung; im Labor neu abstimmen |
| Rundet jede Ecke ab | Vorausschau zu lang – der Zielkonflikt, kein Bug |
| Selbstbewusste Position Dutzende Meter daneben | Schlechte Satellitengeometrie; nicht auf HDOP gegatet |
| Fährt aus dem Stand falsch los | Kein nutzbarer Steuerkurs; Kurs-über-Grund ist Rauschen unter ~1 m/s |
| Driftet stetig zu einer Seite | Odometrie-Skala oder Spurweite falsch für diesen Untergrund |
| Tut zwei Minuten gar nichts | GPS-Kaltstart. Zeige ihn, nimm den Ursprung nicht an |
| Verließ das Feld | Der Geofence stand nicht vor dem Test |
Sechs dieser acht sind Tasten statt Regelung – dieselbe Verteilung wie Micromouse und Abdeckungsroboter, und aus demselben Grund: Der Algorithmus ist der kleine Teil.
Für die ganze Folge in Reihenfolge folge dem Pfadfolge-Lernpfad; für die Indoor-Version desselben Problems braucht der Raumabdeckungs-Roboter einen Plan und gar keine Absolutposition.
Projekt-Roadmap
Der Baupfad
Folge dem Technikbaum von den Bauteilen bis zum funktionierenden Roboter. Jeder Knoten wird freigeschaltet, sobald seine Voraussetzungen erledigt sind, und dein Fortschritt wird auf diesem Gerät gespeichert.
0 / 20 erledigt
Bauteile
- ControllerArduino UnoDas gutmütige 8-Bit-Board, über das die meisten die Robotik kennenlernen.
- SensorNEO-6M GPS ModuleAbsolute Position überall draußen, wenn eine Minute Himmel bezahlt wurde.
- SensorMPU-6050 IMUEin sechsachsiger Bewegungssensor – wie ein Roboter eigene Neigung, Drehung und Beschleunigung fühlt.
- AktorN20-Getriebemotor mit EncoderMikromotor mit Metallgetriebe und Encoder hinten: So weiß der Roboter, wie weit er wirklich gefahren ist.
- TreiberTB6612FNG-MotortreiberEine MOSFET-H-Brücke, die die Volt behält, für die du wirklich bezahlt hast.
- Chassis2WD Robot ChassisDie Plattform, auf die zwei Motoren, eine freie Rolle und die Elektronik geschraubt werden.
- StromversorgungRobot Battery & Power PackDer Unterschied zwischen einem Roboter, der läuft, und einem, der ständig neu startet.
Tutorials in diesem Pfad
- Mittelstufe · 30 Min. LesezeitPure Pursuit: Pfadfolge mit einem einzigen KnopfZiele auf einen Punkt voraus auf dem Pfad und fahre den Bogen dorthin. Das ist der ganze Algorithmus.
- Mittelstufe · 30 Min.GPS-Wegpunktnavigation für einen AußenroboterEin GPS-Fix ist spät, verrauscht und hat keinen Kurs. Was man gegen jedes davon tut.
- Mittelstufe · 25 Min.Querfehler: Messen, wie gut du folgstEine vorzeichenbehaftete Entfernung sagt alles über einen Pfadfolger – inklusive welchen man nimmt.
- Einsteiger · 17 Min. LesezeitQuadratur-Encoder lesen für Distanz und TempoVerwandle Quadratur-Encoderpulse in zuverlässige Radrichtung, Distanz und Geschwindigkeit.
- Mittelstufe · 20 Min. LesezeitDifferenzial-Odometrie aus RadencodernLinke und rechte Radbewegung in eine mobile Roboterpose integrieren, dann Drift erkennen und kalibrieren.
Üben, bevor du verdrahtest
Im Live-Simulator abstimmen
Der Baupfad führt durch ein Browser-Labor. Bring das Verhalten hier in Ordnung und übertrage deine Einstellungen dann auf den echten Roboter.
Häufig gestellte Fragen
Warum den Folger erst indoor bauen, bevor GPS dazukommt?
Denn baust du beides auf einmal und er wandert, kannst du nicht sagen, welche Hälfte falsch liegt. Indoor per Encoder ist die Positionsschätzung auf einem Klebebandkurs auf wenige Zentimeter gut – jeder Fehler, den du siehst, ist also der Regler. Bringe dort die Vorausschau in Ordnung, miss den Querfehler mit dem Lineal und führe erst dann einen Sensor ein, der verrauscht, spät und gelegentlich selbstbewusst falsch ist. Jede Stunde in dieser Reihenfolge zahlt sich doppelt zurück.
Wie genau kann ein Hobby-GPS-Rover wirklich sein?
Etwa einen Meter Querfehler an einem guten Tag – gesetzt vom Empfänger statt deinem Regler. Gemessen mit demselben Pure Pursuit auf demselben Kurs hält eine perfekte Positionsschätzung 0,09 Meter RMS-Fehler und ein 1-Hz-Fix mit meterweisem Rauschen 1,25 – der Regler trägt also unter ein Zehntel zum Ganzen bei. Brauchst du besser, ist das Upgrade ein schnellerer Multi-Konstellations-Empfänger, dann RTK – nicht mehr Abstimmung.
Brauche ich zusätzlich zum Kreisel ein Magnetometer?
Du brauchst irgendeine absolute Steuerkursreferenz, und du hast drei Optionen. Ein Magnetometer liefert sie im Stand, braucht aber Hart- und Weicheisenkalibrierung und hasst Motornähe. Ein Kreisel ist für Dutzende Sekunden exzellent und driftet dann. GPS-Kurs-über-Grund ist absolut und gratis, aber erst über etwa einem Meter pro Sekunde bedeutungsvoll. Die übliche Rover-Antwort ist ein Kreisel für die Schleifenrate, korrigiert per Kurs-über-Grund, wann immer der Roboter schnell genug fährt, um ihm zu trauen – was dieser Aufbau tut, und es vermeidet die Kalibrierung vollständig.
Wie schnell sollte er fahren?
Langsamer, als die Motoren erlauben – und der Simulator sagt dir, warum. Der besterreichbare Querfehler wächst mit dem Tempo, egal wie du abstimmst: 0,05 Meter bei 1 m/s werden 0,23 bei 3 m/s im Labor mit perfekter Positionsschätzung. Draußen dominiert ohnehin der Empfänger – Tempo bringt also wenig und kostet im ersten Feldtest viel. Starte mit 0,5 m/s.
Was hindert ihn, in eine Straße oder einen Teich zu fahren?
Ein Geofence, den du vor dem ersten Outdoor-Lauf schreibst: eine Maximaldistanz vom Missionsstart, ganz oben in der Schleife geprüft, die die Motoren bedingungslos stoppt. Dazu ein Missions-Timeout und eine erreichbare physische Abschaltung – ein Anfahrschalter auf dem Oberdeck geht und braucht keine Funkstrecke. Das sind zehn Zeilen Code – und der Unterschied zwischen einem Bug und einem Roboter im Wasser.
Kann ich statt Uno einen ESP32 nehmen?
Ja, und für dieses Projekt ist er die bessere Wahl. Du bekommst eine zweite Hardware-Serielle fürs GPS ohne Software-Serial, weit mehr Speicher für eine Wegpunktliste, Fließkomma-Mathe ohne Schmerzen und WLAN zum Zurückloggen der Mission an einen Laptop – das nützlichste Debug-Werkzeug, das ein Outdoor-Roboter haben kann. Der Uno geht; der ESP32 nimmt drei Ärgernisse weg.