Codage avec les moteurs intelligents VEX IQ

Le moteur intelligent VEX IQ dispose de nombreuses fonctions à utiliser lors du codage dans VEXcode IQ. Cela peut s'avérer utile lors du codage des bras, des griffes et des admissions, ainsi que des transmissions et autres mécanismes créés à l'aide de VEX IQ. Comprendre comment les moteurs peuvent être codés aidera à atténuer des problèmes tels que le blocage des projets ou les moteurs qui ne fonctionnent pas comme prévu.

Encodeur de moteur

Non seulement le moteur intelligent VEX IQ transforme l’énergie électrique en énergie mécanique, comme le font la plupart des moteurs, mais il possède également des fonctionnalités que la plupart des moteurs n’ont pas, ce qui le rend « intelligent ». L'une de ses principales caractéristiques est l'encodeur en quadrature. Cet encodeur est monté à l'intérieur du moteur afin de suivre la vitesse et/ou la position de l'arbre du moteur.

Les rapports de l'encodeur du VEX IQ Smart Motor permettent de connaître :

  • Le sens de rotation du moteur (avant/arrière ou ouvert/fermé)
  • La position du moteur et l'ampleur du tour et de la position du moteur (soit en tours, soit en degrés)
  • La vitesse de rotation du moteur (en fonction de la position de l'encodeur dans le temps)

Étant donné que l'encodeur signale les états du moteur, ils peuvent être utilisés dans des calculs en coulisse pour faire fonctionner de nombreuses commandes de mouvement et de détection au sein du VEXcode IQ.

Codage des moteurs individuels

Avant de commencer à coder des moteurs intelligents individuels dans VEXcode IQ, vous devez configurer le moteur. Les moteurs individuels sont fréquemment utilisés pour des mécanismes supplémentaires tels que les admissions, les bras et les griffes. Cependant, toutes les informations s'appliquent toujours à d'autres mécanismes utilisant des moteurs individuels.

Menu des appareils VEXcode IQ avec une liste des appareils connectés affichés. Un moteur intelligent est mis en surbrillance, indiquant qu'il peut être configuré après l'avoir sélectionné.

Suivez les étapes de cet article pour configurer votre moteur individuel dans VEXcode IQ.

Avec un seul moteur configuré, les commandes permettant de contrôler ce moteur apparaîtront dans la boîte à outils. Vous remarquerez qu'il existe différents types de commandes : en attente et sans attente.

Commandes en attente ou sans attente

Notez que toutes les images ici montrent des blocs. Tous ces projets peuvent être reconstruits en Python ou C++ et contiennent les mêmes fonctionnalités que les blocs.

Projet de blocs VEXcode IQ qui utilise des commandes d'attente pour déplacer le moteur à griffes, puis le robot, puis le moteur du bras l'un après l'autre. Le projet indique qu'au démarrage, faites tourner le ClawMotor à 90 degrés. Ensuite, faites marche arrière sur 200 mm, puis faites tourner ArmMotor pour le positionner à 180 degrés.

Les commandes en attente empêchent le projet de continuer jusqu'à ce que le comportement soit terminé. Celles-ci incluent des commandes telles que [Spin ​​for] et [Spin ​​to position].

Le projet présenté ici utilise un modèle Clawbot (2 moteurs) et toutes les commandes sont en attente. Ainsi, en série, le moteur à griffes se fermerait à 90 degrés, le robot roulerait en marche arrière, puis le bras tournerait pour atteindre la position à 180 degrés.

Projet de blocs VEXcode IQ qui utilise des commandes sans attente pour faire tourner le moteur d'admission pendant exactement 2 secondes. Le projet lit Au démarrage, faites tourner IntakeMotor, attendez 2 secondes, puis arrêtez IntakeMotor.

En revanche, il existe des commandes sans attente. Une commande sans attente exécutera le comportement indéfiniment ou jusqu'à ce qu'on lui demande de passer à un autre comportement. Il s'agit notamment de commandes telles que [Spin].

Le projet présenté ici utilise un BaseBot avec un apport ajouté. Ici, le moteur d'admission commencerait à tourner. La commande [Attendre] est une commande d'attente, donc l'admission continue de tourner jusqu'à ce que les 2 secondes soient écoulées, puis passe à la commande suivante du projet qui est une commande [Arrêter]. Ensuite, le moteur cesserait de tourner.

Délais d'attente du moteur

Lors du codage d'un moteur dans le cadre d'un bras ou d'une griffe, il est important de se rappeler la différence entre les blocs en attente et sans attente et l'impact de ceux-ci sur le mouvement de votre robot. Les délais d'attente du moteur vous permettent de définir une limite de temps pour que le moteur atteigne la position cible prévue. S'il n'a pas atteint cette position à l'expiration du délai, le moteur cessera d'essayer de tourner et le projet passera à la commande suivante.

Projet de blocs VEXcode IQ qui utilise un bloc de temporisation du moteur pour faire tourner le moteur à griffes fermé pendant 90 degrés ou jusqu'à ce que 2 secondes se soient écoulées avant de déplacer le robot. Le projet lit Au démarrage, définissez le délai d'expiration de ClawMotor sur 2 secondes et faites tourner ClawMotor à 90 degrés. Enfin, faites marche arrière sur 200 mm.

Dans cet exemple, le délai d'attente du moteur est réglé sur 2 secondes. Si la griffe ne se ferme pas à 90 degrés dans les 2 secondes, le moteur cessera de tourner au bout de 2 secondes, puis passera à la commande suivante et avancera.

L'écran du cerveau est affiché avec le tableau de bord du capteur moteur ouvert à partir du menu Appareils. Des informations sont affichées sur le moteur, telles que sa commande, sa vitesse, sa position, son courant et le port intelligent du moteur.

Si vous ne savez pas jusqu'où déplacer un moteur, utilisez le tableau de bord des capteurs. Le tableau de bord indique la position du moteur en degrés et en tours, de sorte que lorsque vous déplacez un moteur (comme ouvrir et fermer une griffe), les chiffres changent. Utilisez ce test pour déterminer combien de degrés ou de rotations sont nécessaires pour fermer une griffe, lever un bras, faire tourner une admission, etc.

Consultez ces articles pour savoir comment utiliser le tableau de bord des capteurs.

Codage de moteurs intelligents dans le cadre d'une transmission

Avant de commencer à coder une transmission dans VEXcode IQ, vous devez configurer la transmission, y compris les moteurs utilisés. Les moteurs sont configurés au sein de la transmission pour garantir qu'ils sont contrôlés avec les mêmes commandes telles que [Drive] et [Drive for].

Commandes en attente et sans attente

Lors du codage d'une transmission, des commandes d'attente et de non-attente sont disponibles pour contrôler le mouvement du robot.

Projet de blocs VEXcode IQ qui utilise des commandes d'attente pour faire avancer le robot puis tourner à droite l'un après l'autre. Le projet indique : Au démarrage, avancez sur 200 mm, puis tournez à droite sur 90 degrés.

Les commandes en attente empêchent le projet de continuer jusqu'à ce que le comportement soit terminé. Celles-ci incluent des commandes telles que [Conduire vers] [Tourner vers] et [Tourner vers le cap].

Le projet présenté ici utilise un modèle Clawbot (2 moteurs) et toutes les commandes sont en attente. Ainsi, en série, le robot avancerait sur 200 millimètres puis tournerait à droite en utilisant la transmission.

Le projet de blocs VEXcode IQ utilise une commande sans attente pour faire avancer le robot jusqu'à ce que le pare-chocs soit enfoncé, puis tourner vers la droite. Le projet indique : Au démarrage, avancez, attendez que Bumper3 soit enfoncé, puis tournez à droite à 90 degrés.

En revanche, il existe des commandes sans attente. Une commande sans attente exécutera le comportement indéfiniment ou jusqu'à ce qu'on lui demande de passer à un autre comportement. Il s'agit notamment de commandes telles que [Drive].

Le projet présenté ici utilise un BaseBot. Ici, le robot avancerait indéfiniment jusqu'à ce que l'interrupteur du pare-chocs soit enfoncé. Ensuite, le projet passerait à la commande suivante et le robot arrêterait de conduire et tournerait à droite sur 90 degrés.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: