Mein Projekt CaSSAndRA zur Steuerung des Ardumowers

Ich denke es geht ohne die jetzige Struktur zu brechen.
Hast du probiert den Alfred manuell zu steuern? Fährt er ruckelfrei?
 
Cassandra doesnt seem to be setting absolute position offsets in my rover, I have to set them in the sunray app.

Also, not sure how easy this would be to implement into the path planner, but it should be possible to calculate paths in a way that the rover can be as close as possible to the exclusion by aproaching and leaving them at a 90 degree angle, so you dont have to worry about the front or the back going into the exclusion.

And thank you for sharing your work!
 
Zuletzt bearbeitet:
The console output?

2023-06-19 19:34:38 INFO Backend: Starting backend server
2023-06-19 19:34:38 DEBUG absolute_path: /home/ardumower/CaSSAndRA/CaSSAndRA/src/backend
2023-06-19 19:34:38 INFO Backend: Read communication config file
2023-06-19 19:34:38 DEBUG Opening commcfg.json
2023-06-19 19:34:38 DEBUG Path to commcfg.json: /src/data/user/commcfg.json
2023-06-19 19:34:38 DEBUG commcfg.json content: {'USE': 'HTTP', 'MQTT': [{'CLIENT_ID': 'Ardumower'}, {'USERNAME': None}, {'PASSWORD': None}, {'MQTT_SERVER': '192.168.1.1'}, {'PORT': 1883}, {'MOWER_NAME': 'ardumower/Ardumower'}], 'HTTP': [{'IP': 'http://192.168.0.139'}, {'PASSWORD': ''}], 'UART': [{'SERPORT': '/dev/ttyACM0'}, {'BAUDRATE': 115200}]}
2023-06-19 19:34:38 INFO Backend: Used connection: HTTP
2023-06-19 19:34:38 DEBUG Checking connection data
2023-06-19 19:34:38 DEBUG Connection data are valid
2023-06-19 19:34:38 INFO Backend: Read map config file
2023-06-19 19:34:38 DEBUG Opening mapcfg.json
2023-06-19 19:34:38 DEBUG Path to mapcfg.json: /src/data/user/mapcfg.json
2023-06-19 19:34:38 DEBUG mapcfg.json content: {'MOWOFFSET': 0.14, 'MOWANGLE': 10, 'MOWEDGE': 'yes', 'DISTANCETOBORDER': 2, 'PATTERN': 'lines', 'POSITIONMODE': 'absolute', 'LON': 30.843338945165726, 'LAT': -171.77941316026303}
2023-06-19 19:34:38 DEBUG Values for mapcfg. mowoffset: 0.14 mowangle: 10 distance to border: 2 pattern: lines mowedge: yes
2023-06-19 19:34:38 INFO Backend: Read app config file
2023-06-19 19:34:38 DEBUG Opening appcfg.json
2023-06-19 19:34:38 DEBUG Path to appcfg.json: /src/data/user/appcfg.json
2023-06-19 19:34:38 DEBUG appcfg.json content: {'datamaxage': 30, 'voltage_to_soc': [{'V': 21.7, 'SoC': 0}, {'V': 28.7, 'SoC': 100}], 'time_to_offline': 60, 'current_thd_charge': -0.03}
2023-06-19 19:34:38 DEBUG Values for appcfg. datamaxage: 30 time until offline: 60 soc look up table: [{'V': 21.7, 'SoC': 0}, {'V': 28.7, 'SoC': 100}]
2023-06-19 19:34:38 INFO Backend: Read saved data
2023-06-19 19:34:39 INFO Backend: State data are loaded successfully
2023-06-19 19:34:39 INFO Backend: Statistics data are loaded successfully
2023-06-19 19:34:39 INFO Backend: Calced data from state are loaded successfully
2023-06-19 19:34:39 INFO Backend: Calced data from stats are loaded successfully
2023-06-19 19:34:39 INFO Backend: Read map data file
2023-06-19 19:34:39 INFO Backend: Saved perimeters are loaded successfully
2023-06-19 19:35:14 INFO Backend: Perimeter name is successfully saved in tmp.json
2023-06-19 19:35:14 INFO Backend: Selected perimeter: pt13
2023-06-19 19:35:14 INFO Backend: Establishing HTTP connection to the rover
2023-06-19 19:35:14 INFO Backend: Try initial HTTP request
2023-06-19 19:35:14 DEBUG Calced checksumme: 0x16
2023-06-19 19:35:14 DEBUG Data to be send: AT+V,0x16
2023-06-19 19:35:15 DEBUG Starting new HTTP connection (1): 192.168.0.139:80
2023-06-19 19:35:15 DEBUG http://192.168.0.139:80 "POST / HTTP/1.1" 200 110
2023-06-19 19:35:15 DEBUG Status code: 200
2023-06-19 19:35:15 DEBUG Content: V,Sunray,1.0.305,0,0,Adafruit Grand Central M4,AM,XX,XX,d7:a6:4c:c3:53:50:53:38:4a:20:20:20:ff:15:1f:46,0x20
2023-06-19 19:35:15 INFO Backend: Starting server thread
2023-06-19 19:35:15 INFO Backend: Backend is successfully started
2023-06-19 19:35:17 INFO Backend: Performing get state http-request
2023-06-19 19:35:17 DEBUG Calced checksumme: 0x13
2023-06-19 19:35:17 DEBUG Data to be send: AT+S,0x13
2023-06-19 19:35:17 DEBUG Starting new HTTP connection (1): 192.168.0.139:80
2023-06-19 19:35:18 DEBUG http://192.168.0.139:80 "POST / HTTP/1.1" 200 83
2023-06-19 19:35:18 DEBUG Status code: 200
2023-06-19 19:35:18 DEBUG Content: S,26.78,0.00,0.00,0.00,0,2,0,12475.37,0,0.00,0.00,428111.31,0,-0.81,0,0,0.00,0x5c
 
Zuletzt bearbeitet:
And if you stop Cassandra and start it again?

Ok, I see. If you push save and reboot button there is no request to update position data (I‘ll fix that) As workaround for now, just stop Cassandra and start it again
 
Hallo zusammen,

es gibt wieder was neues auf GitHub.
Cassandra hat einen neune Cut Edge Planner bekommen, was haufen neuer Einstellungen ermöglicht. Bis auf mowarea sollten alle Funktionen gehen. Distance to border ging früher bis 2, jetzt theoretisch unendlich. Ich habe im Frontend auf 5 begrenzt. Neue Funktion "Mow cut edge border in ccw" erlaubt euch zu entscheiden wie rum der Rover die Mähkante abfährt im Uhrzeigersinn oder gegen.
photo1687267255.jpeg
Leider ist der Pathplanner noch alt und kann nicht mit allen Features sauber umgehen, also kann es passieren, dass es ein oder anderen Fehler gibt. Da investiere ich aber erstmal keine Zeit. Ich hoffe mit dem neuen Pathplanner wird alles besser.

Es werden die Werte sowohl im Popup für Mähsettings auf der State Seite als auch (teilweise) auf der Settings-Seite nach der Änderung aktualisiert. Ich glaube ich habe eine tragbare Lösung gefundnen.

Fix: Wenn position mode geändert wird, wird nach dem Speichern auch der Wert richtung Rover übertragen

Achtung!! Ich musste leider wieder mal die Struktur ändern, so dass der src/data Ordner nicht einfach rüberkopiert werden kann.
Beim Update geht wie folgt vor.
1. Sichert euren /src/data Ordner
2. Klont (Kopiert) die neue Version vom GitHub
3. Ersetzt in dem neuen Order die /src/data/measure und /src/data/map durch von euch gesicherten Daten
4. Die Datein /src/data/user/commcfg.json und /src/data/user/appcfg.json könne auch durch von euch gesicherten Dateien ersetzt werden
5. Startet die App und konfiguriert unter Settings Coverage path planner und robot neu
photo1687269241.jpeg
 
Das ist ja genial !!! Ich wollte dich eigentlich heute fragen, ob es möglich ist, die Mährichtung der Außengrenze zu ändern, da ich an einigen Stellen glaube, dass es besser wäre, wenn er von der anderen Seite mähen würde und nun lese ich das hier !
Werde ich morgen gleich probieren.
Ich finde es großartig, was du machst ! Ich arbeite nun schon einige Wochen nur noch mit deinem Programm und bin begeistert.
 
Ich wollte dich eigentlich heute fragen, ob es möglich ist, die Mährichtung der Außengrenze zu ändern, da ich an einigen Stellen glaube, dass es besser wäre, wenn er von der anderen Seite mähen würde und nun lese ich das hier !
Die Idee kam mir letztens beim kartieren mit CaSSAndRA. Soweit ich weiß bei der Sunray App wird die Richtung abgefahren in der kartiert wurde, mit CaSSAndRA muss das nicht unbedingt der Fall sein, so schafft man einen definierten Zustand und man kann theoretisch näher um die Ecke fahren, wenn man weißt wie der Mower fahren wird
 
Ich glaube ich werde da auch Mal einsteigen...

Da ich aktuell noch keinen Pi habe - sobald jetzt nach dem Sommer die Preise wieder sinken werde ich zuschlagen - bekommt man es ohne großen Aufwand auch auf einem Windows 10 zum laufen (zum testen), oder gibt es zuviele mögliche Fallstricke (Linux Subsystem auf Windows 10?)?
 
Python kannst du auch auf Windows ausführen, bei Linux ist das halt vorinstalliert. Installiere Python 3.10 dann die notwendigen Bibliotheken aus dem requirements.txt und dann sollte es auch auf Windows klappen
 
Heute gibt es was für das Auge.
Ihr könnt diverse Roboter auf eurer Karte fahren lassen (Ardumower, Alfred und weitere), auswählbar in Settings. Dazu in Settings wechseln -> App und gewünschtes Bild auswählen.
Viel Spaß damit.
photo1687338007.jpeg
photo1687338102.jpeg
 
Wäre es möglich, die Mähgeschwindigkeit an den Grenzen seperat einzustellen? Ich fahre beim Mähen 0,5 m/s, auf den geraden Bahnen ist das OK, aber an den Grenzen wäre es sicher besser, wenn er langsamer fahren würde, er verhakt sich dort doch gelegentlich an irgendwelchem Gestrüpp oder Blumen.
Wenn es nicht geht, ist es auch kein Problem, dann lasse ich ihn eben generell langsamer fahren.
 
Oben