Inercial#

Inicializando la clase inercial#

Un sensor inercial se crea utilizando el siguiente constructor:

Inercial(puerto)

Parámetro

Descripción

puerto

Opcional. Si se utiliza el sensor inercial integrado del EXP Brain, no se necesita un puerto inteligente. Si se conecta un sensor inercial externo, especifique el Puerto inteligente al que está conectado el sensor inercial.

# Create a new object "brain_inertial" with the
# Inertial class.
brain_inertial = Inertial()

Este objeto brain_inertial se utilizará en todos los ejemplos posteriores a lo largo de esta documentación de API cuando se haga referencia a los métodos de la clase Inertial.

Métodos de clase#

calibrate()#

El sensor giroscópico o inercial ajustará automáticamente sus valores dependiendo de la orientación del EXP Brain durante la calibración para que permanezca consistente en todas las posibles orientaciones del EXP Brain.

../../_images/EXP_right_orientation.png../../_images/EXP_left_orientation.png../../_images/EXP_top_orientation.png

El método calibrate() calibra el sensor inercial. La calibración debe realizarse cuando el sensor inercial no esté en movimiento. Espere al menos 2 segundos para que se complete la calibración.

Devoluciones: Ninguna.

# Start calibration.
brain_inertial.calibrate()
# Print that the Inertial Sensor is calibrating while
# waiting for it to finish calibrating.
while brain_inertial.is_calibrating():
    brain.screen.clear()
    brain.screen.print("Inertial Sensor Calibrating")
    wait(50, MSEC)

is_calibrating()#

El método is_calibrating() verifica si el sensor inercial se está calibrando actualmente.

Devuelve: Verdadero si el sensor inercial está calibrando. Falso si no lo está.

# Start calibration.
brain_inertial.calibrate()
# Print that the Inertial Sensor is calibrating while
# waiting for it to finish calibrating.
while brain_inertial.is_calibrating():
    brain.screen.clear()
    brain.screen.print("Inertial Sensor Calibrating")
    wait(50, MSEC)

set_heading()#

El método set_heading(value, units) establece el rumbo del sensor inercial a un valor especificado.

Parámetros

Descripción

valor

El valor del encabezado a establecer.

unidades

Opcional. Un tipo RotationUnits válido. El valor predeterminado es DEGREES.

Devoluciones: Ninguna.

# Set the Inertial Sensor's heading to 180 degrees.
brain_inertial.set_heading(180)

reset_heading()#

El método reset_heading() restablece el rumbo del sensor inercial a 0.

Devoluciones: Ninguna.

heading()#

El método heading(units) devuelve el rumbo actual del sensor inercial.

Parámetros

Descripción

unidades

Opcional. Un tipo RotationUnits válido. El valor predeterminado es DEGREES.

Devuelve: El rumbo actual del sensor inercial en las unidades especificadas.

# Get the current heading for the Inertial Sensor.
value = brain_inertial.heading()

set_rotation()#

El método set_rotation(value, units) establece la rotación del sensor inercial.

Parámetros

Descripción

valor

El valor de rotación a establecer.

unidades

Opcional. Un tipo RotationUnits válido. El valor predeterminado es DEGREES.

Devoluciones: Ninguna.

# Set the Inertial Sensor's rotation to 180 degrees.
brain_inertial.set_rotation(180)

reset_rotation()#

El método reset_rotation() restablece la rotación del sensor inercial a 0.

Devoluciones: Ninguna.

rotation()#

El método rotation(units) devuelve la rotación actual del sensor inercial.

Parámetros

Descripción

unidades

Opcional. Un tipo RotationUnits válido. El valor predeterminado es DEGREES.

Devuelve: La rotación actual del sensor inercial en las unidades especificadas.

# Print the value of the current rotation of the
# Inertial Sensor to the Brain's screen.
brain.screen.print(brain_inertial.rotation())

orientation()#

El método orientation(axis, units) devuelve la orientación de un eje del sensor inercial.

Parámetros

Descripción

eje

Un AxisType válido.

unidades

Opcional. Un tipo RotationUnits válido. El valor predeterminado es DEGREES.

Devuelve: Un valor para la orientación del eje en las unidades especificadas.

# Get the pitch value for the Inertial Sensor.
pitch = brain_inertial.orientation(OrientationType.PITCH)

gyro_rate()#

El método gyro_rate(axis, units) devuelve la velocidad del giroscopio para un eje del sensor inercial.

Parámetros

Descripción

eje

Un AxisType válido.

unidades

Opcional. Un tipo VelocityUnits válido. El valor predeterminado es DPS.

Devuelve: Un valor para la velocidad del giro del eje en las unidades especificadas.

# Get the gyro rate for the Z axis of the Inertial Sensor.
zrate = brain_inertial.gyro_rate(ZAXIS)

acceleration()#

El método acceleration(axis) devuelve la aceleración del sensor inercial.

Parámetros

Descripción

eje

Un AxisType válido.

Devuelve: Un valor para la aceleración del eje en unidades de gravedad.

# Get the acceleration for the Z axis of the Inertial Sensor.
zaccel = brain_inertial.acceleration(ZAXIS)

# Print the value of the current acceleration of the z-axis
# of the Inertial Sensor to the Brain's screen.
brain.screen.print(zaccel)

changed()#

El método changed(callback, arg) registra una función de devolución de llamada para cuando cambia el rumbo del sensor inercial.

Parámetros

Descripción

llamar de vuelta

La función de devolución de llamada que se llamará cuando cambie el rumbo del sensor inercial.

arg

Opcional. Una tupla de argumentos para pasar a la función de devolución de llamada.

Devuelve: Una instancia de la clase Event.

# Define a function heading_changed()
def heading_changed():
    # The Brain will print that the heading changed on the
    # Brain's screen.
    brain.screen.print("heading changed ")
# Run heading_changed when the heading for this
# Inertial Sensor changes.
brain_inertial.changed(heading_changed)

collision()#

El método collision(callback, arg) registra una función de devolución de llamada para cuando el sensor inercial detecta una colisión.

Parámetros

Descripción

llamar de vuelta

La función de devolución de llamada que se llamará cuando se detecte una colisión.

arg

Opcional. Una tupla de argumentos para pasar a la función de devolución de llamada.

Devuelve: Una instancia de la clase Event.

# Define a function collision_occur().
def collision_occur():
    # The Brain will print that a collision was detected by
    # the Inertial Sensor on the Brain's screen.
    brain.screen.print("collision detected ")
# Run collision_occur when the heading for this
# Inertial Sensor detects a collision.
brain_inertial.collision(collision_occur)

set_turn_type()#

El método set_turn_type(turntype) establece la dirección que devuelve valores positivos para el rumbo.

Parámetros

Descripción

tipo de giro

Un TurnType válido.

Devoluciones: Ninguna.

# Set the turn type to left.
brain_inertial.set_turn_type(LEFT)

# Set the turn type to right.
brain_inertial.set_turn_type(RIGHT)

get_turn_type()#

El método get_turn_type() devuelve la dirección que devuelve valores positivos para el rumbo.

Devuelve: El tipo de giro del sensor inercial en las unidades especificadas.

installed()#

El método installed() verifica si el sensor inercial está instalado.

Devuelve: «Verdadero» si el sensor inercial está instalado. «Falso» si no lo está.

timestamp()#

El método timestamp() devuelve la marca de tiempo del último paquete de estado recibido del sensor inercial.

Devuelve: La marca de tiempo del último paquete de estado recibido en milisegundos.