Perimeterfahrt im Zick Zack

Hi Bernard,

looks like I did a mistake when adding your code to my github fork in the section:

Code:
if (millis() > perimeterLastTransitionTime + trackingErrorTimeOut) {

    if ((trackingErrorTimeOut != 0) && (millis() > perimeterLastTransitionTime + trackingErrorTimeOut)){      
      Console.println("Error: tracking error");
      addErrorCounter(ERR_TRACKING);
      //setNextState(STATE_ERROR,0);
      setNextState(STATE_PERI_FIND, 0);
    }
	// out of the fonction until the next loop  
    return;
  }

there is one line too much...maybe even more. Funny it worked out anyway on Sheepsheep and Wolfgangs mower...
Lets look forward to some satisfying test the next days....


Since we are tracking for a 0.5 setpoint, the wire can be very far under ground and it should still work.
So this should not be of concern
Chris

Chris
 
Hi all.
At last moment In my post 12861 i put at the start of the function.

Code:
PerimeterMagMaxValue=2000

and you need to change it by

Code:
perimeterMagMaxValue=2000

or it's do not compile.


But as the holoratte code read this value at the start of peritrack , you can remove the entire line.

I try to make some test with this version but for the DUE the ADCMAN is not perfect.The Sunray version is really faster.

By.


Hallo zusammen.
Im letzten Moment in meinem Beitrag 12861 habe ich am Anfang der Funktion.
Code:
 PerimeterMagMaxValue = 2000 [/ code]
Und du musst es ändern
[Code] perimeterMagMaxValue = 2000 [/ code]
Oder es ist nicht kompilieren.


Aber da der Holoratte-Code diesen Wert am Anfang des Peritracks liest, kannst du die ganze Zeile entfernen.

Ich versuche, einen Test mit dieser Version zu machen, aber für die DUE ist der ADCMAN nicht perfekt. Die Sunray Version ist wirklich schneller.

Durch.
 
Hi Holoratte.
I say
I constate also that the OFF state don't stop immediatly the mower and i'm going to see the week end if i can understand why .

I think the Motorcontrol() continue the PID to stop slowly the Wheel.

To stop immediatly add the line after //bb in void Robot::setDefaults(){.


Code:
void Robot::setDefaults(){
  motorLeftSpeedRpmSet = motorRightSpeedRpmSet = 0; 
  //bb
  motorLeftPWMCurr =  motorRightPWMCurr = 0;
     
  motorMowEnable = false;                
}


Thanks.

GOOGLE TRANSLATE

Hallo Holoratte.
ich sage
[Zitat] Ich konstituiere auch, dass der OFF-Zustand nicht sofort den Mäher stoppt und ich werde das Wochenende sehen, wenn ich verstehen kann, warum. [/ Quote]

Ich denke, die Motorcontrol () weiterhin die PID, um langsam das Rad zu stoppen.

Um sofort zu stoppen, füge die Zeile nach // bb in void hinzu Robot :: setDefaults () {.


Code:
void Robot :: setDefaults () {
   MotorLeftSpeedRpmSet = motorRightSpeedRpmSet = 0;
   // bb
   MotorLeftPWMCurr = motorRightPWMCurr = 0;
     
   MotorMowEnable = false;
}


Vielen Dank.
 
Oben