Modifications

Sauter à la navigation Sauter à la recherche
Ligne 2 : Ligne 2 :     
== Référence des commandes QTRSensor ==
 
== Référence des commandes QTRSensor ==
{{traduction}}
  −
   
{{ambox|text=Les précédentes versions de la bibliothèque s'appelaient '''PololuQTRSensors''' mais il a été modifié en '''QTRSensors''' pour la différencier de la bibliothèque senseur QTR [https://www.pololu.com/docs/0J17 Arduino pour le Robot Orangutan et 3pi]. A part ce changement de nom de bibliothèque (et de classe), la nouvelle bibliothèque QTRSensors est fonctionnellement identique aux précédentes versions.}}
 
{{ambox|text=Les précédentes versions de la bibliothèque s'appelaient '''PololuQTRSensors''' mais il a été modifié en '''QTRSensors''' pour la différencier de la bibliothèque senseur QTR [https://www.pololu.com/docs/0J17 Arduino pour le Robot Orangutan et 3pi]. A part ce changement de nom de bibliothèque (et de classe), la nouvelle bibliothèque QTRSensors est fonctionnellement identique aux précédentes versions.}}
   Ligne 144 : Ligne 142 :  
== Note d'usage ==
 
== Note d'usage ==
 
=== Calibration ===
 
=== Calibration ===
{{traduction}}
   
La bibliothèque propose la méthode '''calibrate()''' pour facilement calibrer les senseurs dans les conditions particulières qu'il va rencontrer. La calibration des senseurs peu permet de produire des lectures sensiblement plus fiable, ce qui aura pour effet de simplifier votre propre code par la suite. En conséquence, nous recommandons de réaliser une phase de calibration dans la routine d'initialisation de votre application.  
 
La bibliothèque propose la méthode '''calibrate()''' pour facilement calibrer les senseurs dans les conditions particulières qu'il va rencontrer. La calibration des senseurs peu permet de produire des lectures sensiblement plus fiable, ce qui aura pour effet de simplifier votre propre code par la suite. En conséquence, nous recommandons de réaliser une phase de calibration dans la routine d'initialisation de votre application.  
   Ligne 276 : Ligne 273 :  
   // 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 312 :  
     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 918

modifications

Menu de navigation