Hallo EinEinfach,
hier meldet sich – im übertragenen Sinne – „DoppeltKompliziert“, alias Fürst Ruprecht.
Dein Projekt CaSSAndRA habe ich bisher eher am Rande mitverfolgt. Ich nutze kein Sunray, sondern inzwischen eine vollständig eigenständige Software. Auch bei der Hardware unterscheiden sich meine Rover recht deutlich von den hier üblichen Projekten. Trotzdem versuche ich, wo es sinnvoll ist, etwas beizusteuern.
Meine Rover sind durchgängig allradgetrieben und verfügen über eine Ackermann-Lenkung. Daraus ergeben sich teilweise andere Anforderungen an die Routenplanung. Verschiedene Versuche mit vorhandenen Softwarelösungen haben mich bislang nicht wirklich überzeugt. Deshalb habe ich mir CaSSAndRA und insbesondere deine Routenplanung etwas genauer angesehen.
Mein erster Ansatz war, CaSSAndRA unter Windows zum Laufen zu bringen. Das ist inzwischen gelungen. Relativ schnell wurde allerdings deutlich, dass eine vollständige Kopplung meiner Rover an CaSSAndRA mit erheblichem Aufwand verbunden wäre und für meinen Anwendungsfall wenig Sinn ergibt.
Daher habe ich mich auf einen Sonderfall konzentriert: die Routenplanung als eigenständige Webanwendung. Dabei nutze ich den CaSSAndRA Path Planner als Grundlage, lasse aber die eigentliche Rover-Kommunikation außen vor.
Inzwischen habe ich einen Stand erreicht, mit dem ich erstmals eine berechnete Route erzeugen, als Wegpunkte ausgeben und damit meinen Rover „füttern“ kann.
Der nächste interessante Schritt ist für mich nun die Anpassung der Routenplanung an die Fahrgeometrie eines allradgetriebenen Rovers mit Ackermann-Lenkung – insbesondere bei den Übergängen zwischen den einzelnen Mähbahnen und bei möglichst weichen, tatsächlich fahrbaren Wendemanövern.
Die wesentlichen Unterschiede zur bisherigen Bibliothek sind:
- Webserver mit grafischer Planung sowie Waypoint-Import/-Export im MissionPlanner-Format
- Ackermann-Wenden auf Basis der realen Fahrzeuggeometrie
- Berücksichtigung von Mindestkurvenradius, Grenzabstand und Hinderniszonen
- Automatische Wahl fahrbarer Mähbahnen mit Backtracking
- Konfigurierbare Rand- und Ausschlussfahrten
- Geglättete innere Randringe als künftige Transferkorridore
- Speicherung der zuletzt verwendeten Einstellungen
- Start-/Stopp-Markierung sowie Status-, Fehler- und Fallback-Anzeige
Anbei ein Anschauungsbild: Wie man sieht - mein Rover mag Kurven !

Der Algorithmus hat noch einige Schwächen oder man könnte auch sagen ist an diversen Stellen mit den Anforderungen überlastet, kann sie nicht erfüllen und bricht daher die Generierung ab. Sobald ich im Programm etwas stabiler bin, versuche ich hier das Ergebnis für alle zur Verfügung zu stellen.
Es grüßt mit einem großen Dankeschön für Deine bereits geleistete Arbeit
Fürst Ruprecht