Giroscopio#
Introducción#
El sensor giroscópico es un sensor de movimiento que detecta la rotación alrededor de un solo eje. Puede medir cuánto ha girado el robot, lo que le permite rastrear la orientación y el rumbo.
Esta página utiliza drivetrain_gyro como ejemplo de nombre del sensor giroscópico. Reemplácelo con su propio nombre configurado según sea necesario.
A continuación se muestra una lista de todos los métodos disponibles:
Acciones: calibre o ajuste el rumbo y la rotación del sensor giroscópico.
calibrate— Calibra el sensor giroscópico para un seguimiento estable del rumbo.set_heading— Establece el rumbo del sensor giroscópico en un valor especificado.set_rotation— Establece el valor de rotación del sensor giroscópico.reset_heading— Establece el encabezado del sensor giroscópico en 0.reset_rotation— Establece la rotación del sensor giroscópico en 0.
Getters: lee el rumbo, la rotación y el estado del sensor giroscópico.
heading— Devuelve el encabezado actual.rotation— Devuelve la rotación acumulada.rate— Devuelve la velocidad angular alrededor de los ejes x, y o z.is_calibrating— Devuelve si el sensor giroscópico está calibrando o no.installed— Devuelve si un sensor giroscópico está conectado o no al cerebro.
Devolución de llamada: ejecute el código cuando el sensor giroscópico detecte movimiento o cambio.
changed— Registra una función para llamar cuando el sensor giroscópico detecta un cambio.
Constructores: inicializa y configura manualmente un sensor giroscópico.
Gyro— Crea un sensor giroscópico.
Acciones#
calibrate#
calibrate calibra el sensor giroscópico. Todas las líneas posteriores esperarán a que se complete la calibración antes de ejecutarla. La calibración es un procedimiento interno que mide y compensa el ruido y la deriva del sensor durante un período específico. Durante este tiempo, el sensor giroscópico debe permanecer completamente quieto (es decir, en una superficie estable sin ningún movimiento externo). El movimiento durante la calibración producirá resultados inexactos.
Usage:
calibrate()
Parámetro |
Descripción |
|---|---|
Este método no tiene parámetros. |
# 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 establece el encabezado del sensor giroscópico en un valor específico.
Usage:
set_heading(value, units)
Parámetros |
Descripción |
|---|---|
value |
El valor del encabezado a establecer. |
unidades |
Opcional. La unidad utilizada para representar el nuevo encabezado:
|
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)
set_rotation#
set_rotation establece la rotación del sensor giroscópico en un valor específico.
Usage:
set_rotation(value, units)
Parámetros |
Descripción |
|---|---|
|
El valor del encabezado a establecer. |
|
Opcional. La unidad utilizada para representar el nuevo valor de rotación:
|
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)
reset_heading#
reset_heading restablece el encabezado del sensor giroscópico a 0.
Usage:
reset_heading()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# 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 restablece la rotación del sensor giroscópico a 0.
Usage:
reset_rotation()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# 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#
el heading devuelve el encabezado actual del sensor giroscópico.
Usage:
heading(units)
Parámetros |
Descripción |
|---|---|
|
Opcional. La unidad utilizada para representar el encabezado:
|
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())
rotation#
la rotation devuelve la rotación actual del sensor giroscópico.
Usage:
rotation(units)
Parámetros |
Descripción |
|---|---|
|
Opcional. La unidad utilizada para representar la rotación:
|
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())
rate#
rate devuelve la tasa de cambio actual de la rotación del sensor giroscópico en unidades especificadas.
Usage:
rate(units)
Parámetros |
Descripción |
|---|---|
|
Opcional. Unidad utilizada para representar la velocidad del giroscopio:
|
# 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 comprueba si el sensor giroscópico está calibrando actualmente.
True: el sensor giroscópico se está calibrando.False— El sensor giroscópico no se está calibrando.
Usage:
is_calibrating()
Parámetro |
Descripción |
|---|---|
Este método no tiene parámetros. |
# 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 devuelve un booleano que indica si el sensor giroscópico está conectado al cerebro.
True: el sensor giroscópico está conectado al cerebro.False— El sensor giroscópico no está conectado al cerebro.
Usage:
installed()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# Display a message if the Gyro Sensor is
# installed.
if drivetrain_gyro.installed():
brain.screen.print("Installed!")
Devolución de llamada#
changed#
changed registra una función de devolución de llamada para cuando cambia el rumbo del sensor giroscópico.
Usage:
changed(callback, arg)
Parámetros |
Descripción |
|---|---|
|
La función de devolución de llamada que se llamará cuando cambie el rumbo del sensor giroscópico. |
|
Opcional. Una tupla de argumentos para pasar a la función de devolución de llamada. |
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)
Constructores#
Los constructores se utilizan para crear manualmente objetos Gyro , que son necesarios para configurar un sensor giroscópico fuera de VEXcode.
Gyro#
Gyro crea un sensor giroscópico.
Usage:
Gyro(smartport)
Parámetro |
Descripción |
|---|---|
|
El puerto inteligente al que está conectado el sensor giroscópico, escrito como PORTx, donde x es el número del puerto. |
# 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)