Modifications

Sauter à la navigation Sauter à la recherche
2 288 octets ajoutés ,  16 août 2016 à 20:22
Ligne 82 : Ligne 82 :     
Voyez la section [[Hack-MotorSkin-Tester#D.C3.A9pannage|dépannage]] si l'un des moteurs ne tourne pas dans le bon sens.
 
Voyez la section [[Hack-MotorSkin-Tester#D.C3.A9pannage|dépannage]] si l'un des moteurs ne tourne pas dans le bon sens.
 +
 +
== Les virages ==
 +
Il est également possible de négocier un virage, technique plus appropriée pour le suivi de tracé... ou négocier des parcours avec la meilleure optimisation possible.
 +
 +
La technique est simple, il suffit de ralentir le moteur du côté où l'on désire prendre le virage... l'autre moteur restant à vitesse plus élevée, le trajectoire du mobile va inévitable suivre un arc de cercle.
 +
 +
Plus la différence de vitesse est grande et plus le rayon de courbure est petit (donc virage plus serré).  Ce parcours en arc de cercle signifie que l'on circule sur le périmètre d'un cercle... si le mobile poursuit son parcours suffisamment longtemps... il dessinera un cercle.
 +
 +
Ce cercle à un centre et il y a donc un rayon entre le centre et votre plateforme robot.
 +
 +
[[Fichier:RB-2-WHEEL-MOVE-02.jpg|640px]]
 +
 +
Dans l'exemple suivant, nous allons entamer un virage à droite {{fname|Robot2Wheel.RIGHT_BEND}}. Pour cela, nous allons ralentir le moteur droit de 40% ({{fname|1=speed=40}}) par rapport au moteur gauche.
 +
 +
Lorsqu'il n'y a qu'un seul paramètre de vitesse, ce paramètre {{fname|speed}} mentionne la différence de vitesse entre les deux moteurs.
 +
 +
<syntaxhighlight lang="python">
 +
from r2wheel import Robot2Wheel
 +
from pyb import delay
 +
r2 = Robot2Wheel()
 +
r2 = Robot2Wheel( reverse_mot2 = True ) # inverser la commande du moteur moteur
 +
r2.turn(Robot2Wheel.RIGHT_BEND, speed=40)
 +
delay( 15000 )
 +
r2.forward()
 +
delay( 5000 )
 +
r2.halt()
 +
</syntaxhighlight>
 +
 +
Il est également possible de contrôler la vitesse du mobile durant un virage en précisant 2 vitesses. Lorsqu'il y a deux vitesses mentionnées: la vitesse globale du mobile est précisée avec {{fname|speed}}, puis la différence de vitesse entre les deux moteurs dans {{fname|speed2}}.
 +
 +
<syntaxhighlight lang="python">
 +
from r2wheel import Robot2Wheel
 +
from pyb import delay
 +
r2 = Robot2Wheel()
 +
r2 = Robot2Wheel( reverse_mot2 = True ) # inverser la commande du moteur moteur
 +
r2.turn(Robot2Wheel.LEFT_BEND, speed=70, speed2=40)
 +
delay( 15000 )
 +
r2.forward()
 +
delay( 5000 )
 +
r2.halt()
 +
</syntaxhighlight>
 +
 +
Dans l'exemple ci-dessus, nous tournons à gauche avec une vitesse globale du mobile de 70% et une différence de vitesse de 40%. Le moteur droit fonctionne donc à 70% et le moteur gauche à 70%-40%, soit 30%.
    
== Senseur Ultrason ==
 
== Senseur Ultrason ==
29 861

modifications

Menu de navigation