Mein Projekt CaSSAndRA zur Steuerung des Ardumowers

Ich habe noch ein böses Problem mit dem Pathplaner entdeckt. Aus irgendeinem Grund, will Alfred, wie im Bild immer wieder in die Ecke rein fahren. Problem ist, es geht nicht. Da ist eine Mauer und Alfred kommt da mit seinem langen Vorbau nicht rum. Ich weiß nicht, warum er es immer wieder versucht aber am Ende ist es auch so, dass diese Pfadplanung einfach nicht optimal ist. Es ist im Übrigen egal, welchen Winkel man verwendet, der Pfad wird immer so geplant. Mauern machen bei der Pfadplanung mit Cassandra immer mehr Probleme

Anhang anzeigen 6826


....lässt sich das nicht ganz einfach verhindern, in dem man folgendes programmiert:
Der Perimeter und die Exklusionen dürfen nur ein einziges Mal abgefahren werden, und dann nie wieder (Es kann ein Sonderfall eintreten, wenn der Weg zu eng ist und nur aus den beiden Perimeterlinien, ohne Zwischenlinie besteht. Wenn der Mäher da nochmal durch muss, dann könnte man es ein weiteres mal erlauben, oder eine neue Linie in der Mitte der beiden Perimeterlinien erstellen. Letzteres wäre die bessere Variante, weil so der Abstand zu beiden Seiten in der Engstelle maximiert wird und somit das Risiko minimiert wird. Es entsteht eine Transitstrecke.

Ich habe gerade mal bei CaSSAndRA geschaut, der fährt bei mir ~44x in den Perimeter rein.....wozu?! Nötig sind doch nur 1x rein und 1x raus. Der Rest ist Quatsch und macht nur Probleme.

Beste Grüße,
Chris
 
Mähergrösse wird in die Plannung (noch) nicht einbezogen.

wird auch dieses Jahr nichts, da ich nicht mal ein Konzept hierfür habe.


Ist das mit den anderen Pathplannern anders?
Naja, macht der sowas, ändere ich das "einfach" manuell indem ich mit der Maus die Punkte verschiebe. Das ist hier ja rein konzeptionell nicht möglich. Deshalb muss man sich andere Strategien überlegen.

Und was @themanfrommoon sagt ist natürlich korrekt: den Permimeter kann man so planen, dass er beim abfahren gut gefahren werden kann, wenn er dann irgendwann zufällig durch die Mähbahnen in einem anderen Winkel angefahren wird, ist das fast immer falsch. Deshalb "Perimeter und die ggf. 2. Runde nie wieder anfahren". Querfahrten über den Mähbereich sind sinnvoller.
 
Er will dort zum Perimeterpunkt fahren. Woher soll er wissen das da eine Mauer ist und kein Platz? Vielleicht solltest du soviel Platz vom Perimeter zur Mauer Programmieren, dass es physisch möglich ist?
Dann bleibt bei Alfred gefühlt ein Meter stehen. Nein. Es muss so gehen, dass der Perimeter NUR einmal angefahren wird. So, wie der User sich das beim Planen gedacht hat. Danach soll keine Mahbahn mehr über den Perimeter gehen. Dann gibt es solche Probleme nicht.
 
Ich habe gerade mal bei CaSSAndRA geschaut, der fährt bei mir ~44x in den Perimeter rein.....wozu?! Nötig sind doch nur 1x rein und 1x raus. Der Rest ist Quatsch und macht nur Probleme.
Das problem ist, wenn man die Wegberechnung macht gibt es Situationen wo ein Wechsel zu der nächsten Mählinie auf dem direkten Wege, ohne eine Exclusion oder Perimetergrenze zu verletzen, nicht möglich ist und hier kommt der A* Pathfinder zum Einsatz. Das heißt dieser versucht vom Punkt A zum Punkt B möglichst kürzere Distanz zu finden. Um das machen zu können braucht A* Pathfinder unsichtbar mögliche Wege (gewichtet) was er nehmen kann. Im optimalen Fall hat man von jedem Punkt zu jedem auf der Karte alle möglichen Wege hinterlegt und gewichtet. Das kannst du aber nicht machen, weil sonst dein Rechner diese möglichen Wege noch heute rechnen wird. Also nimmt man ein vereinfachtes Ansatz. Wie komme ich zu jedem Punkt auf der Karte auf jeden Fall? In dem ich am Perimeter entlang fahre und jedes Mal schaue, ob jetzt der Punkt erreichbar ist… vereinfacht beschrieben…
 
Dann soll er die zweite Runde nehmen, wenn gesetzt. Da klappt es wahrscheinlich besser.
Und jetzt gibt es jemanden bei den es eine Enge Passage gibt, die sofort bei der zweiten Runde dein Perimeter (Polygon) in zwei aufsplittet und dann schmeißt dir der Pathplanner einen Fehler, weil er nicht von A nach B kommen kann
 
Ok. Weitere Idee. In einem spitzen Winkel in den Perimeter fahren und nicht in Ecken fahren. Dann wären auch viele Fälle geheilt.

Am Ende kommt man aber über eine genaue Messung des Mähers und Verwenden dieser Parameter nicht drumherum...
 
Man kann auch einfach definieren, dass nicht in einem Punkt, sondern nur in der Mitte einer Linie mit mindestens 1m Länge in und aus dem Perimeter gefahren werden darf.
 
.....von den Gemeinheiten hab ich z.B. zwei:
1689262349420.png
...gut, die linke wäre vermeidbar, aber die rechte nicht.

Da ist die Mährichtung aber auch komplett falsch gewählt für den Bereich. Hier muss es natürlich konturenparallel sein. Aber eben nur in dem Bereich.
1689262503358.png

Hier ist es auch schlecht, hier muss es auch konturenparallel / circles sein:
1689262638090.png
 
.....von den Gemeinheiten hab ich z.B. zwei:
Anhang anzeigen 6827
...gut, die linke wäre vermeidbar, aber die rechte nicht.

Da ist die Mährichtung aber auch komplett falsch gewählt für den Bereich. Hier muss es natürlich konturenparallel sein. Aber eben nur in dem Bereich.
Anhang anzeigen 6828

Hier ist es auch schlecht, hier muss es auch konturenparallel / circles sein:
Anhang anzeigen 6829
Das kannst du ja halbmanuell machen, sobald die Tasks fertig sind. Ich plane das auch an vielen Ecken bei uns.
 
Ja kann man, aber damit fange ich gar nicht erst an. Der Aufwand ist mir zu hoch.
Da ich öfters mal die Exklusionen ändere und ab und zu auch mal die Ränder optimiere, müsste ich das immer wieder tun. no way!

Sowas muss der Pathplanner können. Natürlich mit Definition, wo er was machen soll. Ich denke, das ist lösbar.
 
Der Aufwand wird nicht höher sein, als ihm zu sagen: Mache es da in dem Winkel, mache es da in dem Winkel. Auch Exclusion-Änderungen können darüber ganz gut gelöst werden denke ich.

Wichtig wäre ein manueller Editor für die Fahrlinien am Perimeter.
 
Das problem ist, wenn man die Wegberechnung macht gibt es Situationen wo ein Wechsel zu der nächsten Mählinie auf dem direkten Wege, ohne eine Exclusion oder Perimetergrenze zu verletzen, nicht möglich ist und hier kommt der A* Pathfinder zum Einsatz. Das heißt dieser versucht vom Punkt A zum Punkt B möglichst kürzere Distanz zu finden. Um das machen zu können braucht A* Pathfinder unsichtbar mögliche Wege (gewichtet) was er nehmen kann. Im optimalen Fall hat man von jedem Punkt zu jedem auf der Karte alle möglichen Wege hinterlegt und gewichtet. Das kannst du aber nicht machen, weil sonst dein Rechner diese möglichen Wege noch heute rechnen wird. Also nimmt man ein vereinfachtes Ansatz. Wie komme ich zu jedem Punkt auf der Karte auf jeden Fall? In dem ich am Perimeter entlang fahre und jedes Mal schaue, ob jetzt der Punkt erreichbar ist… vereinfacht beschrieben…
Im Übrigen stimmt das hier nicht ganz. Den kürzesten Weg sucht er nur sehr selten. Oft fährt er den Perimter genau anders herum entlang, als man erwarten würde, damit er zum nächsten Punkt (der dann ein ganz weit entfernter wird) kommt. Das sind oft 25 bis 100 m zu viel Distanz, würde er den Perimeter andersherum fahren, wären es nur 5 m). Oft ist es auch gar nicht ersichtlich, warum er den Parameter wählt und nicht einfach zu dem Punkt hin fährt. Dieses dann oft falsch herum auf dem Perimeter lang fahren macht an vielen Stellen Probleme. Vielleicht kann man zumindest definieren, dass er immer nur in der Richtung den Parameter abfahren soll, wie man es vorher definiert hat, auch wenn er neue Pfade sucht. Man macht das ja nicht ohne Grund. In eine Richtung klappt das Abfahren auch bei GPS Abweichung, in die andere nicht, was einfach an der Form des Mähers und an der Platzierung des GPS Moduls liegt.

Das Ding hier ist aber: Bevor du die letzte Änderung am Pathplanner eingecheckt hast, hat er das definitiv mit den gleichen Karten sinnvoller gemacht als jetzt. Vorher hat er sich mit gleichen Einstellungen nie auf dem Perimeter festgefahren. Deshalb glaube ich, dass es mit einfachen Mitteln besser gehen muss.
 
Zuletzt bearbeitet:
Im Übrigen stimmt das hier nicht ganz. Den kürzesten Weg sucht er nur sehr selten. Oft fährt er den Perimter genau anders herum entlang, als man erwarten würde, damit er zum nächsten Punkt (der dann ein ganz weit entfernter wird) kommt.
Da musst du mir den Beispiel zeigen, weil das wäre tatsächlich sinnfrei

Das Ding hier ist aber: Bevor du die letzte Änderung am Pathplanner eingecheckt hast, hat er das definitiv mit den gleichen Karten sinnvoller gemacht als jetzt. Vorher hat er sich mit gleichen Einstellungen nie auf dem Perimeter festgefahren. Deshalb glaube ich, dass es mit einfachen Mitteln besser gehen muss.
Würde ich mein Zeug in meinem eigenen Saft weiter kochen, hätte ich den alten Pathplanner gelassen, weil bei meiner Karte und wahrscheinlich bei deiner, hat das Ding, abgesehen von vielen anderen Problemen, funktioniert. Aber sobald die App in die Öffentlichkeit ging wurden diese Schwächen aufgedeckt. Du glaubst nicht was es für Karten gibt... es musste was neues her.
 
1689319222144.png

Im roten Kasten endet der Mähpfad auf diesem Bereich (schwach zu sehen - danach fährt er auf den Perimeter). Danach möchte er in den Bereich in den der pinke Pfeil zeigt (rechts). Er nimmt aber nicht den roten Pfad entlang des Perimeters sondern den blauen. Das ist zudem noch die Richtung, in der der Perimeter nicht abgefahren werden soll. In der pinken Box fährt sich der Mäher so herum fest, während die andere Richtung einwandfrei funktioniert.

Das ist nur ein Beispiel und hier sind es nur 10 - 15 m Umweg. Das Problem hier ist das festfahren. Es gibt mehr Beispiele.

Ergänzung: Interessant ist ja, dass er manchmal auch nicht die Perimeter benutzt und sowas macht:

1689319568041.png
 

Anhänge

  • 1689319149148.png
    1689319149148.png
    108 KB · Aufrufe: 0
Ok, das Problem bei erster Karte:
- Pathplanner stellt fest, ich komme auf direktem Wege nicht mehr weiter
- Suche den nächstmöglichen Perimeterpunkt und starte A* Pathfinder und leider der Perimeterpunikt der am nähsten ist nun mal wo der blauer Pfad anfängt.
-> hier könnte ich was optimieren, ich habe eine Idee
Bei der zweiten Karte, er will eigentlich diese Mähbahn mähen:
1689322513361.png
Kommt aber aus rechten Ecke nicht direkt hin. Deswegen fängt er an entlang des Perimeters zu fahren. Der Weg ist zu Exclusion ist kürzer, als wenn er die ganze Zeit am Perimeter entlang fahren würde. Das könnte man lösen in dem man dem Pathfinder noch ein paar mögliche Wege vom Perimeterpunkt zum Perimeterpunkt beibring, würde die Ladezeit bei dem Umschalten der Karte erhöhen, wenn alle einverstanden sind, kann ich das einbauen, dann würde er von der Perimeterecke direkt zu Mähbahn fahren
 
Ok. Hier ist es die Exclusion. Das finde ich nicht so übel, da die großzügig gewählt sind. Da fährt er hier aber auch wieder den Umweg über den Parameter.

Könnte man es ggf. in Zukunft so mache, dass man im einzelne Referenzpunkte auf der Perimeter (manuell) gibt, die er zum Transit verwenden kann? Dann könnte man genau beeinflussen, wo er lang fahren soll um Passagen zu überwinden.
 
Ergänzung: er dürfte nie falschrum in den Perimeter fahren und er müsste immer in spitzem Winkel in den Perimeter fahren. Dann könnte man Umwege noch verkraften.

Allerdings halte ich das mit den Referenzpunkten für die beste Lösung.
 
Oben