Modifications

Sauter à la navigation Sauter à la recherche
Ligne 276 : Ligne 276 :  
   // KD est la constance dérivée (vous pouvez peut-être
 
   // KD est la constance dérivée (vous pouvez peut-être
 
   //    commencer avec un valeur autour de 5)
 
   //    commencer avec un valeur autour de 5)
   // note that when doing PID, it's very important you get your signs right, or else the
+
   // Note: lors d'un asservissement PID, il est très
   // control loop will be unstable
+
  //  important d'avoir le bon signe pour les valeurs
 +
  //  sinon, la boucle de contrôle sera totalement
 +
  //  instable.
 +
  // motorSpeed peut avoir une valeur positive ou
 +
   //   négative en fonction du sens de la direction
 +
  //  prise.
 
   int motorSpeed = KP * error + KD * (error - lastError);
 
   int motorSpeed = KP * error + KD * (error - lastError);
 
   lastError = error;
 
   lastError = error;
 
   
 
   
   // M1 and M2 are base motor speedsThat is to say, they are the speeds the motors should
+
   // M1 et M2 sont les vitesses par défaut des moteurs.
   // spin at if you are perfectly on the line with no error. If your motors are well matched,
+
  // Ce sont les vitesses adéquate des deux moteurs
   // M1 and M2 will be equal. When you start testing your PID loop, it might help to start with
+
  //    pour suivre -SANS ERREUR- une ligne parfaitement
   // small values for M1 and M2.  You can then increase the speed as you fine-tune your
+
  //    droite.   
   // PID constants KP and KD.
+
  // Si vos moteurs sont identiques alors M1 et M2 devraient
 +
  //    être égale (ou presque, chaque moteur étant un peu
 +
   //   différent de l'autre).  
 +
   // Il est préférable de commencer avec une petite valeur
 +
  //    pour M1 et M2 lorsque vous commencez à tester votre
 +
  //    boucle de contrôle. En effet, l'erreur (écart par
 +
  //    rapport à la ligne) devient rapidement plus grande
 +
  //    si la vitesse est plus élevée.
 +
  //    Après avoir atteint un résultat satisfaisant à
 +
  //    faible vitesse, vous pouvez augmenter les valeurs
 +
   //   de M1 et M2 et poursuivre l'affinement des valeurs
 +
   //   des constantes KP et KD de votre PID.
 
   int m1Speed = M1 + motorSpeed;
 
   int m1Speed = M1 + motorSpeed;
 
   int m2Speed = M2 - motorSpeed;
 
   int m2Speed = M2 - motorSpeed;
 
   
 
   
   // it might help to keep the speeds positive (this is optional)
+
   // Cela peut aider de maintenir une vitesse positive  
   // note that you might want to add a similiar line to keep the speeds from exceeding
+
  // pour les moteurs (ce point est optionnel).
   // any maximum allowed value
+
   // Un test similaire pourrait être ajouté pour garder
 +
   // la vitesse des moteurs en dessous du maximum
 +
  // autorisé.
 
   if (m1Speed < 0)
 
   if (m1Speed < 0)
 
     m1Speed = 0;
 
     m1Speed = 0;
Ligne 297 : Ligne 315 :  
     m2Speed = 0;
 
     m2Speed = 0;
 
   
 
   
   // set motor speeds using the two motor speed variables above
+
   // Fixer la vitesse des mmoteur en utilisant les
 +
  // variables m1Speed et m2Speed
 
}</syntaxhighlight>
 
}</syntaxhighlight>
    
{{Pololu-Senseur-QTR-TRAILER}}
 
{{Pololu-Senseur-QTR-TRAILER}}
29 917

modifications

Menu de navigation