Etape 11 : L’algorithme de PD
Alors maintenant, nous avons atteint le cœur du projet. Presque tous les biens comme robot suiveur a besoin de cet algorithme pour s’assurer que nous allons suivre la ligne de façon optimale. Le robot dispose de deux ou quatre moteurs. Qui disent que nous allons contrôler la direction que le robot suive donnant plus de puissance d’un moteur ou d’une autre. Nous pouvons contrôler la vitesse des moteurs par l’utilisation de la modulation largeur d’impulsions, qui est intégré dans le code du robot et nous permettre d’utiliser une fonction, MotorsSpeed(a,b) pour régler la vitesse de la moteur A de -1000 à 1000 et la Vitesse du moteur B de -1000 à 1000. Nous allons citer, mais il n’est pas sensé expliquer ici comment cela fonctionne. (Mais je vous promets pour cela!)
Alors maintenant, nous allons implémenter l’algorithme de PD dont l’objectif sera de décider combien réagissent (combien plus pouvoir donné pour un moteur que l’autre) quand la ligne est loin d’être le centre du tableau capteur selon deux modalités :
- Proportionnelle : Ce terme est proportionnel à quelle distance se trouve le centre de tableau capteur depuis le centre de la ligne
- Dérivé : La valeur de ce terme est selon combien les capteurs Centre a déménagé depuis la dernière fois (sa vitesse de changement). Ajout de ce terme à formule fera le robot pour « prédire » étaient la ligne sera dans la prochaine itération qui provoque (si on l’utilise correctement) une énorme diminution des oscillations.
Il existe deux constantes, KP, et KD qui dit combien chaque terme affecte le comportement du robot. Des tests pour obtenir ces les meilleures valeurs fait partie du développement du robot. Le résultat de la formule sera proportionnel à la quantité d’énergie est donnée pour un moteur que l’autre. Si le résultat est positif, probablement moteur A va avoir plus de puissance que B, dans le cas contraire, moteur B aura plus de puissance qu’a.
J’ai ajouté dans le terme de robot un troisième KR, qui fait que si la vitesse du moteur est négative (ce qui signifie qu'il va en sens inverse le chemin), la vitesse est multipliée par un coefficient. Ce n’est pas nécessaire, mais en raison des caractéristiques des moteurs à mon j’avais nécessaires pour l’ajouter.
Prenez maintenant un coup d’oeil de l’algorithme de PID (qui a la chose KR, mais vous pouvez l’ignorer)