Docking an Ladestation oft fehlgeschlagen...

Ich habe nur 2 dockingpunkte, ca 50cm von einander entfernt und der Rover fährt dabei unter die Terrasse, komischerweise funktioniert es bei mir, evtl. eine gerade Strecke ist tatsächlich die Lösung
Anhang anzeigen 6526
Hallo EinEifnach,
war auch meine Vermutung nach den neuesten Tests. Werde mal den vorletzen Dockingpunkt so legen, dass der Bot noch "Fix" bekommt und dann als nächstes den Docking-Ziel-Punkt setzen, ohne Dock-Punkte dazwischen.
Dann werde ich noch seitliche Leitplanken in die Mowergarage montieren, welche den Bot dann mittig zentrieren und zu den Ladekontakten hin zwingen.
Der Garagenboden ist extra schon ohne Grip ausgeführt, mit seitlicher Führung sollte er dann auch sanft in der Garage zentriert werden.
Werde dann meine Erfolge oder Misserfolge hier posten.
Gruß Holger
 
Ist leider etwas aufwendig die Anpassungen zusammenzuschreiben. Im Moment fehlt mir dafür die Zeit. Wenn du magst, kannst du die Lösung aber selber aus meinem sunray heraussuchen. Mit der Suchfunktion klappt das eigentlich ganz gut. Die Änderung beläuft sich hauptsächlich im linetracker.cpp und Map.cpp. wenn man alle variablen sucht, findet man die Codestellen die angepasst werden müssen. Doof ist halt, das teilweise das ganze Docking von SvolO stammt, da ist vieles drum rum ganz anders. Wenn du Interesse hast würde ich dir einfach ne ZIP schicken.
 
Ich wollte mich auch nochmal zurückmelden...
Also ich hab jetzt mein komplettes Dach der Mowergarage umgebaut. Trotzdem habe ich gelegentlich noch das Problem dass er irgendwo in der Ecke der Garage steht und sich festgefahren hat. Irgendwelche "mechanischen" Einfahrhilfen zu bauen sehe ich bei einem GPS Mäher eigentlich auch nicht ein.
Wenn man sich die GPS Konkurrenz bei Youtube ansieht, die scheinen damit überhaupt keine Probleme zu haben. -demnach gehe ich auch von einem Softwarebug aus, der noch im Sunray verborgen liegt.
Genauso wüsste ich gern wann es denn die neuen BL Treiber geben wird. -auch hier habe ich mit den aktuellen Treibern noch arge Probleme, die meinen Mower daran hindern voll "automatisiert" zu funktionieren.
Ich kann Programmtechnisch leider nichts dazu beitragen um das Problem zu lösen, lediglich den Tester machen und die Resultate reporten.
Mich würde allerdings mal interessieren wie es mit dem Projekt Ardumower allgemein weitergeht? Wird noch weiter seitens Alexander daran entwickelt (Hardware und Software?)
Oder ist das Projekt in die Community übergegangen? Ich finde es toll, das es hier so super engagierte Leute gibt die an den Problemen, die wir ja anscheinend alle noch irgendwo haben arbeiten. Trodtzdem stell ich mir manchmal die Frage, ob ich meine Lizenz dieses Jahr erneut verlängern soll. Oder ob das Projekt so langsam ausfaded...

Diches Dankeschon nochmal an alle engagierten Helfer hier im Forum.
 
Frag einfach Mr.Tree ob du seine modifizierte Version bekommen kannst, da geht das Docking besser und der Mäher ist auch um einiges agiler unterwegs.
 
Hallo zusammen,

habe hier mitgelesen und kann das Docking-Problem auch bestätigen. Trotz fix und gerader Strecke zu Kontakten - so ca. 0,8m vorletzter Docking Punkt - geradeaus Fahrt, letzter Punkt liegt ca. 30cm hinter den Kontakten - habe ich eine Quote von ca.5:1. Bei jedem 5-6. Versuch will er in der Dockingstation kurz vor dem Ziel drehen.
 
Das Problem ist, das die selbe Logik wie beim mähen für das Docking angewendet wird. Eigentlich braucht das Docking eine eigene Logik, oder für gps transparente... Kurze Docking Stationen. Trotzdem würde dann, so wie es im mähvorgang auch vorkommt, der Mäher mal rotieren, weil der Winkelfehler zum Punkt sehr hoch wird wenn die Strecke zum Punkt kleiner wird. Ein workaround wäre die Toleranz der pointreached Definition für den Fall Docking im Code zu erhöhen.
Ansonsten wäre eine andere Logik: Punkt nicht getroffen, dein Winkel zum dockpunkt( Referenz Linie) darf soundsoviel nicht überschreiten, ansonsten rückwärts ,korrigieren, und Punkt erneut anfahren.
 
Bei mir habe ich es jetzt aber mit dem workaround gelöst, dass er nach dem vorletzten Punkt gar nicht mehr drehen darf. Den dock habe ich so eingeengt, das er den bumper auslöst wenn er eh nicht treffen würde. Dann setzt er zurück, und fängt von vorne an. Bei einem definierten Punkt wartet er noch auf fix. Das mit dem fix warten hatte SvolO letztes Jahr gebaut.
 
Dein Workaround klingt sinnvoll und ich könnte mir vorstellen, dass es bei meiner Konstellation funktionieren könnte. Wo kann ich die Drehung beim docken unterdrücken?
 
Diese Option gibt es nicht im originalen sunray. Wenn du dir das aber bauen willst, kannst du meine Anpassungen vom sunray untersuchen und einbauen. Das Problem an der Sache ist dann aber, das du dann von den FW updates abgeschnitten bist oder diese selber über github nachvollziehst und einfplegst, weil jedes update der FW vom github deine Änderung wieder hinfällig macht. Die Lösung wäre eigentlich, das mehr user testen und pushes machen, um dinge zu verbessern. Allerdings sind die wenigsten Programmierer, ich auch nicht, und viele Köche verderben den Brei... das ist halt ein zweischneidiges Schwert...

Aber das sind alles Lösungen um ein ganz anderes Problem zu umgehen, denn es gibt im Linetracker einen einfachen, aber sehr "unsmarten" algorithmus: !angletotargetfits. Dieser algo ist eingentlich das ursprungsproblem, bzw. funktioniert das halbwegs beim mähen, löst aber regelmäßig komplette drehmanöver aus, um noch mal 2cm in die richtige richtung zu fahren bis der Schwellwert zu pointreached ( < 0,05m) erreicht ist. Und gerade beim dock, mit metall... Ziegel oder Plastik abgedeckt... ist das GPS ungenau und der Dockpunkt, respektive dann der Mäher, wandert in einer größeren Punktwolke ständig hinundher, deshalb denkt der Mower, er ist über 20 grad falsch zum punkt und fängt an zu drehen. durch den gps fehler könnte der mäher sogar ausrechnen das er schon zu weit ist und sich komplett in die ansdere richtung zu drehen um wieder in seine targetangle von unter 20grad zum dockpunkt zu sein... Sorry, hab jetz nocvh weniger auf großunkleinschreibung geachtet XD
 
Zuletzt bearbeitet:
Danke für die ausführliche Erklärung....

Hmmm ... verstehe nun das Problem besser und auch die Schwierigkeiten beim Workaround - wahrscheinlich musst du an zig verschiedenen Stellen Code modifizieren. Ich denke Mal - eine relativ selbständige Subroutine nur fürs Docken (welche dann beim FW updatewieder leicht einzubauen ist) lässt sich auch nicht so einfach implementieren. Da wir ja nicht die Einzigen sind bleibt die Hoffnung, daß sich ein Profi dem Thema widmet. Ansonsten werde ich - mit meinen vorhandenen, aber doch sehr rudimentären Programiererfahrungen - Mal versuchen zu verstehen wie der Ablauf ist.
 
Ja, bei deiner geschlossenen Garage würde ich den schnellen workaround nehmen, stur das drehen unterbinden, auch wenn der Code es ausrechnet.
Du kannst dir die letzte Datei aus der ZIP Unterhaltung ansehen, da ist sowas wie Dock No Rotation. Die dockpunkte werden nach ihrem Index abgefahren, wenn der Mäher zwischen letzten und vorletzten Index, dann wird im linetracker ganz am Ende des Codes angular auf 0 geklemmt.
 
Hallo Freunde,
Nachdem ich mein Problem mit bürstenlosen Motoren behoben habe, habe ich die gleiche Situation wie Sie festgestellt.
Zusätzlich zum Kurzschließen der Maschine musste ich zum Glück nur die Sicherung austauschen, die für das Laden der Batterie zuständig ist.
Es erreicht fast das Ende und geht schief, weil sich die Situation von FIX in FLOAT ändert.
Die Idee, den Kopplungsendcode vom Rest zu isolieren, erscheint mir logischer. Aber es stimmt, dass es nicht allzu viele Programmierer gibt, die das können.
Ich schließe mich Ihnen an und schaue, ob jemand eine elegante Lösung für dieses Problem findet.

Vielen Dank!
 
Ich habe jetzt locker 16 Dockingversuche gemacht und nicht einer ging schief mit der Dock No Rotation Funktion. (y)
Meine Garage hat auch ein Blechdach weshalb das GPS versagt.
 
Ja, bei deiner geschlossenen Garage würde ich den schnellen workaround nehmen, stur das drehen unterbinden, auch wenn der Code es ausrechnet.
Du kannst dir die letzte Datei aus der ZIP Unterhaltung ansehen, da ist sowas wie Dock No Rotation. Die dockpunkte werden nach ihrem Index abgefahren, wenn der Mäher zwischen letzten und vorletzten Index, dann wird im linetracker ganz am Ende des Codes angular auf 0 geklemmt.
Allerbesten Dank!! - werde mein Glück mal versuchen und berichten :) :)
 
Hallo,
Ich habe die neueste ZIP-Datei ausprobiert, die im privaten Chat angezeigt wird.
Da ich Bürstenmotoren und MC33926-Controller habe, musste ich beim Setup nichts mehr anfassen.
Das Ergebnis war besser als mit der vorherigen Lösung. Außer, dass ich eine Erfolgsquote von 50 % habe.
(Siehe beigefügte Videos.)

Manchmal ist er fast am Ende angelangt, fängt dann aber an abzudriften und wird dann verrückt.
Ein anderes Mal stoppt es nur etwa 10 Zentimeter entfernt und stoppt, nach einer Sekunde bewegt es sich weiter, bis es die Kontakte erreicht.
Mir ist es auch schon passiert, dass es mit dem ersten fährt und kuppelt.

Ich habe dieses Layout auf der Karte und mit den von mir angezeigten Parkplätzen:

1684838611262.png

Punkt 1, 2 und 3 haben eine FIX-Lösung.
Der letzte Punkt Nummer 4 hat eine FLOAT-Lösung und ich habe sie weiter hinten in der Kabine platziert.
Meinen Sie, ich sollte noch einen Zwischenpunkt hinzufügen?
Andererseits sehe ich im Allgemeinen eine bessere Bewegung in Bezug auf Version 298.

Ich werde versuchen, am Nachmittag weitere Tests durchzuführen und einen weiteren Zwischenpunkt hinzuzufügen.

Danke Mr. Tee!!
 

Anhänge

  • VID_20230523_112307.ogg
    62,1 MB
  • VID_20230523_112418.ogg
    62,9 MB
  • VID_20230523_115611.ogg
    77,8 MB
Zuletzt bearbeitet:
The function will Set angular 0 after 0,5 seconds reaching the prelast dockpoint. Move your Point 3 more away from Dock. Like where your Point 2 or half the way between. Be aware to have enough dockpoints to Not Trigger Bugs.
Watch Out that you get the Line of three Points as straight as possible, I See some improvement there.
 
Build something, so it will Hit the bumper If it would Not make it. This way ist will Reverse,wait and try again. You could also tune the time when angular will be Zero.. Its at the end of linetracker.cpp
 
Das gibts leider nicht einzeln... sondern nur in meiner veränderten Sunray_master_follow. Die heisst so, weil ich git changes einarbeite, anstatt meine Änderungen immer wieder einpflegen zu müssen. Der Stand ist .303, aber es ist schon wirklich vieles angepasst und verändert. Wenn du magst kannst du es gerne ausprobieren, du musst dich aber damit beschäftigen, weil es meine config.h ist die zu meiner mowerhardware passt (1. april 2021 BLDC set).
 
Oben