Construit un nouvel object Roues différentielles, correspondant au périphérique DifferentialWheels dans Webots. Vous devez donner la valeur "true" (vrai) ou "false" (faux) au paramètre "isLeft" afin de préciser si vous êtes en train de contruire la roue gauche (mettre "isLeft" à "true") ou la roue droite (mettre "isLeft" à "false"). NB: Les Roues différentielles marchent par paire (il y a toujours deux roues). Vous devez créer deux UObjects DifferentialWheels par périphérique DifferentialWheels pour que cela fonctionne correctement.
Exemple:
wheelL = new DifferentialWheels("e-puck", true);
wheelR = new DifferentialWheels("e-puck", false);
Permissions: lecture, écriture.
Type: float.
Definition: Les encodeurs sont des conteurs qui sont incrémentés chaque fois qu'une roue tourne. L'incrément qui est ajouté est calculé en fonction de l'angle dont la roue a tourné, et en fonction de l'attribut "encoderResolution" du noeud DifferentialWheels de Webots. L'uobject DifferentialWheels possède aussi un attribut "encoderFactor" qui permet de changer facilement l'unité de l'encodeur du coté Urbi. Par exemple, si "encoderResolution" vaut 100, si "encoderFactor" vaut -1, et que la roue fait un tour complet, alors l'encodeur correspondant aura sa valeur incrémentée de 100 * -1 * 6.28 = -628. Attribuer un valeur à l'attribut "encoder" ne fera pas tourner la roue, mais cela réinitialisera la valeur de l'attribut a la valeur attribuée.
Obtenu et assigné avec les fonctions de Webots suivantes:
int differential_wheels_get_left_encoder (void); int differential_wheels_get_right_encoder (void); void differential_wheels_set_encoders (int left, int right);
Permissions: lecture, écriture.
Type: float.
Definition: Vitesse des roues. L'unité de mesure de la vitesse est définie par le champs "speedUnit" du noeud DifferentialWheels de Webots. Par defaut sa valeur est de 0.1 radian par seconde. L'uobject DifferentialWheels possède aussi un attribut "speedFactor" qui permet de changer facilement l'unité de mesure de la vitesse du coté Urbi. Avec un "speedFactor" de 10, une valeur de vitesse de 20 (valeur de "speed") fera tourner les roues à une vitesse de 10 * 20 * 0.1 = 20 radian per seconds.
Obtenu avec la fonction de Webots suivante:
void differential_wheels_set_speed(short left, short right);
Permissions: lecture, écriture.
Type: float.
Definition: Permet de changer l'unité de mesure de la vitesse. Voir l'attribut "speed".
Permissions: lecture, écriture.
Type: float.
Definition: Permet de changer l'unité de mesure des encodeurs. Voir l'attribut "encoder".