RB-ARD-ROBOT-Func-lineFollowConfig

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

lineFollowConfig()

Description

Classe RobotControl, librairie d'Arduino Robot.

Modifie les paramètres du mode "Suivit de ligne" (line following).

Utilisez cette fonction si le "suivit de ligne" ne fonctionne pas comme attendu, ou si vous désirez modifier la vitesse du robot durant les "suivit de ligne".

Cette fonction modifie les "algorithmes PD" qui permet au robot de penser ce qui se passera un peu plus loin pendant qu'il lit la ligne. Le robot tente de prévoir toutes les erreurs possible de la prochaine lecture des senseurs IR, et de corriger son mouvement de façon approprié en adaptant la vitesse de chaque roue.

Voir, ci dessous, la note explicative détaillée.

Syntaxe

Robot.lineFollowConfig(KP,KD,robotSpeed,intergrationTime)

Paramètres

  • KP : int, gain proportionel
  • KD : int, gain dérivé (derivative gain)
  • integrationTime: int, delais en millisecondes entre deux exécutions successives de l'algorithme
  • robotSpeed: int, entre 0 et 100, indique le pourcentage de vitesse des moteurs.

Résultat

aucun

Exemple

#include <ArduinoRobot.h>
long timer;

void setup(){
  Robot.begin();
  Robot.beginLCD();
  delay(3000);

  Robot.lineFollowConfig(11,5,50,10);//initialise les paramètres PID
  Robot.setMode(MODE_LINE_FOLLOW);
  timer=millis();
  while(!Robot.isActionDone()){
    //Fait une pause de 3 secondes toutes les 5 secondes
    if(millis()-timer>=5000){
      Robot.pauseMode(true);
      delay(3000);
      Robot.pauseMode(false);
      timer=millis();
    }
    Robot.debugPrint(millis());
  }
  Robot.text("Fait!",0,10,true);
  while(true);

}
void loop(){
}

Note

Dans la fonction, KP aide le robot a suivre la ligne, et KD amorti l'oscillation du robot.

Pour trouver la bonne valeur de ces paramètres, il est nécessaire de faire une recherche expérimentale afin de trouver la bonne paire de valeur. Vous trouverez ci-dessous un exemple de test :

  1. Placez KP à 5, KD à 0, choisissez la vitesse du robot. Placez intergrationTime sur 10
  2. Faite fonctionner le robot en suivit de ligne sur le circuit
  3. Si le robot sort du circuit, accroissez KP de 1
  4. Répétez l'opération aussi longtemps que cela aide le robot a mieux suivre la ligne. Arrêté de modifier KP lorsque cela n'apporte plus d'amélioration.
  5. Accroissez KD de 1
  6. Faite fonctionne le robot sur le circuit, vérifiez s'il oscille moins en suivant la ligne
  7. Continuez d'accroitre KD de 1 jusqu'a ce qu'il n'y ait plus d'amélioration.
  8. Vous avez en avez terminé avec les réglages lorsque le robot suit le circuit sans perdre la ligne. Prenez note des valeurs pour pouvoir les réutiliser plus tard.

Voir aussi


Source: Arduino Robot, getting started with the Arduino Robot, the Robot's library pages. Crédit: Arduino.cc, licence Creative Common Attribution ShareAlike.

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.