Ligne 115 : |
Ligne 115 : |
| int error = position - 2500; | | int error = position - 2500; |
| | | |
− | // Calculer la différence de vitesse entre les moteurs en utilisant un | + | // Calculer la différence de vitesse (speedDifference) entre les moteurs |
− | // les termes proportionnels et dérivés du régulateur PID. | + | // en utilisant un les termes proportionnels et dérivés du régulateur PID. |
| // (Le terme intégral n'est généralement pas très utile dans le | | // (Le terme intégral n'est généralement pas très utile dans le |
| // suivit de ligne). | | // suivit de ligne). |
Ligne 122 : |
Ligne 122 : |
| // constante dérivée 6, qui devrait fonctionner correctement avec de | | // constante dérivée 6, qui devrait fonctionner correctement avec de |
| // nombreux choix de Zumo. | | // nombreux choix de Zumo. |
− | // You probably want to use trial and error to tune these constants for | + | // Vous aurez probablement besoin d'ajuster ces constantes par |
− | // your particular Zumo and line course. | + | // essai/erreur pour votre zumo et/ou le circuit. |
| int speedDifference = error / 4 + 6 * (error - lastError); | | int speedDifference = error / 4 + 6 * (error - lastError); |
| | | |
| lastError = error; | | lastError = error; |
| | | |
− | // Get individual motor speeds. The sign of speedDifference | + | // Calculer la vitesse de chaque moteur. Le signe de la différence (speedDifference) |
− | // determines if the robot turns left or right. | + | // determine si le moteur tourne à gauche ou a droite. |
| int m1Speed = MAX_SPEED + speedDifference; | | int m1Speed = MAX_SPEED + speedDifference; |
| int m2Speed = MAX_SPEED - speedDifference; | | int m2Speed = MAX_SPEED - speedDifference; |
| | | |
− | // Here we constrain our motor speeds to be between 0 and MAX_SPEED. | + | // Nous allons contraindre la vitesse des moteurs entre 0 et MAX_SPEED. |
− | // Generally speaking, one motor will always be turning at MAX_SPEED | + | // D'une façon générale, un des moteurs est toujours à MAX_SPEED |
− | // and the other will be at MAX_SPEED-|speedDifference| if that is positive, | + | // et l'autre sera à MAX_SPEED-|speedDifference| si elle est positif, |
− | // else it will be stationary. For some applications, you might want to | + | // sinon il sera en vitesse stationnaire. Pour certaines applications, |
− | // allow the motor speed to go negative so that it can spin in reverse. | + | // vous pourriez désirer une vitesse négative, ce qui permettrai de |
| + | // tourner à l'envers. |
| if (m1Speed < 0) | | if (m1Speed < 0) |
| m1Speed = 0; | | m1Speed = 0; |