Inercial#

Introducción#

El cerebro posee un sensor inercial incorporado. Este sensor puede medir cómo se mueve o gira el cerebro.

El sensor inercial utiliza dos componentes para lograr esto. El giroscopio mide los giros, como la dirección hacia la que apunta el cerebro y la amplitud de su giro. El acelerómetro mide los cambios en el movimiento, como acelerar, desacelerar o detenerse bruscamente durante un choque.

Los métodos inerciales pueden utilizarse para rastrear giros, restablecer valores de rumbo o rotación, medir el balanceo, la inclinación y la guiñada, e informar sobre la aceleración.

Existen muchas maneras de programar el sensor inercial. A continuación se muestra una lista de todos los métodos inerciales:

Orientación: Regrese y configure la orientación, el giro o la inclinación del cerebro.

  • get_heading — Devuelve la dirección hacia la que apunta el Cerebro, de 0 a 359 grados.

  • get_rotation — Devuelve cuánto ha girado el Cerebro.

  • get_yaw — Devuelve cuánto ha girado el Cerebro hacia la izquierda o hacia la derecha desde su posición inicial.

  • get_roll — Devuelve cuánto se inclina el Cerebro hacia la izquierda o hacia la derecha.

  • get_pitch — Devuelve cuánto se inclina el cerebro hacia adelante o hacia atrás.

  • calibrate — Calibra el sensor inercial del cerebro.

  • reset_heading — Restablece el rumbo actual del Cerebro a 0 grados.

  • reset_rotation — Restablece la rotación actual del cerebro a 0 grados.

  • set_heading — Establece el encabezado actual del Cerebro a un nuevo valor de encabezado.

  • set_rotation — Establece la rotación actual del Cerebro a un nuevo valor de rotación.

Movimiento: Devuelve cómo se mueve el cerebro.

  • get_acceleration — Devuelve la rapidez con la que el Cerebro acelera o desacelera en el eje seleccionado.

Orientación#

get_heading#

Un rumbo es la dirección hacia la que apunta el Cerebro, medida en grados de 0 a 359. get_heading devuelve el rumbo actual del Cerebro.

El rumbo inicial es de 0 grados. Si el cerebro gira más allá de los 359 grados, el rumbo vuelve a 0 grados.

Uso:
inertial.get_heading()

Parámetros

Descripción

Este método no tiene parámetros.

get_rotation#

La rotación indica cuánto ha girado el Cerebro, medida en grados. A diferencia de la dirección, la rotación puede superar los 359 grados o disminuir por debajo de 0 grados. Al inicio de un proyecto, el valor de rotación se establece en 0 grados. El comando get_rotation devuelve la rotación actual del Cerebro.

Girar a la derecha aumenta la rotación, y girar a la izquierda la disminuye. Por ejemplo, dos giros completos a la derecha producen una rotación de 720 grados. Un giro completo a la izquierda desde 0 grados produce una rotación de -360 grados.

Uso:
inertial.get_rotation()

Parámetros

Descripción

Este método no tiene parámetros.

get_yaw#

El guiñada indica cuánto ha girado el Cerebro hacia la izquierda o hacia la derecha desde su posición inicial, medido en grados. get_yaw devuelve el valor actual de guiñada del Cerebro.

Girar a la derecha aumenta el valor de guiñada, y girar a la izquierda lo disminuye. La guiñada es útil para comprobar los giros a izquierda y derecha sin utilizar el valor de rumbo envuelto.

Uso:
inertial.get_yaw()

Parámetros

Descripción

Este método no tiene parámetros.

get_roll#

El balanceo indica cuánto se inclina el cerebro hacia la izquierda o hacia la derecha, medido en grados. get_roll devuelve el valor de balanceo actual del cerebro.

Con el cerebro mirando hacia adelante, inclinarlo hacia la izquierda aumenta el valor de balanceo, e inclinarlo hacia la derecha lo disminuye.

Uso:
inertial.get_roll()

Parámetros

Descripción

Este método no tiene parámetros.

get_pitch#

El pitch es cuánto se inclina el Brain hacia adelante o hacia atrás, medido en grados. get_pitch devuelve el valor de pitch actual del Brain.

Con el cerebro orientado hacia adelante, inclinarlo hacia adelante aumenta el valor del tono, e inclinarlo hacia atrás lo disminuye.

Uso:
inertial.get_pitch()

Parámetros

Descripción

Este método no tiene parámetros.

calibrate#

calibrate calibra el sensor inercial del cerebro.

La calibración ayuda al sensor inercial a medir los giros correctamente. Mantenga el dispositivo inmóvil durante aproximadamente 2 segundos durante la calibración. Si el dispositivo se mueve durante la calibración, es posible que los valores de rumbo, rotación, guiñada, alabeo y cabeceo no se midan correctamente.

El proyecto esperará a que finalice la calibración antes de ejecutar la siguiente línea de código.

Uso:
inertial.calibrate()

Parámetros

Descripción

Este método no tiene parámetros.

reset_heading#

Un rumbo es la dirección hacia la que apunta el Cerebro, medida en grados. reset_heading restablece el rumbo actual del Cerebro a 0 grados.

Una vez utilizado este método, la dirección actual del cerebro se convierte en la nueva dirección de 0 grados.

Uso:
inertial.reset_heading()

Parámetros

Descripción

Este método no tiene parámetros.

reset_rotation#

La rotación es cuánto ha girado el Cerebro, medido en grados. reset_rotation restablece la rotación actual del Cerebro a 0 grados.

Una vez utilizado este método, el cerebro realiza un seguimiento de los giros futuros a partir del nuevo valor de rotación de 0 grados.

Uso:
inertial.reset_rotation()

Parámetros

Descripción

Este método no tiene parámetros.

set_heading#

Un rumbo es la dirección hacia la que apunta el Cerebro, medida en grados de 0 a 359. set_heading cambia el rumbo actual del Cerebro a un nuevo valor de rumbo.

Por ejemplo, si el cerebro ha girado para mirar hacia la derecha, al establecer la orientación a 0 grados, esa posición mirando hacia la derecha se convierte en la nueva dirección de 0 grados. Entonces, el cerebro puede seguir otras orientaciones basándose en esa nueva dirección.

Uso:
inertial.set_heading(heading)

Parámetros

Descripción

heading

El valor del encabezado, en grados, que se establecerá para el Cerebro. Puede ser un número entero entre 0 y 359.

set_rotation#

La rotación indica cuánto ha girado el Cerebro, medida en grados. A diferencia de la dirección, la rotación puede superar los 359 grados o disminuir por debajo de 0 grados. Al inicio de un proyecto, el valor de rotación se establece en 0 grados. El comando set_rotation cambia la rotación actual del Cerebro a un nuevo valor.

Por ejemplo, si el cerebro ha dado dos vueltas completas a la derecha, su valor de rotación será de 720 grados. Si se establece la rotación en 0 grados, esta volverá a su valor original. A partir de ahí, el cerebro podrá realizar el seguimiento de las rotaciones basándose en ese nuevo valor.

Usage:
inertial.set_rotation(rotation)

Parámetros

Descripción

rotation

El valor de rotación, en grados, que se configurará para el Cerebro. Puede ser un número entero.

Movimiento#

get_acceleration#

La aceleración es la rapidez con la que el cerebro acelera o desacelera. get_acceleration devuelve la aceleración del cerebro en el eje seleccionado, de -4,0 G a 4,0 G.

G es una unidad que se utiliza para medir la aceleración. 1 G es aproximadamente la aceleración que sientes debido a la gravedad cuando estás sentado en reposo.

El valor puede ser positivo o negativo dependiendo de la dirección de la aceleración en el eje seleccionado. Las opciones de eje son X, Yy Z.

Uso:
inertial.get_acceleration(axis)

Parámetros

Descripción

axis

El eje para medir la aceleración es: X, Y, o Z.

# Build Used: Super Code Base 2.0
def main():
    # Display the acceleration after moving.
    drivetrain.set_drive_velocity(100)
    console.print("Resting: ")
    console.print(inertial.get_acceleration(X), precision=2)
    console.new_line()
    wait(1, SECONDS)
    drivetrain.drive_for(FORWARD, 500, MM, wait=False)
    wait(0.20, SECONDS)
    console.print("Startup: ")
    console.print(inertial.get_acceleration(X), precision=2)

# Start threads — Do not delete
start_thread(main)