Différences entre versions de « RB-ARD-ROBOT-Func-lineFollowConfig »
(Page créée avec « {{Arduino-Robot-NAV}} <h4>lineFollowConfig()</h4> == Description == Classe RobotControl, librairie d'[[Arduino Robot-Librair... ») |
|||
Ligne 6 : | Ligne 6 : | ||
Classe [[Arduino Robot-Librairie#Classe_RobotControl|RobotControl]], librairie d'[[Arduino Robot-Librairie|Arduino Robot]]. | Classe [[Arduino Robot-Librairie#Classe_RobotControl|RobotControl]], librairie d'[[Arduino Robot-Librairie|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 == | == Syntaxe == | ||
Ligne 20 : | Ligne 20 : | ||
== Paramètres == | == Paramètres == | ||
− | * '''KP''' : int, | + | * '''KP''' : int, gain proportionel |
− | * '''KD''' : int, derivative gain | + | * '''KD''' : int, gain dérivé (''derivative gain'') |
− | * '''integrationTime''': int, | + | * '''integrationTime''': int, delais en millisecondes entre deux exécutions successives de l'algorithme |
− | * '''robotSpeed''': int, | + | * '''robotSpeed''': int, entre 0 et 100, indique le pourcentage de vitesse des moteurs. |
== Résultat == | == Résultat == | ||
Ligne 60 : | Ligne 60 : | ||
== Note == | == 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 : | |
# Set KP as 5, KD as 0, choose your robot speed. Set intergrationTime as 10 | # Set KP as 5, KD as 0, choose your robot speed. Set intergrationTime as 10 |
Version du 16 septembre 2013 à 07:03
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 :
- Set KP as 5, KD as 0, choose your robot speed. Set intergrationTime as 10
- Run the robot on a line-following track
- If the robot goes off the track, increase KP by 1
- Repeat as long as the robot improves keeping on the line. Stop changing KP when it's no longer improved.
- Increase KD by 1
- Run the robot, note if the robot is waving less
- Continue incrementing KD by 1, until it stops improving.
- When you get the robot following the track without running off the line, you are done with tuning. Take down the numbers so you can use it in the future.
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.