Wiremowing doesn't work

Hm bei mir mit 1.84 Master geht das Problemlos. Welcher Version hast du aktuell?
Sieht nut komisch aus dass da mehrmals STFOR bzw. STROLL steht
 
Kommando zurück , mir fällt gerade ein, das geht bei mir auch nur mit der Timer Funktion.
Wenn du in der Station mit Start Now Auto Mow startest nimmt er ein paar Standardeinstellungen wie zb. track 1m Lane 1 drehrichtung etc.
Ich bin mir grad nicht sicher aber ich denke das ist in der Mower.cpp definiert.
Vielleicht kann Bernard das besser erklären.
 
Here what i see on your cool video .
Do you use the timer to start or is a manual start using PFOD or button ?

When the mower starts from the station
I don't understand : Status is WAIT / OFF, so mower is not in station or station is not powered ??

At 14 secondes of the video when you start the mowing the pattern is not WIRE but LANE ?.
You need to set the pattern to WIRE before a manual start ,or if you use the timer do not set the start distance station and start lane NR to 0 (minimum 1.

Why did you reverse for a so long distance ?
 
That was a manual start, i've used the off Button in the App before, that's the reason why the Mower was in status wait. But you are right, the pattern was lane. I've adjusted the start parameters and now the mower don't drive reverse as Long as before.
Now the mower drives as it should be. I think it was my fault.
 
Kommando zurück , mir fällt gerade ein, das geht bei mir auch nur mit der Timer Funktion.
Wenn du in der Station mit Start Now Auto Mow startest nimmt er ein paar Standardeinstellungen wie zb. track 1m Lane 1 drehrichtung etc.
Ich bin mir grad nicht sicher aber ich denke das ist in der Mower.cpp definiert.
Vielleicht kann Bernard das besser erklären.
Sodelle,
sorry für die Verwirrung. Mein Gedächtnis ist wohl auch nicht mehr das Beste. Habe gestern Abend nochmal getestet.
Wenn man in der Station das Mähprinzip vorwählt und dann auto startet dann macht er auch das Vorgewählte.

Gruss Michael
 
@michelko Dreht sich der Mäher bei Dir auch in Winkeln die außerhalb der eingestellten Parameter liegen? Ich nutze den DEV branch.
 
Zuletzt bearbeitet:
The only thing that ist weird: Roll degrees min and max wouldn't work correctly.
It rotates in angles Till 180 degrees and over, but the settings says 45-125 degrees. (In random pattern).
I also see that , test with value from 0 to 90 is less bad ??
Roll is here and use the wheel distance and ticks per cm.
Formula use is dist to move in cm = (PI * odometryWheelBaseCm * AngleRotate) / 360;
And using ticks / cm we know how many ticks to move

I need to understand why it's not OK all the time.

Code:
case STATE_PERI_OUT_ROLL: //roll left or right in normal mode
      if (mowPatternCurr == MOW_RANDOM) AngleRotate = random(motorRollDegMin, motorRollDegMax);
      ShowMessage("Angle1 : ");
      ShowMessageln(AngleRotate);

      if (dir == RIGHT) {
        if (mowPatternCurr == MOW_ZIGZAG) AngleRotate = imu.scale180(imuDriveHeading + 135); //need limit value to valib the rebon
        UseAccelLeft = 1;
        //bb6
        //UseBrakeLeft = 1;
        UseBrakeLeft = 0;
        UseAccelRight = 0;
        UseBrakeRight = 1;
        motorLeftSpeedRpmSet = motorSpeedMaxRpm ;
        motorRightSpeedRpmSet = -motorSpeedMaxRpm;
        Tempovar = 36000 / AngleRotate; //need a value*100 for integer division later

        stateEndOdometryRight = odometryRight - (int)100 * (odometryTicksPerCm * PI * odometryWheelBaseCm / Tempovar);
        stateEndOdometryLeft = odometryLeft + (int)100 * (odometryTicksPerCm * PI * odometryWheelBaseCm / Tempovar);
        
        

      } else {
        if (mowPatternCurr == MOW_ZIGZAG) AngleRotate = imu.scale180(imuDriveHeading - 135); //need limit value to valib the rebon
        UseAccelLeft = 0;
        UseBrakeLeft = 1;
        UseAccelRight = 1;
        //bb6 =1
        UseBrakeRight = 0;
        motorLeftSpeedRpmSet = -motorSpeedMaxRpm ;
        motorRightSpeedRpmSet = motorSpeedMaxRpm;
        Tempovar = 36000 / AngleRotate; //need a value*100 for integer division later
        stateEndOdometryRight = odometryRight + (int)100 * (odometryTicksPerCm * PI * odometryWheelBaseCm / Tempovar) ;
        stateEndOdometryLeft = odometryLeft - (int)100 * (odometryTicksPerCm * PI * odometryWheelBaseCm / Tempovar) ;
      }
      float disttomove ;
      disttomove = PI * odometryWheelBaseCm * AngleRotate / 360;
      ShowMessage("disttomove : ");
      ShowMessageln(disttomove);
      OdoRampCompute();
      break;
 
Angle - disttomove
69 - 22,58
115 - 37,63
58 - 18,98
55 - 18
82 - 26,83
108 - 35,34
103 - 33,71
114 - 37,31

Ticks per one full revolution 696
Ticks per cm 9,1
Wheel base 37,5cm


I've changed the code in die PFOD.cpp:
sendSlider("l03", F("Ticks per cm"), robot->odometryTicksPerCm, "", 0.1, 60, 8);

Now values < 9 are Possible.
 
Zuletzt bearbeitet:
Du kannst testen, ob das passt, indem du ihn um 90 oder 180 Grad drehen lässt. Wenn das nicht passt, dann deine ticks anpassen bis es passt. Dann sollte auch die 3m Fahrt ungefähr passen.
 
Du kannst testen, ob das passt, indem du ihn um 90 oder 180 Grad drehen lässt. Wenn das nicht passt, dann deine ticks anpassen bis es passt. Dann sollte auch die 3m Fahrt ungefähr passen.
9,1 ist genau richtig für die großen brushed Motoren!

Ich habe das Gefühl dass der Mower im random Mode ca. doppelt so weit dreht wie er soll...
 
Ich habe das Gefühl dass der Mower im random Mode ca. doppelt so weit dreht wie er soll...
Me too.
I upload a new version (DEV branch) with half value rotation / your pfod ticks change / new console heading message .
Check again the TEST ODO
Ticks/cm is important and you need to have a correct 3 meters test (2.9 meters is not OK)
Adjust the wheel base cm for rotation180 and 360 test OK.

But i don't understand why the mower don't rotate as expected : 2 possibility:
1--> Ma mathematics are not OK :ROFLMAO: :ROFLMAO: and formula ( (PI * odometryWheelBaseCm * AngleRotate) / 360;) is 2* false !!
2--> motor never stop (like in LANE mode) and the fact that one reverse ,brake and accel can maybe generate a bigger rotation than expected , but why the 2* factor.

In all case it's work better on my side with the new version
 
Oben