RoπLawnMow

Hallo zusammen,
schon wieder Mai und ich habe noch so viele andere Projekte im Garten zu erledigen gehabt. Am Samstag habe ich meine erste reproduzierbare Fahrt auf einen Geopunkt aus unterschiedlichen Positionen realisieren können.
Mein LC29h-DA macht ja nur 1Hz Updates, so ist der Abstand bei normaler Mähfahrt ca 24cm zwischen zwei Punkten. Bin aber sehr zufrieden mit dem Teilergebnis. Im Moment lasse ich ihn Heading und Entfernung zum Ziel berechnen, er fährt dann los und berechnet die Daten alle 3 Sekunden neu. Die aktualisierten Werte lasse ich in die Motorsteuerung einfließen. Weicht der Winkel-Fehler zu stark ab, dann lasse ich ihn auf der Stelle drehen / korrigieren. Der Korrekturwinkel berechnet mir die Tics, die zur Drehung notwendig sind, das geht besser als nach Gyro-Werten drehen. Der nächste Schritt ist dann eine aneinander Reihung von GeoPunkten die sequentiell abgefahren werden sollen.
Hier das Protokoll der Fahrt von Samstag. Zuerst bin ich mit der Fernbedienung einmal um einen Teil der Rasenfläche gefahren, dann auf den definierten LatLon Punkt zu . Danach habe ich ihn zurück getragen und bin in anerer Richtung gestartet um zu testen ob er sich richtig ausrichtet.
Damnächst geht es dann dann weiter. Viel Spaß beim schauen.
View attachment RTK_session.mp4
 
Hallo Ulli,
bei mir ist gerade der Wurm drin. Mein alter Mäher mit Ardumower-Technik ist am Wochenende stehen geblieben und will einfach nicht mehr fahren. Mähwerk läuft. Dann ist auch der Webserver nicht mehr gelaufen. Ein Grund, den ich erst später erkannt habe, war ein Hänger in meinem Netzwerk. Die wlan-Verwaltung war nicht mehr zu erreichen, daher der Ausfall. Das ist wohl aber nicht der alleinige Grund für den Ausfall - ich werde wohl weiter suchen müssen.
Mit Widerwillen habe ich bei meinem Roten Mäher nun alle Antennen aufs Dach gesetzt - super vorteilhaft wenn man unter Büschen durchfährt -
grrrrrrr. Jetzt suche ich nach Fehlern/Optimierungen bei der Bahnberechnung.
In diesem Zusammenhang verstehe ich nicht genau was du meinst mit:
„Weicht der Winkel-Fehler zu stark ab, dann lasse ich ihn auf der Stelle drehen / korrigieren. Der Korrekturwinkel berechnet mir die Tics, die zur Drehung notwendig sind, das geht besser als nach Gyro-Werten drehen.“
Kannst Du das bitte noch mal etwas ausführlicher erklären.
Ich habe hier einen erweiterten Kalman-Filter im Einsatz und jede Menge Korrekturmaßnahmen / Entscheidungen bei der Kursbestimmung. Weil es so komplizieret ist, funktioniert es wohl auch nicht - hahaha.
Heute habe ich zufällig gesehen, daß die Preise für „Dual-Antenna RTK“ stark gefallen sind, man könnte sagen, fast erschwinglich.
siehe hier: H-RTK Unicore UM982 (Dual Antenna Heading)
Gruß Fürst Ruprecht
 
Hallo Ulli,
bei mir ist gerade der Wurm drin. Mein alter Mäher mit Ardumower-Technik ist am Wochenende stehen geblieben und will einfach nicht mehr fahren. Mähwerk läuft. ...........
Heute habe ich zufällig gesehen, daß die Preise für „Dual-Antenna RTK“ stark gefallen sind, man könnte sagen, fast erschwinglich.
siehe hier: H-RTK Unicore UM982 (Dual Antenna Heading)
Gruß Fürst Ruprecht
Hallo Mein Fürst!,
ich habe neulich mal an Deine mechanischen Konstruktionen denken müssen. Mir fiel ein Real in die Hände (wohl eher aufs Telefon-Display) das zeigte ein Fahrwerk mit 4 lenkbaren Rädern. Ich hatte ja auch mal die konstruktion gebaut die Du verbaut hast die ohne Spurstange auskammt.
Der Konstrukteur hatte einen Getriebe Motor für die Lenkbewegungen und dann an allen 4 Rädern über Bowdenzug und Umlenkrollen (ähnlich wie beim Flugzeug) die Bewegung übertragen. Das fand ich schon ziehmlich beeindruckend, denn das erschien mir besser als mit einem Gestänge.
...
Ja das mit den Antennen und der Signalübertragung ist schon blöd. Da ist aber eigentlich jedes Controller basierendes Projekt noch im Vorteil ggü. einer Architektur mit einem Pi oder ähnlichem (finde ich) denn wenn ich z.B. noch im Test-Modus fahre und über mein Notebook mit dem Pi im Mäher über ssh verbunden bin, und es reißt mir die WLAN Verbindung zum Notebook ab, dann funktionieren auch die Scripte nicht mehr die ich auf dem Pi über das Notebook gestartet habe. Dafür lassen es sich aber Scripte wesentlich besser debuggen und verbessern (finde ich) als wenn man compilieren muss hochladen und dann wieder schauen muss wie die Reaktion ist und ob es sich verbessert hat oder nicht.
Gut man kann nicht alles haben.
Ich versuche das mit dem winke-Fehler mal zu beschreiben, wenn es nicht deutlich wird, dann musst Du dich noch einmal melden.
Nehmen wir an der Mäher ist an einem Punkt egal ob er fährt oder steht, dann weiß er ja über das RTK Modul wo er ist. Und er weiß wo er als nächstes hin muß. Hier eine logzeile.
Code:
Dist=7.38m | Target=76.8° | Mode=GYRO° | RTK_Heading=149.3° | Gyro_Heading=149.3° | Err=-72.5° |RTK-FIX=RTK-Fixed |RTK-Quali=91 |RTK-State=RTK-VERY-GOOD |Links = 0 |Rechts= 0|Speed= 0
Sein neues Ziel liegt bei 76.8 Grad und ist 7.38m entfernt. Der Roboter selber steht in Richtung 149.3 Grad (ich plotte für mich im Moment noch immer RTK_Heading und Gyro_Heading wenn er steht ist Gyro Heading der Bezug, wenn er schneller als 20 cm/s ist, dann ist RTK_Heading meine führender Wert den ich dann auf den Gyro übertrage. Somit reduziere ich Fehler bei er Richtungs-Erkennung)
Wir sehen der Ausrichtungsfehler zum Ziel ist -72.5 Grad. Wenn er jetzt auf das Ziel zufahren würde, dann würde er eine schöne große kurve Fahren. Ich hatte mal ein paar Tests gemacht und festgestellt, dass meine Motore bei einer 90 Grad Drehung ca 420 Tics mit dem Hall generieren bei 180 Grad erzeugen sie ca 860 Tics. Das ganze natürlich bei kurzem Rasen und trockenem Boden. Bei Nässe und am Berg sieht das sicher anders aus. Also gehe ich wie folgt vor bei dem Winkel-Fehler hier von 72.5 Grad benötigt er ca 340 Tics. Der Befehl den nun mein RTK-navi.py erzeugt ist
Code:
Drive.Locked Datei wurde erstellt
Drive_cmd = -20,20,340,340
drehe Links mit -20rpm, rechts mit 20rpm bei beiden Motoren 340 Tics. Nach den 340 Tics höre auf. Das ist die Abbruch Bedingung.
Drive.Locked deswegen, weil bei einer Drehung kein erneuter Fahrbefehl kommen soll. Dazu muss man wissen, dass bei mir die Motorsteuerung eine seperate Datei ist und ich daher per Steuerdatei das dann blockiere. Auch der Fahrbefehl -20,20,340,340 wird in eine Datei geschrieben und dann von der drive.py eingelesen und umgesetzt.
Hier in diesem längerem Lock kann man auch gut erkennen wie er den ersten Befehl absetzt, reagiert der Fehler Winkel beim 2. Log ist schon geringer
Code:
Drive_cmd = -20,20,340,340
Dist=7.38m | Target=76.8° | Mode=GYRO° | RTK_Heading=149.3° | Gyro_Heading=149.3° | Err=-72.5° |RTK-FIX=RTK-Fixed |RTK-Quali=91 |RTK-State=RTK-VERY-GOOD |Links = 0 |Rechts= 0|Speed= 0
Dist=7.38m | Target=76.8° | Mode=GYRO° | RTK_Heading=148.6° | Gyro_Heading=118.9° | Err=-42.1° |RTK-FIX=RTK-Fixed |RTK-Quali=91 |RTK-State=RTK-VERY-GOOD |Links = 92 |Rechts= 88|Speed= 17
Divelocked wurde gerade gelöscht Timestamp gespeichert
Dist=7.16m | Target=76.8° | Mode=GYRO° | RTK_Heading=89.5° | Gyro_Heading=76.8° | Err=-0.0° |RTK-FIX=RTK-Fixed |RTK-Quali=89 |RTK-State=RTK-VERY-GOOD |Links = 0 |Rechts= 0|Speed= 0.21
Aktualilsiere den Fahrbefehl auf 20, 20, 716,s,76
Nun hat er sich auf das Ziel ausgerichtet und sein neuer Motorbefehl lautet: Drehe mit beiden Rädern mit der Sollgeschwindigkeit von 20rpm 716cm weit s steht für straight auf 76 Grad.
Meine Logzeilen werden derzeit sekündlich erzeugt. Alle drei Sekunden wird der Motorsteuerung ein neuer Fahrbefehl übermittelt
Code:
Dist=7.14m | Target=76.9° | Mode=GYRO° | RTK_Heading=79.2° | Gyro_Heading=80.8° | Err=-3.9° |RTK-FIX=RTK-Fixed |RTK-Quali=88 |RTK-State=RTK-VERY-GOOD |Links = 78 |Rechts= 92|Speed= 0.03
Dist=7.00m | Target=76.7° | Mode=GYRO° | RTK_Heading=75.5° | Gyro_Heading=74.4° | Err=2.3° |RTK-FIX=RTK-Fixed |RTK-Quali=87 |RTK-State=RTK-VERY-GOOD |Links = 80 |Rechts= 78|Speed= 0.14
Dist=6.75m | Target=76.2° | Mode=RTK° | RTK_Heading=76.4° | Gyro_Heading=76.8° | Err=-0.6° |RTK-FIX=RTK-Fixed |RTK-Quali=86 |RTK-State=RTK-VERY-GOOD |Links = 80 |Rechts= 88|Speed= 0.25
Aktualilsiere den Fahrbefehl auf 20, 20, 675,s,76
Bei den Werten "Links" und "Rechts" handelt es sich um den PWM Value für die Motore, da kann man auch gut sehen wie der eine ann mehr oder weniger bestromt wird, damit die Richtung gehalten wird.
In dem Video von meinem Post heute vormittag kann auch sehr gut sehen wie bei der letzten Fahrt die Regelung nach 3 Sekunden wieder eingreift und ihn auf kurs bringt. Er fährt da mit einem Rad über einen Hügel und bekommt dadurch einen Schub nach rechts. Die Regelung gleicht es ohne Kallmann Filter ;-) aus. Ich bin derzeit auf Föhr im Urlaub und habe vergessen gestern noch meinen Mäher an die Laestation anzuschließen. So kann ich ihn aus der Ferne jetzt nicht ein schalten, sonst hätte ich Dir noch den Code Teil er Regelung schicken können. Das ist alles überschaubar.
Wenn ich meinen Fürst damit helfen konnte dann hat es mich gefreut. Ich bin jetzt dabei und versuche eine Bahnplanung zu realisieren mit. Also von Punkt zu Punkt, möchte das aber nicht alles per Hand machen. Wie gehst Du vor?
Beste Grüße von Föhr
Ulli
 
Hallo Ulli,
na dann wünsche ich Dir erst einmal einen schönen Urlaub.
Ich habe jetzt irgendwo auch ein Bild gesehen, bei dem der Mäher vorn lenkende Räder hat und wie bei meinem blauen Prototyp 2 bis zu 90 Grad einschlägt.
Die Idee, mit Bowdenzug die Lenkung umzusetzen hatte ich auch, habe sie aber verworfen aufgrund meiner Erinnerungen an die Schaltung des Heinkel-Rollers Baujahr 1960. Die war recht feinfühlig und mußte öfters nachgestellt werden. Außerdem hatte ich Zweifel, ob ich das mechanisch vernünftig umgesetzt bekomme.
Bei den unterschiedlichen Lösungen die Vorderräder zu drehen, muß auch der Drehpunkt unterschiedlich gesetzt werden. Das hat dann wiederum Auswirkung auf die gesamte Geometrie des Rovers.
Bei der Fuhrman-Lenkung mit Gestänge ist leider der mögliche Einschlagwinkel beschränkt. Überschreitet man den maximalen Winkel, dann schwenken die Räder nicht mehr in die gleiche Richtung.
Bezüglich der Funkanbindung hatte ich letzte Woche auch überlegt, einen Rover nur mit Sensoren und Fernsteuerung auszustatten und die gesamte Steuerung dann über PC zu machen. Aber am Ende soll der Rover ja autark fahren und dann braucht man eigentlich keine Verbindungen mehr zum User.
Ich habe jetzt deine Strategie verstanden.
Wie schon gesagt ist bei mir alles etwas komplizierter.
Route: Die Wegpunkte kann der Rover selbst aufzeichnen oder man kann sie in Missionplanner eingeben. Die Missionpoints werden dann entweder hoch- oder runter-geladen - oder hoch, runter, hoch, runter um sich zu vergewissern, daß sie auch stimmen.
Der Rover kann die Punkte in festen Abständen aufzeichnen, oder man fährt ihn und zeichnet per Knopfdruck an der Fernsteuerung auf. Die Punkte liegen in einer Liste auf der sd-Karte des Teensy. Die Punkte sind gleichzeitig im Speicher des Teensy. Das Ablegen auf sd findet nur für alle Punkte gemeinsam statt, bzw. bei Änderungen. So kann man auch eine „feste“ Route speichern. Zu den Punkten können weitere Parameter abgelegt werden, genauso wie es das mavlink-Protokoll definiert. Grundsätzlich halte ich mich strickt an das Protokoll.
Grundsätzlich nimmt man eigentlich nur den begrenzenden Pfad auf und lädt ihn in Missionplanner hoch. Dort kann man dann Raster oder was auch immer berechnen oder von Hand editieren und als Mission wieder auf den Rover herunter laden. Man kann natürlich auch auf anderen Wegen eine Route erzeugen. Stimmt das Format, einfach runter laden oder auf die sd-karte schreiben.
Fährt der Rover, dann ist ein Wegpunkt erreicht. sobald der einstellbare Abstand von Rover zu Wegpunkt unterschritten wird. Es wird dann der Wegpunkt-zähler hochgezählt und der nächste Punkt und die Parameter, zB. Geschwindigkeit geladen. Ich habe eine Berechnung, ob der Rover den nächsten Punkt anfahren kann - „kriegIchDieKurve“ berechnet, ob der Abstand kleiner ist als der Radius bei vollem Lenkeinschlag. Kriegt er die Kurve nicht, fährt er ein Stück rückwärts. Dabei wirkt die gleiche Berechnung für den Lenkeinschlag.
Den Lenkeinschlag berechne ich mit 3 Methoden: Stanley-Verfahren, PPC-Verfahren und Proportionalregler für kurze Distanzen.
In der Zwischenzeit hat das alles schon mal mehr oder weniger funktioniert. Im Moment eher weniger.
GPS-Siganl: Ich unterscheide Fix und Qualität des Signals. Das GPS-Signal (5Hz) wird auf Sprünge überwacht. Ist der Fix schlecht oder die Qualität, dann wird das GPS-Signal in der Gewichtung herabgesetzt und die Positionsberechnung erfolgt im wesentlichen über Odometrie.
Hier liegt ein großer Knackpunkt. Bis jetzt liefern die beiden Kompasse keine guten Signale. Das liegt an der Kalibrierung und am Einbauort. Der Rover ist so schwer, daß ich ihn alleine nicht in alle Richtungen drehen kann. Die Meßpunkte lege ich auch auf sd-Karte ab und die Kalibrierung mache ich „auch“ offline im Cad-Programm. Hier muß ich nochmals ran.
Und dann kommt noch der Kalman-Filter. Der berechnet welche Parameter der Rover im nächsten Meßzyklus haben müßte und vergleicht sie dann mit den Sensorsignalen. Die Abweichung zwischen Soll und Ist wird dann zur Gewichtung der einzelnen Parameter genommen und daraus ein Ergebnis berechnet. Kompliziert, aufwendig, rechenintensiv, und eine super Fehlerquelle. Wenns funktioniert ergibt sich aber eine ruhige, zuverlässige Fahrt - bis jetzt funktioniert es aber nicht.
Letztlich: Die Parameter und Kalibrierungen kann man über Missionplanner einstellen oder über esp32-WebServer.
So siehts im Moment bei mir aus.
Gruß Fürst Ruprecht
 
Hallo, bin wieder zu Hause angekommen und gleich mal ein paar Tests absolveren lassen.
Während meiner Freizeit auf der Insel Föhr habe ich mit der Hilfe von ChatGPT einen Mähbahn edtor erstellt.
Mit ihm kann ich einfach Bahnen ziehen, denen dann mein Mäher folgen soll
Die daraus entstandene Mowtrack.json lade ich auf meinen Mäher und starte dann das script welches die Mähpunkte anfährt / annavigiert. Immer von dem einem zum nächsten. So lang wie die Liste ist. Mit dem Slider oben rechts kann ich die Mähbahnen im Entwurfsmodus noch einmal nachverfolgen. Da ich "nur ein" LC29H-DA nutze bekomme ich auch nur jede Sekunde einen validen RTK Punkt. Ich habe nun einige Tests durchgeführt und festgestellt, dass ich ungefähr einen seitlichen Fehler von 30 - 40 cm habe und einen Fehler nach vorn von maximal 25cm.
Für mich reicht das im Moment, denn es gibt noch viele Herausforderungen bevor ich mir ein LC29H-EA einbaue.
Die größte Herausfordeung ist wie bei @Fürst Ruprecht der Kompass / Gyro. Hier werde ich in den nächsten Tagen noch ein paar Tests durchführen. Mein Eindruck ist, dass er beim wenden ab und zu die Richtung verliert / oder einen zu großen Versatz hat. Bisher habe ich eine Routine implementiert, dass wenn der Gyro zu stark vom RTK Heading abweicht der Gyro auf das RTK-Heading gesetzt wird. Das scheint aber noch Fehler behaftet zu sein. Wenn ihr euch das Video anschaut, so könnt ihr zum Ende (ab Timestamp 26) die gelben Punkte sehen die er abgefahren ist, Ich habe das Muster sicher 5 - 7 mal abgefahren. Mich würde die Einschätzung von @Bernard interessieren ob das eine gute Basis ist um weiter zu entwickeln. Ich frage derzeit keinen anderen Sensor ab, Er fährt allein nach RTK und nach Gyroscope.
Heute bin ich dann auch damit gestartet, dass ich die NoGo Zones bei der Fahrt auswerte. Er erkennt sie schon zuverlässig, ich muss die Ausweichroutinen noch implementieren. Vielleicht klappt es ja dieses Jahr noch mit "vollautomatischem" Mähen. Im Moment bin ich zuversichtlich
View attachment RTK_first_Editortest.mp4
 
Hallo Ulli,
Du beschreibst bereits die Gründe warum bei mir alles so kompliziert geworden ist. 25 cm ist bei mir NO-GO !!! ChatGPT behauptet, daß für unsere langsamen Rover das RTK-Heading nicht ausreichend funktioniert. Ich hatte überlegt, das Heading (RTK) aus den GPS-Koordinaten zu berechnen, wobei man dann die Frage stellen muß, was dann noch der Unterschied zum RTK-Heading ist. Ich hatte die diversen Heading-Signale alle einmal auf dem esp32-Webserver visualisiert, RTK-Original-, Odometrie-Heading-, zwei Kompass-Headings, und gemixte Headings. Dabei rausgekommen ist im Grunde nichts verwertbares, na ja, etwas zusätzlicher Frust vielleicht. Ich hatte vor mehr als einem Jahr bereits den Rover am laufen, genau wie Du, mit einfacher Logik, ein Punkt nach dem anderen. Dabei war zu beobachten, daß Positionsabhängig es zu wiederkehrenden Positionsfehlern gekommen ist - der Rover hat immer die gleichen Ausweicher gezeigt, wohl zurückzuführen auf GPS-Signalreflexionen z.B. durch ein überstehendes Dach. Deshalb ist mein Anspruch, daß ich auf ca. 5cm Genauigkeit komme. Mein Problem dabei ist zu Erkennen, wann ich dem GPS-Signal vertrauen kann und wann nicht. Beim Kompass hoffe ich noch immer, daß die Störungen im Rover nicht entscheidend sind, sondern der richtige Abgleich. Der steht bei mir immer noch aus. Ich halte es aber als unabdingbar, daß man sich die Punktewolke ansehen muß und den Abgleich „von Hand“ im CAD oder vergleichbar macht.
Selbstkritisch würde ich sagen, ich bekomme es halt nicht besser hin. In meinem kleinen Rover-Projekt Eve hatte ich einen Pixhawk-Controller mit Ardupilot im Einsatz. Manchmal hat er sehr gut gemäht, meistens ist er aber voll in die Büsche gefahren. Da hat es also in meinen Rahmenbedingungen auch nicht funktioniert.
Inzwischen gibt es die Dual-Antenna-RTK-Lösungen. Die sollen ein störfreies Heading auch im Stand liefern (bei einem Antennenabstand >70cm). Damit wäre ein Problem gelöst. Meine Rover sind gerade mal +/- 70cm lang, würde funktionieren. Bleibt die Zuverlässigkeit des RTK. Erreiche ich keine 5cm, brauche ich auch kein RTK, dann ist Perimeter für mich besser geeignet.
Ich war auch 2 Wochen außerhalb des Fürstentums unterwegs. Jetzt ist der Rasen 25cm hoch -> da muß der alte Honda-Verbrenner ran.
Es bleibt spannend.
Weiterhin viel Erfolg.
Gruß Fürst Ruprecht
 
Hallo Ulli,
Du beschreibst ....
Gruß Fürst Ruprecht
Hallo mein Fürst, Ja das Heading bei langsamen Geschwindigkeiten - meine Erfahrung alles was kleiner 0.18m/s ist ist von meinem LC29H-DA Modul nicht verläßlich. Das mit den Streckenfahrten habe ich bisher so gut wie keine Probleme. Ich Fahre i.d.R. mit 0.2 - 0.22m/s da ist es schon für mich genau genug. Am Ende der Bahn zieht er sich immer auf den ZielPunkt zu. Das er zwichendurch geringfügig von der Bahn abweicht liegt noch ein meinem PID Regler. Das ist aber später Finetuning. Auf jeden Fall habe ich einen Fehler in meiner Berechnung im Gyro gefunden. Das klappt inDoor jetzt sehr sehr gut, ob draußen wird sich zeigen. Meine Visualisierung habe ich erweitert, ich zeige neben der aktuellen Position auch das Ziel an, das er an navigiert. Das ist von sehr großem Vorteil, weil ich bei vielen Wegpunkten den Überblick verliere wo er gerade hinwill, und einen Fehler habe ich gestern noch durch die neue Visualisierung gefunden, er Berechnet falsche Ausweichziele wenn er in eine NoGoZone hineingerät. Das muss ich noch herausfinden was ihn da durcheinander bringt. Eine System mit Dual Antennen kommt für mich aus Kostengründen nicht in Frage, da nehme ich lieber mehr Toleranz in Kauf. Die Mammotion Mäher mit RTK kommen ja auch ohne Dual Systeme aus. Soweit mir meine Bekannten berichten, bleiben die aber auch sofort stehen wenn die kein gutes RTK Signal haben und machen erst dann weiter, wenn das signal gut genug ist. Ich bin aber davon überzeugt, dass ich diese Mähsaison noch erfolgreich mit RTK ohne Perimeter Sicherheit mähen werde. Es ist nur noch ein kleiner Schritt. Und ich bin mir sicher, dass ich die Genauigkeit mit dem 1Hz RTK Modul auf 15cm steigern kann, in dem ich ihn in Nähe des Ziels langsamer fahren lasse.
Soweit mein Zwischenstand.
Nicht den Mutverlieren mein Fürst, Dein Volk ist mit Dir.
Gruß
Ulli
 
Die Kalibrierung des Gyro-Headings über RTK habe ich bei meinem Mower so gelöst, dass permanent kontrolliert wird, ob der Mower
  • mit geringer Toleranz geradeaus fährt (Soll, ODO und Gyro),
  • das RTK-Signal genau genug ist,
  • kein GPS-Sprung stattgefunden hat.
Wenn das alles erfüllt ist, berechne ich aus den RTK-Werten der letzen 30cm das neue Heading. Wenn ich das alle 5-10 Sekunden hinbekomme, ist das locker genau genug.
GPS-Sprünge detektiere ich über eine einfache Logik. Über die Odometrie weiß ich ja, wie weit der Mower seit dem letzten RTK-Wert gefahren ist. Ist die RTK-Entfernung deutlich größer, dann ist das ein Sprung. In diesem Fall wird das GPS für 5 Sekunden nicht benutzt. Gibt es in der Zeit weitere Sprünge verlängert sich die Zeit entsprechend. Mit der Logik sind GPS-Sprünge bei mir kein Problem mehr.
Grüße
Jürgen
 
Die Kalibrierung des......
Mit der Logik sind GPS-Sprünge bei mir kein Problem mehr.
Grüße
Jürgen
Hallo Jürgen, Danke für Deinen Beitrag. Es ist schön dass sich mehr und mehr User mit RTK befassen und sich auch mitteilen.
Das Zusammenspiel von ODO RTK und Kompass / Gyro steht bei mir auch noch auf meinem Zettel. Ich bin erste bei der Kombi RTK und Kompass / Gyro angekommen. Welches RTK Modul nutzt Du ? Im Moment ist mein Hauptproblem. dass es igrendwo einen Fehler in meiner Berechnung von Winkel zum Ziel und Entfernung zum Ziel gibt. Hoffe ich kann es heute fixen, damit ich morgen wieder raus auf den Rasen kann.
Gruß
Ulli
 
ich nutze die ublox-Module. Die kann man aktuell günstig gebraucht bekommen, da regelmäßig Ardumower-Projekte aufgegeben werden. Wenn du weiteres Geld sparen willst, reicht ein Modul aus, dass du über einen ESP32 mit einem NTRIP-Server in deiner Nähe verbindest. Hatte mal vor ein paar Jahren mit NTRIP experimentiert. Das war da noch recht grottig. Mein aktuelles Projekt, ein Vermessungsgerät, funktioniert mit NTRIP einwandfrei.
Viel Erfolg bei den Winkelberechnungen. Über die stolpere ich auch immer wieder.
Grüße
Jürgen
 
ich nutze die ublox-Module.....
Viel Erfolg bei den Winkelberechnungen. Über die stolpere ich auch immer wieder.
Grüße
Jürgen
Danke Jürgen für Deine Antwort, ich nutze das LC29H-DA. Das liefert jede Sekunde einen RTKPunkt. Meine Referenz beziehe ich über SAPOS das habe ich in NRW die Möglichkeit einen client ohne gebühren zu betreiben. Das funktioniert zuverlässig. Ich habe mir auch eine BASIS Station schon gebaut. Will aber ersteinmal sicherstellen, dass der Weg mit SAPOS ordentlich funktioniert, Wobei mein Problem ja noch bei mir im Kopf ist. SAPOS und das LC29H-DA funktionieren ja prächtig.
Ich werde weiterhin berichten.
 
Hallo Jürgen,
ich überwache auch RTK-Signalqualität und GPS-Sprünge durch Plausibilität zum Odo-Signal bzw. zur Änderung in der Position - schließlich kann mein Rover nicht springen.
Ich nutze aber das Kompass-Magnetfeld-Signal. Mit reinem Gyro habe ich das Problem nicht in den Griff bekommen, daß der Rover bei Start aus dem Stillstand nicht die Richtung kennt. Ich werte mit 5Hz das RTK-Signal aus und interpoliere noch höherfrequenter über die Odo-Signale Heading und Position.
Gruß Fürst Ruprecht
 
Hallo Jürgen,
Gruß Fürst Ruprecht
Hallo Fürst,
Hast Du schon mal ausprobiert, das Magnetfeld des Kompasses beim Start, bevor sich die Motore drehen asuzulesen, dass ist bei mir eine sehr zuverlässige Referenz. Habe den BNO 085, wenn ich den Einschalte lasse ich den im Stand Klaibrieren, wenn der Magnetstatus bei ihm der Wert 2 hat, reicht das vollkommen aus, dann lasse ich ihn noch ein paar Sekunden ruhig. Damit sich das Gyro Kalibriert und übertrage danach den Magnetwert auf den Gyro. Dann ist der Gyro stabil und wird mit dem Heading des RTK-Signales syncronisiert, wenn das delta zu groß ist. Das mache ich nur wenn die Bewegung des Mähers > 0.2m/s ist. Was ich noch kontrollieren muss, ist ob bei der Drehung / Wenden der Gyro stabil bleibt. Auch dazu werde ich noch ein update geben
 
aus meiner Erfahrung nein. Bei vielen Wendevorgängen hintereinander (z.B. umrunden eines Baums) driftet der Gyro für meinen Anspruch zu stark.
Okay, um wieviel Grad schwankt das ?
Ich drehe derzeit mit ODO-Metrie Daten, z.B. 180 Grad sind ich sag jetzt mal 900 Tics bei mir pro Rad. Wenn das auf +-20 Grad genau ist. Fährt er los, dann übernimmt Heading vom RTK signal und syncronisiert den Gyro. Danach Korrigiert er bei zu großem Fehler, wenn Fehler < 20 Grad, dann Zieh ihn der PID Regler auf Spur. Bei mir hatte ich letzte Woche beim Drehen über den Nor Süd Richtung zu Große Sprünge > 90 Grad. Da war ein Rechenfehler.
 
nein, drehen würde ich immer über Gyro machen. ODO ist gerne Fehler behaftet, weil beim Wenden die Räder, je nach Konstruktion des Mähers häufig mehr oder weniger Schlupf haben. Dafür ist der Gyro da. Wenn ich von Abweichungen spreche, dann immer im kleinen einstelligen Bereich. 20 Grad wäre für mich eine Katastrophe. Das geht gar nicht. Dann braucht der Spurregler zu lange, bis er auf 0-Abweichung ist.
 
Back
Top