Comprendre les données des capteurs inertiels du cerveau VEX IQ (2e génération)

Le cerveau VEX IQ (2e génération) est doté d'un capteur inertiel intégré. Le capteur inertiel rapporte des données sur le cap, la rotation, l'orientation et l'accélération dans le tableau de bord du capteur et dans VEXcode IQ. Cet article passera en revue les données présentées sur le tableau de bord du capteur.

Pour plus d'informations sur l'accès au tableau de bord du capteur, consultez cet article. 

L'écran du cerveau est affiché avec le tableau de bord du capteur inertiel ouvert à partir du menu Appareils. Les informations suivantes du capteur inertiel sont affichées : cap, rotation, roulis, tangage, lacet, étalonnage, accélération sur les axes x, y et z et taux de rotation sur les axes x, y et z.


Titre

Diagramme de haut en bas du cerveau avec un cercle et des unités de degré marquées autour, indiquant que la direction du cerveau peut aller de 0 à 359,99 degrés.

Le cap est la direction vers laquelle le cerveau fait face et est signalé sous la forme d'une boussole en utilisant des degrés compris entre 0 et 359,99.  Le point 0 peut être défini à l’aide de commandes dans VEXcode IQ ou en calibrant le cerveau VEX IQ (2e génération). Ces informations peuvent également être utilisées pour orienter votre robot vers un emplacement spécifique lors de l'utilisation d'une transmission.

L'écran du cerveau est affiché avec le tableau de bord du capteur inertiel ouvert et avec la valeur de cap en surbrillance.

Dans le tableau de bord du capteur sur l'écran du cerveau, le titre est la première valeur répertoriée. Si vous déplacez le cerveau sur cet écran, vous verrez les valeurs se mettre à jour en temps réel.

Le cerveau est affiché avec le tableau de bord du capteur inertiel ouvert et son bouton Vérifier mis en surbrillance.

Celui-ci est réglé sur 0 degré lorsque le cerveau est allumé et que le capteur inertiel se calibre. Si vous souhaitez réinitialiser le titre de votre cerveau, sélectionnez le bouton à cocher sur le cerveau. Cela réinitialisera le cap et la rotation à 0 degré, et toutes les données du tableau de bord du capteur inertiel seront basées sur ce nouvel emplacement de départ.

Blocs IQ VEXcode VEXcode IQPython
VEXcode IQ Tournez vers le bloc de cap qui indique Tournez vers le cap à 90 degrés.
drivetrain.turn_to_heading(90, DEGRÉS)
VEXcode IQC++
int main()
{
Drivetrain.turnToHeading(90, degrés);
}

Dans VEXcode IQ, le bloc [Turn to head], la commande Python turn_to_headinget la commande turnToHeading C++ peuvent être utilisés pour faire tourner le robot vers un cap spécifique.

Blocs IQ VEXcode VEXcode IQPython
Bloc de définition du cap du lecteur VEXcode IQ qui lit Définir le cap du lecteur sur 0 degré.
drivetrain.set_heading(0, DEGRÉS)
VEXcode IQC++
int main()
{
Drivetrain.setHeading(0, degrés);
}

Semblable à l'option de calibrage dans le tableau de bord du capteur, le titre peut être défini pendant l'exécution du projet à l'aide du bloc [Set drive head], de la commande set_heading Python ou de la commande setHeading C++.


Rotation

L'écran du cerveau est affiché avec le tableau de bord du capteur inertiel ouvert et avec la valeur de rotation en surbrillance. La valeur de rotation est négative 90,13.

La rotation est signalée lorsque le robot tourne autour de l'axe central du cerveau. Le nombre de degrés indiqué sur le tableau de bord du capteur indique la direction du virage et la valeur en degrés des tours effectués par le cerveau depuis l'étalonnage. Contrairement au cap, les valeurs numériques ne sont pas limitées à 0-359,99 degrés. Le robot peut tourner dans le sens inverse des aiguilles d'une montre pour une valeur négative ou dans le sens des aiguilles d'une montre pour une valeur positive et continuera d'augmenter la valeur en degrés pour correspondre au nombre de rotations signalées par le capteur inertiel dans le cerveau. 

L'écran du cerveau est affiché avec le tableau de bord du capteur inertiel ouvert et avec la valeur de rotation en surbrillance. La valeur de rotation est de 0,47.

Dans le tableau de bord des capteurs sur l'écran du cerveau, la rotation est la deuxième valeur répertoriée. Si vous faites pivoter le cerveau sur cet écran, vous verrez les valeurs se mettre à jour en temps réel. 

Le cerveau est affiché avec le tableau de bord du capteur inertiel ouvert et son bouton Vérifier mis en surbrillance.

Celui-ci est réglé sur 0 degré lorsque le cerveau est allumé et que le capteur inertiel se calibre. Si vous souhaitez réinitialiser la rotation de votre robot, sélectionnez le bouton à cocher sur le cerveau. Cela réinitialisera le cap et la rotation à 0 degré, et toutes les données du tableau de bord du capteur inertiel seront basées sur ce nouvel emplacement de départ.

Blocs IQ VEXcode VEXcode IQPython
VEXcode IQ Tournez vers le bloc de rotation qui indique Tournez vers la rotation à 90 degrés.
drivetrain.turn_to_rotation (90, DEGRÉS)
VEXcode IQC++
int main()
{
Drivetrain.turnToRotation(90, degrés);
}

Dans VEXcode IQ, le bloc [Turn to rotation], la commande Python turn_to_rotation et la commande turnToRotation C++ peuvent être utilisés pour faire tourner le robot d'un nombre spécifique de degrés.

Blocs IQ VEXcode VEXcode IQPython
Bloc de rotation du lecteur VEXcode IQ qui lit Définir la rotation du lecteur sur 0 degré.
drivetrain.set_rotation (0, DEGRÉS)
VEXcode IQC++
int main()
{
Drivetrain.setRotation(0, degrés);
}

Semblable à l'option de calibrage dans le tableau de bord du capteur, la valeur de rotation peut être définie pendant l'exécution du projet à l'aide du bloc [Set drive rotation], de la commande set_rotationPython ou de la commande setRotation C++.


Tangage, roulis et lacet

Schéma d'un BaseBot avec une flèche courbée indiquant son pas. La direction du pitch peut être imaginée comme le robot regardant vers le haut ou vers le bas.

Le tangage, le roulis et le lacet sont l'angle d'orientation du cerveau le long d'un axe spécifié. Le pas représente l'axe y et l'angle d'inclinaison du robot vers l'avant et vers l'arrière. Les valeurs de pas varient de -90 degrés à 90 degrés. 

Schéma d'un BaseBot avec une flèche courbée indiquant son roulis. La direction du roulis peut être imaginée comme le robot roulant sur le côté.

Le roulis représente l'axe des x et l'angle d'inclinaison du robot à gauche et à droite. Les valeurs de roulis vont de -180 degrés à 180 degrés. 

Schéma d'un BaseBot avec une flèche courbée indiquant son lacet. La direction du lacet peut être imaginée comme le robot regardant à gauche et à droite.

Yaw représente l'axe z et la rotation angulaire du robot. Les valeurs de lacet vont de -180 degrés à 180 degrés.

L'écran du cerveau est affiché avec le tableau de bord du capteur inertiel ouvert et avec les valeurs de roulis, de tangage et de lacet mises en évidence.

Le tangage, le roulis et le lacet sont affichés sur le tableau de bord du capteur sous le cap et la rotation.

Capture d'écran de la miniature du projet d'exemple de tangage, de roulis et de lacet.

L'exemple de projet Pitch, Roll, Yaw dans VEXcode IQ peut être utilisé pour montrer comment détecter l'angle d'orientation du cerveau le long des axes y, x et z. La LED tactile sera réglée sur différentes couleurs en fonction de la façon dont l'angle d'orientation du cerveau change pour indiquer le tangage, le roulis et le lacet.

Pour plus d'informations sur la façon d'ouvrir un exemple de projet dans VEXcode IQ, consultez l'un des articles suivants.


Accélération sur les axes x, y et z

L'écran du cerveau est affiché avec le tableau de bord du capteur inertiel ouvert et avec les valeurs d'accélération sur les axes x, y et z mises en évidence. Ces valeurs sont étiquetées comme ax, ay et az dans le tableau de bord.

La section d'accélération sur le tableau de bord du capteur indique la valeur d'accélération du capteur inertiel le long d'un axe spécifié. L'accélération le long des axes x, y et z est affichée sur le tableau de bord du capteur à droite à l'aide des abréviations « ax », « ay » et « az ». Chacun de ces rapports indique une plage de -4,0 à 4,0 Gs.

Lorsque le cerveau repose sur une surface, vous verrez une valeur d'environ -1,0 Gs. cela est dû à la force de gravité exercée sur le cerveau au repos.

Capture d'écran de la miniature du projet d'exemple de détection d'accélération.

L'exemple de projet Detecting Acceleration dans VEXcode IQ peut être utilisé pour montrer comment détecter l'accélération du cerveau le long des axes x, y et z. La LED tactile affichera différentes couleurs en fonction de l'axe d'inclinaison du cerveau.

Pour plus d'informations sur la façon d'ouvrir un exemple de projet dans VEXcode IQ, consultez l'un des articles suivants.


Taux de rotation sur les axes x, y et z

L'écran du cerveau est affiché avec le tableau de bord du capteur inertiel ouvert et avec les valeurs du taux de rotation sur les axes x, y et z mises en évidence. Ces valeurs sont étiquetées gx, gy et gz dans le tableau de bord.

Le taux de section gyroscopique sur le tableau de bord du capteur indique la valeur du taux de rotation du capteur inertiel le long d'un axe spécifié. Le taux de rotation le long des axes x, y et z est affiché sur le tableau de bord du capteur à droite à l'aide des abréviations « gx », « gy » et « gz ». Chacun d'entre eux indique une plage de -1 000,0 à 1 000,0 degrés par seconde.

Blocs IQ VEXcode VEXcode IQPython
Bloc de taux gyroscopique VEXcode IQ qui lit le taux gyroscopique BrainInertial de l'axe x.
brain_inertial.gyro_rate (AxisType.XAXIS, VelocityUnits.DPS)
VEXcode IQC++
int main()
{
BrainInertial.gyroRate(xaxis, dps)
}

Dans VEXcode IQ, le bloc (Gyro rate), la commande Python gyro_rateet la commande gyroRate C++ peuvent être utilisés pour signaler la vitesse de rotation d'un axe spécifique pendant l'exécution d'un projet.

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

Last Updated: