Eigenbau / Scratch Build „Arnold“ by Fürst Ruprecht ( I only do four-wheel drive )

Ich kann im Moment nur aufs Smartphone schauen, aber das Profil scheint mir schon mehr grip zu haben als das aus deinem Post mit den letzten Bildern. Ich drücke die Daumen.
Bin diese Woche nicht zum Testen gekommen. Die Enkelkinder sind auf Ferienfreizeit bei Oma und Opa, da stehen andere Dinge im Focus. Bin gespannt auf deine Testergebnisse.
 
Neuigkeiten aus der Steppe:
Heute ist etwas ganz seltenes passiert !?
Fürst Ruprecht war mit seinem Rover-Projekt zufrieden.

In den letzten Tagen habe ich stundenlange Testfahrten in unserer Steppenlandschaft ( früher auch Garten genannt ) gemacht.
Der große Bringer waren am Ende die Einstellungen der vielen Parameter. So war mir zum Beispiel der Fehler unterlaufen, daß bei der Parametrierung der Kompass satt mit Faktor 0,8 mit Faktor 0,01 aktualisiert wurde. Letztlich hat sich mit jeder korrigierten Einstellung das Fahrverhalten des Rovers verbessert.
Als Maßstab habe ich mit Maurerschnur eine etwas größere Route markiert. Das hat sich als sehr hilfreich erwiesen, da man dann gut Rückschlüsse auf unterschiedliche Navigationsanforderungen ziehen kann. Auch für die Beobachtung des GPS-Signals war das sehr aufschlussreich.
Ich habe jetzt 3 verschiedene Regler implementiert, nutze davon bisher aber nur 2.
PPC = Pure Pursuit Controller - nutze ich z.Z. nicht
STC = Stanley Controller
POINTC = Point Controller.
Der Stanley Controller lenkt den Rover hin zu Ideallinie vom letzten zum nächsten Wegpunkt und verhindert, daß der Rover seitlich vom Kurs abweicht.
Der POINTC steuert in der Nähe des nächsten Wegpunkts den Rover ins Ziel. Der Vorteil liegt in der Berechnung die auf kurzen Distanzen in den Zielpunkt steuert, während Stanley möglicher weise daran vorbei fährt.
Um die Toleranz der Abweichung von der Ideallinie einschränken zu können, war klar, daß bei meinem eingeschränkten Wenderadius eine weitere Instanz benötigt wird. Dazu habe ich den "Bewegungsplaner" entworfen.

Weicht der Rover seitlich zu stark von der Ideallinie ab oder kann er den Zielpunkt nicht erreichen, werden die drei Navigationsregler vorübergehend deaktiviert und der Bewegungsplaner aufgerufen.
Der Bewegungsplaner prüft anschließend, ob sich der Rover durch gezieltes Rangieren wieder dem Zielpunkt oder dem vorgesehenen Routenkorridor annähern kann. Dazu untersucht er zunächst sechs mögliche Fahrmanöver:
  • vorwärts links,
  • vorwärts geradeaus,
  • vorwärts rechts,
  • rückwärts links,
  • rückwärts geradeaus,
  • rückwärts rechts.
Für jedes dieser Manöver wird berechnet, wie sich die Position des Rovers verändern würde und ob sich dadurch die Abweichung vom Ziel beziehungsweise von der Route verbessert.
Führt mindestens eines der sechs Manöver zu einer günstigeren Position, setzt der Bewegungsplaner die Berechnung von dort aus fort und untersucht für diesen neuen Zustand weitere mögliche Fahrzüge. Im Planer werden dabei insgesamt drei Planungsebenen betrachtet. Auf diese Weise entsteht eine Folge mehrerer möglicher Rangierbewegungen, aus denen der Bewegungsplaner die günstigste Variante auswählt.
Kann der Planer theoretisch in 3 Zügen die Abweichung korrigieren, so führt er aber lediglich einen Zug aus. Anschließend aktiviert er die Regler und das ganze geht von Vorn los.
Erst der Bewegungsplaner macht es möglich, daß die Navigations-Toleranz reduziert werden kann.
In der Ebene konnte ich die seitliche Abweichung auf 20cm reduzieren ebenso den Zielradius. Setzt man den Zielradius etwas größer an, dann kann der Rover etwas eleganter die Übergänge von Teilstrecke zu Teilstrecke nehmen, allerdings bei erhöhter Gefahr für die Büsche.
Die mittlere, absolute Abweichung (gemessene, absolute Abweichung pro Punkt / Anzahl der gemessenen Punkte) von der Idealstrecke lag so bei knapp unter 10cm. Die stärkste Abweichung tritt beim Wechsel de Teilstrecke auf.
Am Hang stellt sich das nicht so perfekt dar. Aufgrund der Traktionsprobleme - der Rover rutscht seitlich weg, weil beim Lenken und Rangieren die Räder durchdrehen - kann der Bewegungsplaner den seitlichen Versatz nicht mehr korrigieren. Zumindest nicht mit einer Rangierstrecke von 10cm und den Toleranzvorgaben aus der Ebene. Erweitert man diese, ist viel möglich.
Als weiteres Problem sind heute GPS-Fehler aufgefallen, wobei ich den Eindruck hatte, daß sie am spätem Nachmittag, also mit anderer Satellitenkonstellation aufgetreten sind. An bestimmten Punkten läuft dann das Signal weg ( Trotz Fix ) und die Regler und der Bewegungsplaner sind mit der Toleranzvorgabe überfordert und stoppen den Rover.
Anbei noch eine kleine Impression.
Es grüßt der heute sehr zufriedene Fürst Ruprecht
View attachment IMG_0932.mp4
 
Last edited:
Federnder Reifen:
Meine Ziel ist einen Reifen zu drucken, der nach Möglichkeit auf meine Standard-Felge paßt und zusätzlich den Rover federt und die Aufstandsfläche des Reifen vergrößert damit mehr Haftung entsteht.
Bis zum Druckerdefekt konnte ich 3 Varianten herstellen (in unterschiedlicher Breite, aber aussagekräftig).
Die Ergebnisse sind bisher nicht zielführend. Ich konnte zwar ein Gefühl entwickeln wieviel Lagen TPU zu welcher Steifigkeit führen, aber die Geometrie ist nicht funktional. Der Reifen Variante 3 hebt sich von der Felge ab. Außerdem habe ich nicht bedacht, daß über die Ermüdung des Federeffekts sich die Lauffläche allmählich um die Felge „wickeln“ wird.

Also:
1. Drucker reparieren
2. Neues Design drucken
IMG_0055.jpeg IMG_0056.jpegIMG_0057.jpegIMG_0058.jpegIMG_0059.jpegIMG_0060.jpeg
Neues Design
IMG_0061.pngIMG_0063.png
 
Federnder Reifen:
Der Reifen Variante 3 hebt sich von der Felge ab. Außerdem habe ich nicht bedacht, daß über die Ermüdung des Federeffekts sich die Lauffläche allmählich um die Felge „wickeln“ wird.

Also:
1. Drucker reparieren
2. Neues Design drucken

Neues Design
Mich würde mal interessieren wie lange Dein Drucker für einen TPU Reifen benötigt. z.B. Variante 3. Ich habe ja den Prusa Mini und bei dem muss ich beim drucken mit TPU die Vorschub Geschwindigkeit auf 1/3 der normalen Geschwindigkeit reduzieren. So hat z.B. eine "Gummirolle" von meinen Omniwheel Rädern ca 1.5 Stunden Druckzeit gehabt. Eine socher Reifen wie Variante 3 da müsste ich sicher den Drucker auslagern weil er mit 12 Stunden gar nicht auskommt.
 
Ich habe 4 Drucker:
Dem Alter nach:
2 x Anet A1 - im Prinzip nicht mehr in Gebrauch, Standby (ca. 25x25x30)
1 x Artillery Sidewinder X1 (ca. 35x35x40) - zur Zeit defekt wegen Flachbandkabel (wohl eine bekannte Schwachstelle)
1 x Ratrig V-Core 4 IDEX (ca. 50x50x>50) - das Monster !!!

Gedruckt habe ich mit dem Artillery X1 weil er super leise ist. Da kann man problemlos über Nacht drucken.
Der Ratrig ist ein HighSpeed-Monster auf dem aktuellen Stand des Möglichen. Den habe ich in erster Linie wegen der Baugröße und den beiden Extrudern gekauft. Mit so einem Gerät lernt man alle Probleme beim 3D-Druck kennen. Wenn er läuft, wackelt das Haus. Schlafen ist da undenkbar.

Ich habe jetzt keine speziellen Werte für den Slicer genommen, sondern Generische Vorlagen für TPU.
Den Ratrig habe ich allerdings bereits eingebremmst, weil er einfach brutal beschleunigt - was ich nicht unbedingt brauche.

Der Reifen hat einen Durchmesser von 21cm und eine Breite/Höhe von 4cm.

Hier die Werte:
Cura Slicer 5.11.0
Artillery Sidewinder X1:
22 Stunden 43 Minuten <<<<----------------------------------------- so lange hat es ungefähr gedauert !
216g - 73,57m
Düse 0,6
Standard Qualität
Lagenstärke 0,2mm
Druckgeschwindigkeit 60.0 mm/s
Wandgeschwindigkeit 30.0 mm/s
Bewegungsgeschwindigkeit 150.0 mm/s


Orca Slicer 2.3.1
RatRig V-Core 4 IDEX
16 Stunden 19m
Standard Qualität
Lagenstärke 0,2mm
Geschwindigkeit Außenwand 250mm/s
Geschwindigkeit Innenwand 300mm/s
Geschwindigkeit Strukturen 250 mm/s
Fahrgeschwindigkeit 600mm/s
 
Der Reifen hat einen Durchmesser von 21cm und eine Breite/Höhe von 4cm.

Hier die Werte:
Cura Slicer 5.11.0
Artillery Sidewinder X1:
22 Stunden 43 Minuten <<<<----------------------------------------- so lange hat es ungefähr gedauert !
216g - 73,57m
Düse 0,6
Standard Qualität
Lagenstärke 0,2mm
Druckgeschwindigkeit 60.0 mm/s
Wandgeschwindigkeit 30.0 mm/s
Bewegungsgeschwindigkeit 150.0 mm/s
Impressiv.
Die Druckgeschwindigkeit habe ich bei der 0.4er Düse auf 20.0mm/s damit komme ich zurecht, Aber 22 Stunden das wäre nichts für mich
 
Hallo Ulli,
dann hast Du so eine ungefähre Vorstellung wie lange der Drucker für das Rover-Gehäuse gebraucht hat. Ich habe bisher die Teile noch zusammensetzen müssen, weil ich auf 35cm begrenzt war. Die Rover haben eine Gesamtbreite von ca 45cm und eine Länge von ca 75cm. Da brauche ich für das Gehäuse mit dem Sidewinder X1 ca 1,5 Wochen -Tag und Nacht.

Feldtest:
Ich habe immer noch ein Problem mit meiner zappelnden Vorderachse. Gestern habe ich wieder bis in die Dunkelheit den Rover über die Teststrecke geschickt und mit Chatgpt darüber philosophiert, was wohl die Ursache ist.
Die gute Erkenntnis beim Aufzeichnen verschiedener Parameter: Trotz bewölktem Wetter liegt die Varianz des 10Hz-GPS-Signals bei < 6mm! Das sagt zunächst nichts über die absolute Genauigkeit aus, ist aber dennoch sehr beruhigend. Trotzdem zappelt die Vorderachse, daß man Angst haben muß, der Rover nimmt dabei (mechanischen) Schaden.
Aktuell ist meine Vermutung, daß der Beschleunigungssensor dafür verantwortlich ist, was auch das Aufschaukeln in bestimmten Situationen erklären würde.
Fortsetzung folgt ..
Fürst Ruprecht
 
Feldtest:
Aktuell ist meine Vermutung, daß der Beschleunigungssensor dafür verantwortlich ist, was auch das Aufschaukeln in bestimmten Situationen erklären würde.
Fortsetzung folgt ..
Fürst Ruprecht
Was ich in solchen fällen mach um es einzugrenzen. Ich schaue nach ob sich das Verhalten auch ergibt wenn ich mit der Fernbedienung steuere. Dann habe ich ja nur die PID Regler der Motore wirksam ( so ist das bei mir) alles was aus seiten der Navigation an einflüssen sich ergebt, wird damit ja ausgeblendet. Aber auch bei allem Respekt vor Deiner Lenkung. Ich hatte mir ja auch mal solch ein Modell mit den geleben Motoren gebaut. Die Lenkung ist schon sehr anfällig ggü. unebenheiten im Boden und die Motore müssen schon sehr exact und schnell reagieren damit die Richtung wieder ausgeglichen wird. Und schnell ist bei dem Getriebe der Motoren ja schon ein Hinderniss. Aber ich will wirklich nicht klugscheißern. Das steht mir nicht zu!!!
 
Hallo Ulli,
ich bin immer dankbar für einen Tipp. Daher Vielen Dank.
Die Handbedienung ist völlig unauffällig. Der Rover hat gestern viele Male die Teststrecke absolviert und dabei vielen Parameter auf SD aufgezeichnet. Chatgpt hat dann die Daten analysiert. Zunächst war das Problem die Tilt-Kompensation die zu stark eingestellt war. Das war im Prinzip der ganz große Bringer. Jetzt läuft der Rover recht ruhig und es sind auch höhere Geschwindigkeiten machbar, so wie ich mir das eigentlich vorstelle.
Für die Wegpunkt-Aufnahme hatte ich als Referenz die Position der GPS-Antenne festgelegt, für das Abfahren der Strecke aber die Mitte der Vorderachse. Das führt aber zu einem Fehler bei der seitlichen Abweichung. Also habe ich es geändert und nun ist die Position der Antenne der Maßstab für die Abweichungstoleranz von der geplanten Strecke.
Es gibt jetzt noch ein Problem mit dem Heading. Auf dem Video kann man sehen, daß der Rover seitlich von der Strecke abweicht. Das liegt an einem Heading- (Ausrichtung des Rovers) Fehler von ca. 20°. Das Heading steuert im Regelalgorithmus nach rechts, weg von der Strecke, der Querregleranteil steuert nach links. Bei einigen Zentimetern heben sich die Effekte auf.
Also gilt es weiter zu analysieren.
Genau wie bei Dir ist das Heading-Signal vom GPS bei langsamer Geschwindigkeit nicht vertrauenswürdig. Bei sehr niedriger Geschwindigkeit schlägt es auch mal um 180° um.
Ich habe ja zwei Sensoren verbaut, wobei ich gestern nach der Datenauswertung den einen ausgeblendet habe, weil seine Daten wohl insgesamt stärker geschwankt haben und mit einem Sensor die Analyse auch einfacher ist.
Das 10Hz-Signal vom GPS ist stabil und die Abweichnung/Rauschen zwischen den einzelnen Positionen im Bereich weniger mm. Die Regelerfrequenz liegt bei 50Hz, d.h. das GPS-Signal wird mittels der Odometrie interpoliert. Die Lenkung möchte ich noch irgendwie stabilisieren. Im Moment habe ich an die Spurstange einen Schaumstoff geklebt, der am Boden entlang wischt - nicht die beste Lösung. Dennoch ist die Lenkung im Moment sehr funktional, schnell und kräftig.
Soweit für den Moment.
Gruß Fürst Ruprecht
View attachment IMG_0940.mov
 
ich bin immer dankbar für einen Tipp. Daher Vielen Dank.
Die Handbedienung ist völlig unauffällig. Der Rover hat gestern viele Male die Teststrecke absolviert und dabei vielen Parameter auf SD aufgezeichnet. Chatgpt hat dann die Daten analysiert. Zunächst war das Problem die Tilt-Kompensation die zu stark eingestellt war. Das war im Prinzip der ganz große Bringer. Jetzt läuft der Gruß Fürst Ruprecht
Es gibt für die Modellbauer Lenkungsdämpfer vielleicht gibt es da etwas in Deiner Größe.
 
Aktueller Projektstand
Arnold mäht inzwischen eigenständig und kann aktuell Missionen mit bis zu 3500 Wegpunkten abarbeiten. Nach einer vorgesehenen RAM-Erweiterung soll diese Grenze später auf bis zu 100.000 Wegpunkte steigen.

Die Positionierung erfolgt über u-blox F9P RTK-GNSS mit eigener Basisstation. Bei RTK-Fix erreichen wir eine Positionsgenauigkeit von etwa 1–2 cm. Die Positionsdaten werden mit 10 Hz erfasst. Aus der Folge dieser sehr genauen Positionsmessungen lässt sich während der Fahrt außerdem ein recht präzises Fahrtrichtungs-Heading bestimmen. Dadurch kann die Navigation weitgehend unabhängig vom störanfälligen Magnetkompass arbeiten.

Für schwierige Fahrsituationen gibt es einen Rangier-Planer. Verlässt Arnold den zulässigen Toleranzbereich um die Sollroute, untersucht der Planer verschiedene Fahrmanöver, um wieder auf die Idealstrecke zurückzukehren. Dabei werden jeweils drei Schritte mit je sechs möglichen Bewegungen vorausberechnet und anschließend die aussichtsreichste Bewegung ausgeführt.

Die bisher verwendete Steuerzentrale MissionPlanner habe ich inzwischen weitgehend durch eine eigene, speziell auf den Rover zugeschnittene Lösung ersetzt: den Leitstand. Er läuft auf einem PC, kommuniziert über MAVLink mit den Rovern und kann mehrere Rover verwalten und gleichzeitig online darstellen.

Der Leitstand bietet inzwischen unter anderem:
  • Live-Anzeige von Roverposition, aktuellem Wegpunkt sowie Soll- und tatsächlich gefahrener Route
  • Verwaltung und Darstellung mehrerer Rover
  • Download, Upload, Laden und Speichern der Rover-Parameter
  • Bearbeitung einzelner Wegpunkte und ganzer Wegpunktgruppen
  • Bearbeitung der MissionPlanner-Wegpunktparameter
  • Import und Export von MissionPlanner-Routen
  • Import, Bearbeitung und Export von Sperrzonen
  • Werkzeuge zum Erzeugen und Bearbeiten von Kreis- und Kurvensegmenten
  • Simulation einer Route
  • verschiedene Messwerkzeuge direkt auf der Karte
Arnold besitzt zusätzlich weiterhin seinen eigenen Webserver für den direkten Zugriff mit Smartphone oder Tablet. Zusammen mit einem Laptop und dem Leitstand entsteht damit inzwischen eine recht umfangreiche Navigations- und Bedienzentrale.

Für die eigentliche Bahngenerierung verwende ich das ursprünglich als CaSSAndRA entwickelte und inzwischen stark erweiterte Programm ArnoldPathPlanner. Es erzeugt Mährouten und berücksichtigt dabei die fahrzeugähnliche Ackermann-Lenkung des Rovers. Die einzelnen Mähbahnen werden deshalb nicht einfach mit rechtwinkligen Übergängen verbunden, sondern mit für Arnold tatsächlich fahrbaren, sanften Kurven.

Zur Kontrolle und Nachbearbeitung gibt es außerdem die Waypoint-Toolbox für Windows. Damit lassen sich Wegpunkte und deren Parameter prüfen und verändern. Zusätzlich wertet sie die auf SD-Karte aufgezeichneten Navigations-Logs aus. Daraus können Fahrabweichungen und verschiedene Reglereinstellungen untersucht werden. Auch Kalibrierdaten wie Offset und Skalierung der Magnetfeldsensoren lassen sich daraus bestimmen.

Damit besteht das Projekt inzwischen nicht mehr nur aus dem eigentlichen Rover, sondern aus einem zusammenhängenden System aus RTK-Navigation, autonomer Fahrzeugsteuerung, Rangierplanung, Bahngenerierung, Leitstand und Auswertungswerkzeugen.
Wie geht es weiter?
Als nächstes steht vor allem die Hinderniserkennung und Ausweichstrategie an. Ultraschallsensoren und Bumper sollen systematisch in die Navigation eingebunden werden: Hindernis erkennen, abbremsen, stoppen, ausweichen und anschließend sauber auf die ursprüngliche Route zurückkehren.

Danach folgen zwei größere Entwicklungsschritte:
  • Fahrt im Roververbund: Ein Rover fährt voraus, weitere Rover folgen mit definiertem Abstand bzw. Versatz und navigieren dabei weiterhin eigenständig.
  • Hardware-Layout und Platinenentwurf: Wenn Sensorik, Schnittstellen und Kommunikationswege endgültig feststehen, soll die bisherige Elektronik in eine saubere eigene Hardwarelösung überführt werden.
Damit wären Navigation, Mehrroverbetrieb und Hardware die nächsten großen Baustellen.
Ausblick Chassis / Bauvorlage

Sollte mein Königreich im Winter noch bestehen, so möchte ich noch ein neues Chassis entwickeln, das sich möglichst einfach nachbauen lässt. Ziel ist eine Konstruktion aus gut verfügbaren Materialien aus dem Baumarkt, ergänzt durch einige Gehäuse- und Halterungsteile aus dem 3D-Drucker.

Damit soll aus dem bisherigen Entwicklungsprojekt am Ende eine möglichst vollständige DIY-Bauvorlage für einen autonomen Rasenmäher entstehen – mit Mechanik, Elektronik, Navigation, Software, Leitstand und den notwendigen Werkzeugen zur Planung und Auswertung. Für ein DIY-Lawn-Mower-Projekt sollte genau das letztlich das Ziel sein: nicht nur ein funktionierender Einzelaufbau, sondern ein System, das andere nachvollziehen und nachbauen und nach eigenen Vorstellungen verändern und erweitern können.

In diesem Sinne
Grüße von Fürst Ruprecht

Leitstand
Leitstand.png

Leitstand mit Ackerman-Route
Leitstand_Ackerman_Route.png
ArnoldPathPlanner
ArnoldPathPlanner.png

Waypoint-Tools-Windows.png

Links Leitstand mit Rover-Live-Fahrt, Rechts Webserver mit Reglerübersicht
Am Ende des Videos muß der Rover rangieren, das wird im Regler nicht dargestellt, da dafür der Rangierplaner zuständig ist.
Dank Teensy 4.1 erfolgt das alles ohne jegliche Unterbrechung.
View attachment Leitstand_u_Webserver.MOV

Webserver: Der Planer ist inaktiv, die Regler steuern den Rover. Hier ist dargestellt, welche Punkte der Rover für eine Korrektur betrachten würde bzw. wie weit davon der Rover von den Punkten entfernt ist.

View attachment Webserver_Live_Planer.MOV


Arnold am Hang: sieht gar nicht so steil aus wie es in Wirklichkeit ist. Am Rand, das sind Hühnerfedern. Arnold schützt Igel, aber bei Hühnern kennt er kein Pardon.

View attachment Arnold.MOV
 
Bumper:

Hallo Leute,
ich habe Ullis Lösung vom Bumper etwas modifiziert und an meine bereits bestehende Konstruktion von "Arnold" angepaßt.
Als Taster habe ich einen Typ mit nur zwei langen Beinen verwendet. Den Taster in den Träger gesteckt und auf der Rückseite mit Silberdraht verlötet und zu einer Seite hin umgebogen, so daß der Leiter im Kanal verschwindet. Das Modul habe ich dann auf den Träger (ein 25x25mm Alurohr) aufgeklebt.
Die Pelle / Stoßstangen-Oberteil hat 1mm Spiel.
Was mich begeistert ist, daß der Druck der Endschalter reicht um die Pelle dauerhaft auf Abstand zu halten und so ein sauberes Schalten ermöglicht.
Gruß
Fürst Ruprecht
Bumper1.pngBumper2.pngTaster.pngHalter1.pngHalter2.png
 

Attachments

Back
Top