/
MoveHolonomic() {FR}

MoveHolonomic() {FR}

Objectif

Facilement ajouter un contrôle holonomique pour une base de robot construites avec 4 roues omnidirectionnelles.

Quand l’utiliser

Si vous avez une base de robot en configuration holonomique, où un signal contrôle avant/arrière, un second gauche/droite en translation et un dernier contrôle la rotation.

Où l’utiliser

Dans la partie void loop() de votre fichier .ino, puisqu’il faut qu’elle soit appelée en boucle le plus rapidement possible.

Cette fonction requiert l’utilisation des fonctions suivantes dans votre programme:

Valeur de retour

Cette fonction ne retourne aucune valeur après avoir exécuté ses tâches.

Prototype princial

static void CrcLib::MoveHolonomic(int8_t forwardChannel, int8_t yawChannel, int8_t strafeChannel, unsigned char frontLeftMotor, unsigned char backLeftMotor, unsigned char frontRightMotor, unsigned char backRightMotor)

Les paramètres suivants sont requis par la fonction:

  • forwardChannel: La vitesse à laquelle le robot devrait avancer/reculer. De type int8_t (aussi appelé signed char), soit entre -128 et 127.

  • yawChannel: La vitesse à laquelle le robot devrait tourner vers la gauche/droite. De type int8_t (aussi appelé signed char), soit entre -128 et 127.

  • strafeChannel: La vitesse à laquelle le robot devrait se déplacer latéralement. De type int8_t (aussi appelé signed char), soit entre -128 et 127.

  • frontLeftMotor: Le port PWM auquel est connecté le moteur avant gauche.

  • backLeftMotor: Le port PWM auquel est connecté le moteur arrière gauche.

  • frontRightMotor: Le port PWM auquel est connecté le moteur avant droit.

  • backRightMotor: Le port PWM auquel est connecté le moteur arrière droit.

Overloads

#1: Utiliser directement les valeurs de la manettes

static void CrcLib::MoveHolonomic(ANALOG forwardChannel, ANALOG yawChannel, ANALOG strafeChannel, unsigned char frontLeftMotor, unsigned char backLeftMotor, unsigned char frontRightMotor, unsigned char backRightMotor)

Les paramètres suivants sont requis par la fonction:

  • forwardChannel: La vitesse à laquelle le robot devrait avancer/reculer. De type ANALOG (voir CrcLib: accéder aux boutons de la télécommande)

  • yawChannel: La vitesse à laquelle le robot devrait tourner vers la gauche/droite. De type ANALOG (voir CrcLib: accéder aux boutons de la télécommande)

  • strafeChannel: La vitesse à laquelle le robot devrait se déplacer latéralement. De type ANALOG (voir CrcLib: accéder aux boutons de la télécommande)

  • frontLeftMotor: Le port PWM auquel est connecté le moteur avant gauche.

  • backLeftMotor: Le port PWM auquel est connecté le moteur arrière gauche.

  • frontRightMotor: Le port PWM auquel est connecté le moteur avant droit.

  • backRightMotor: Le port PWM auquel est connecté le moteur arrière droit.

Exemples

#include <CrcLib.h> void setup() { CrcLib::Initialize(); CrcLib::InitializePwmOutput(CRC_PWM_1); CrcLib::InitializePwmOutput(CRC_PWM_2); CrcLib::InitializePwmOutput(CRC_PWM_3); CrcLib::InitializePwmOutput(CRC_PWM_4); /* Le reste du code d'initialisation ... */ } void loop() { CrcLib::Update(); CrcLib::MoveHolonomic(ANALOG::JOYSTICK1_Y, ANALOG::JOYSTICK1_X, ANALOG::JOYSTICK2_X, CRC_PWM_1, CRC_PWM_2, CRC_PWM_3, CRC_PWM_4); /* Reste de la boucle principale ... */ }

Related articles

Related content

MoveArcade() {FR}
MoveArcade() {FR}
More like this
MoveTank() {FR}
More like this
CrcLib: accéder aux boutons de la télécommande
CrcLib: accéder aux boutons de la télécommande
Read with this
MoveHolonomic()
More like this
CrcConnect: détails du module
CrcConnect: détails du module
Read with this
MoveArcade()
More like this