Starke Spurabweichung (Drift) nach längerer Einschaltzeit

Bedeutet das dann, dass niemand im Dauerbetrieb fährt sonder immer nach dem Laden eine Reboot macht, bevor wieder weiter gemäht wird?
 
Mein 2. Ardumower Umbau verwendet ogrinal Gleichstromotoren und Treiber aus dem Shop.
Mit der letzten Version Sunary fuhr er auch Schlangenlinien. Die GPS Genauigkeit hat sich nicht verändert 0.02m

SW 1.0.289
orginal Gleichstromtreiber
Imu 6050

Lösung:
// motor speed control (PID coefficients) - these values are tuned for Ardumower motors
// general information about PID controllers: https://wiki.ardumower.de/index.php?title=PID_control
#define MOTOR_PID_KP 1.0 // do not change 2.0 (for non-Ardumower motors or if the motor speed control is too fast you may try: KP=1.0, KI=0, KD=0)
#define MOTOR_PID_KI 0.01 // do not change 0.03
#define MOTOR_PID_KD 0.005 // do not change 0.03

// ---- path tracking -----------------------------------

// below this robot-to-target distance (m) a target is considered as reached
#define TARGET_REACHED_TOLERANCE 0.05

// stanley control for path tracking - determines gain how fast to correct for lateral path errors
#define STANLEY_CONTROL_P_NORMAL 1.6 // 3.0 for path tracking control (angular gain) when mowing
#define STANLEY_CONTROL_K_NORMAL 0.2 // 1.0 for path tracking control (lateral gain) when mowing

#define STANLEY_CONTROL_P_SLOW 1.6 // 3.0 for path tracking control (angular gain) when docking tracking
#define STANLEY_CONTROL_K_SLOW 0.1 // 0.1 for path tracking control (lateral gain) when docking tracking
 
Dauerhaft oder nur nach einigen Tagen?
Hier ging es ja um das Problem dass normalerweise alles perfekt funktioniert und nachdem der Roboter 2-3 Tage nicht neugestartet wurde plötzlich wie betrunken über die Wiese taumelt.

Da dürften die PID Werte, die ja korrekt eingestellt sein sollten, vermutlich wenig helfen?
Hab das Problem auch die Tage beobachtet, eigentlich starte ich den Roboter aber einfach neu bevor ich ihn auf die Wiese setze, hab aber auch noch die "alte" 1.0.286 drauf. Hatte aber die Hoffnung dass das mit neuen Releases irgendwann mal gelöst wurde...
 
Der Ardumower bleibt dauerhaft eingeschaltet. Mit diesen Einstellungen fährt er dauerhaft auch gerade Bahnen. Ein Reset ist nicht notwendig.
 
Der Ardumower bleibt dauerhaft eingeschaltet. Mit diesen Einstellungen fährt er dauerhaft auch gerade Bahnen. Ein Reset ist nicht notwendig
Bei uns auch, bloß nach ein paar Tagen fangen die an zu tänzeln, und das ist meiner Meinung nach nicht mit PID oder Stanely Parametern zu lösen
 
Noch mal die Frage in die Runde: Verwenden alle den Adafruit? Oder gibt es jemanden, der dieses Problem auch mit dem DUE hat?
 
I also see the strange behaviour on speed and stanley accuracy on the 2 hardware module (Teensy and AGCM4).
More often when mower leave station after 12 hours or more, so certainly a software issue (odometry variable or maybe IMU or reverse part) but i have not yet take time to investigate on this issue a reboot solve the trouble.
 
Ich mache gerade einen Akkutest und der Mäher ist im Dauerbetrieb seit 10h und ist aktuell im gleichen Szenario gefangen.
Der trifft keinen Punkt mehr und eiert nur noch betrunken hin und her, er liegt auf geraden Bahnen teils 3-5 Bahnen daneben und fährt zick zack.
Den Endpunkt verfehlt er meist mehrfach, er muss also mehrfach wenden bei jedem Endpunkt um ihn zu treffen.

Der Rest sieht eigentlich sonst ganz okay aus, die ersten ~9h waren auch super aber jetzt geht gar nichts mehr.

2023-06-14-20-32-44-Ardumower-Sunray-App.png
 
Hier mal wie das Live aussieht, ich stehe genau in der Bahn wo er eigentlich mähen sollte, denke auch trotz der schlechten Quali sieht man ja auch die bestehenden Mählinien. Also wenn das selbst innerhalb von "nur" 10h im aktiven Mähbetrieb auftritt, dann ist der Mäher ja nicht mal ansatzweise für >2000qm zu gebrauchen aktuell? Wäre für mich daher einer der wichtigsten Punkte die gefixt werden müssten, wundert mich dass es dazu quasi immer noch kein wirkliches Feedback zu gibt?

 
ONLY When the issue occur:
Can you try to reduce the speed using sunray APP to see if something change when speed is <0.2 ?
 
Hast du die neuste Änderung bzgl. Stack Pointer aus dem GitHub? Weil ich dieses Verhalten auf diesen Bug schiebe, getestet im Langzeitbetrieb habe ich es noch nicht
 
Fahre noch mit 1.0.286 rum weil ich immer wieder von Problemen über andere Themen höre.
Wenn es heißt das ist gefixt in einem neuerem Release würde ich sofort updaten, aber das scheint ja nicht zu helfen?

Was genau meinst du mit Änderungen aus dem Github? Welcher Code genau? Aber meine Antwort ist wie zu erahnen -> Nein. :)

ONLY When the issue occur:
Can you try to reduce the speed using sunray APP to see if something change when speed is <0.2 ?
Leider schon resettet eben zum sauber machen.
 
Fahre noch mit 1.0.286 rum weil ich immer wieder von Problemen über andere Themen höre.
Wenn es heißt das ist gefixt in einem neuerem Release würde ich sofort updaten, aber das scheint ja nicht zu helfen?

Was genau meinst du mit Änderungen aus dem Github? Welcher Code genau? Aber meine Antwort ist wie zu erahnen -> Nein. :)


Leider schon resettet eben zum sauber machen.
I don't know for your version, but into linetracker.cpp
Check if you have this value =1.0 into linear speed and replace by setspeed or the speed you use :
Code:
void trackLine(bool runControl){ 
  Point target = maps.targetPoint;
  Point lastTarget = maps.lastTargetPoint;
  //bber
  //float linear = 1.0; 
  float linear = setSpeed; 
  bool mow = true;
 
kenne das Problem auch, allerdings bei weitem nicht so schlimm, wie bei dir. Bei mir hat folgendes in der LineTracker.cpp geholfen
if (gps.solution == SOL_FLOAT){
linear = min(setSpeed, 0.1); // reduce speed for float solution
//####################################################################################
}else if ((fabs(trackerDiffDelta)/PI*180.0 > 5) || (distToPath >= 0.04)){
linear = min(setSpeed, 0.1); // reduce speed for distToPath and trackerDiffDelta
//####################################################################################
}else{
....
Ist bei mir ungefähr Zeile 250. Habe aber noch deutlich mehr Änderungen drin, so das es im Original auch eine andere Zeile sein kann.

Dabei muss man schon sehr genau hinsehen, dass man die Tempo-Reduzierung überhaupt mitbekommt. Meistens bremst er nur kurz an und ist schon wieder auf Kurs. Mein setSpeed ist auf 0.5m/s eingestellt.

PS: Ich gucke neidvoll auf deinen grünen Rasen. Bei mir gibt es seit einem Monat nichts mehr zu mähen...
 
Oben