Gyro#
Introduction#
Le capteur gyroscopique est un capteur de mouvement qui détecte la rotation autour d’un seul axe. Il mesure l’angle de rotation du robot, ce qui lui permet de suivre son orientation et sa direction.
Cette page utilise drivetrain_gyro comme nom de capteur gyroscopique d’exemple. Remplacez-le par le nom que vous avez configuré, selon vos besoins.
Vous trouverez ci-dessous la liste de toutes les méthodes disponibles :
Actions — Calibrer ou ajuster le cap et la rotation du capteur gyroscopique.
calibrate— Calibre le capteur gyroscopique pour un suivi de cap stable.set_heading— Définit le cap du capteur gyroscopique sur une valeur spécifiée.set_rotation— Définit la valeur de rotation du capteur gyroscopique.reset_heading— Définit le cap du capteur gyroscopique à 0.reset_rotation— Définit la rotation du capteur gyroscopique à 0.
Getters — Lire le cap, la rotation et l’état du capteur gyroscopique.
heading— Renvoie le titre actuel.rotation— Renvoie la rotation cumulative.rate— Renvoie la vitesse angulaire autour de l’axe x, y ou z.is_calibrating— Renvoie si le capteur gyroscopique est en cours d’étalonnage ou non.installed— Indique si un capteur gyroscopique est connecté ou non au cerveau.
Rappel — Exécuter le code lorsque le capteur gyroscopique détecte un mouvement ou un changement.
changed— Enregistre une fonction à appeler lorsque le capteur gyroscopique détecte un changement.
Constructeurs — Initialisez et configurez manuellement un capteur gyroscopique.
Gyro— Crée un capteur gyroscopique.
Actes#
calibrate#
La commande calibrate calibre le capteur gyroscopique. Toutes les commandes suivantes attendront la fin de la calibration avant de s’exécuter. La calibration est une procédure interne qui mesure et compense le bruit et la dérive du capteur sur une période spécifiée. Pendant cette période, le capteur gyroscopique doit rester parfaitement immobile (c’est-à-dire sur une surface stable, sans aucun mouvement extérieur). Tout mouvement pendant la calibration entraînera des résultats inexacts.
Usage:
calibrate()
Paramètre |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# Start Gyro Sensor calibration
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
wait(0.1, SECONDS)
brain.screen.print("Done!")
set_heading#
set_heading définit l’orientation du capteur gyroscopique sur une valeur spécifique.
Usage:
set_heading(value, units)
Paramètres |
Description |
|---|---|
valeur |
La valeur de l’en-tête à définir. |
unités |
Facultatif. Unité utilisée pour représenter le nouveau cap :
|
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)
set_rotation#
set_rotation définit la rotation du capteur gyroscopique à une valeur spécifique.
Usage:
set_rotation(value, units)
Paramètres |
Description |
|---|---|
|
La valeur de l’en-tête à définir. |
|
Facultatif. Unité utilisée pour représenter la nouvelle valeur de rotation :
|
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)
reset_heading#
reset_heading réinitialise le cap du capteur gyroscopique à 0.
Usage:
reset_heading()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# Turn the robot before and after resetting the heading
drivetrain.turn_to_heading(90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_heading()
drivetrain.turn_to_heading(90, DEGREES)
reset_rotation#
reset_rotation réinitialise la rotation du capteur gyroscopique à 0.
Usage:
reset_rotation()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# Turn the robot before and after resetting the rotation
drivetrain.turn_to_rotation(-90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_rotation()
drivetrain.turn_to_rotation(-90, DEGREES)
Getters#
heading#
heading renvoie le cap actuel du capteur gyroscopique.
Usage:
heading(units)
Paramètres |
Description |
|---|---|
|
Facultatif. Unité utilisée pour représenter le cap :
|
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())
rotation#
La rotation rotation renvoie la rotation actuelle du capteur gyroscopique.
Usage:
rotation(units)
Paramètres |
Description |
|---|---|
|
Facultatif. Unité de rotation :
|
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())
rate#
La fonction rate renvoie le taux de variation actuel de la rotation du capteur gyroscopique dans les unités spécifiées.
Usage:
rate(units)
Paramètres |
Description |
|---|---|
|
Optionnel. Unité utilisée pour représenter la vitesse du gyroscope :
|
# Display the rate of change of
# rotation while turning
drivetrain.turn(RIGHT)
wait(1, SECONDS)
brain.screen.print(drivetrain_gyro.rate())
drivetrain.stop()
is_calibrating#
is_calibrating vérifie si le capteur gyroscopique est en cours d’étalonnage.
True— Le capteur gyroscopique est en cours d’étalonnage.False— Le capteur gyroscopique ne se calibre pas.
Usage:
is_calibrating()
Paramètre |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# Start Gyro Sensor calibration.
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
wait(0.1, SECONDS)
brain.screen.print("Done!")
installed#
installed renvoie une valeur booléenne indiquant si le capteur gyroscopique est connecté au cerveau.
True— Le capteur gyroscopique est connecté au cerveau.False— Le capteur gyroscopique n’est pas connecté au cerveau.
Usage:
installed()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# Display a message if the Gyro Sensor is
# installed.
if drivetrain_gyro.installed():
brain.screen.print("Installed!")
Rappel#
changed#
changed enregistre une fonction de rappel pour le moment où le cap du capteur gyroscopique change.
Usage:
changed(callback, arg)
Paramètres |
Description |
|---|---|
|
Fonction de rappel à appeler lorsque le cap du capteur gyroscopique change. |
|
Facultatif. Un tuple d’arguments à transmettre à la fonction de rappel. |
def gyro_changed():
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain_gyro.heading())
# Display the heading when the gyro detects a change
drivetrain.turn_for(RIGHT, 90, DEGREES, wait=False)
drivetrain_gyro.changed(gyro_changed)
Constructeurs#
Les constructeurs sont utilisés pour créer manuellement Gyro , qui sont nécessaires pour configurer un capteur gyroscopique en dehors de VEXcode.
Gyro#
Gyro crée un capteur gyroscopique.
Usage:
Gyro(smartport)
Paramètre |
Description |
|---|---|
|
Le port intelligent auquel le capteur gyroscopique est connecté est noté PORTx, où x représente le numéro du port. |
# Create the Brain
brain = Brain()
# When constructing Gyro Sensor "drivetrain_gyro" with a
# SmartDrive "drivetrain"
drivetrain_gyro = Gyro(Ports.PORT1)
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, drivetrain_gyro, 200)
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)