Inercial#

Introducción#

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

El sensor inercial utiliza dos partes para hacer esto. El giroscopio mide el giro, como en qué dirección mira el cerebro y hasta dónde ha girado. El acelerómetro mide los cambios en el movimiento, como acelerar, disminuir la velocidad o detenerse repentinamente durante un choque.

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

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

Orientación: regrese y configure cómo se enfrenta, gira o inclina el cerebro.

  • get_heading — Devuelve la dirección en la que se encuentra el cerebro, de 0 a 359 grados.

  • get_rotation — Devuelve hasta dónde 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 en un nuevo valor de encabezado.

  • set_rotation — Establece la rotación actual del cerebro en un nuevo valor de rotación.

Movimiento: devuelve cómo se mueve el cerebro.

  • get_acceleration — Devuelve la rapidez con la que el cerebro se acelera o ralentiza en el eje seleccionado.

Orientación#

get_heading#

Un rumbo es la dirección a la que se enfrenta el cerebro, medida en grados de 0 a 359. get_heading devuelve el rumbo actual del cerebro.

El rumbo inicial es 0 grados. Si el Cerebro gira más de 359 grados, el encabezado vuelve a 0 grados.

Uso:
inertial.get_heading()

Parámetros

Descripción

Este método no tiene parámetros.

get_rotation#

La rotación es cuánto ha girado el cerebro, medida en grados. A diferencia del rumbo, la rotación puede aumentar más de 359 grados o disminuir por debajo de 0 grados. Al comienzo de un proyecto, el valor de rotación se establece en 0 grados. get_rotation devuelve la rotación actual del cerebro.

Girar a la derecha aumenta la rotación y girar a la izquierda disminuye la rotación. Por ejemplo, hacer dos giros completos a la derecha devolverá una rotación de 720 grados. Girar una vuelta completa a la izquierda desde 0 grados devolverá una rotación de -360 grados.

Uso:
inertial.get_rotation()

Parámetros

Descripción

Este método no tiene parámetros.

get_yaw#

La guiñada es cuánto ha girado el cerebro hacia la izquierda o hacia la derecha desde su posición inicial, medida en grados. get_yaw devuelve el valor de guiñada actual del cerebro.

Girar a la derecha aumenta el valor de guiñada, y girar a la izquierda disminuye el valor de guiñada. El guiñada es útil para verificar el giro hacia la izquierda y hacia la derecha sin usar el valor de encabezado envuelto.

Uso:
inertial.get_yaw()

Parámetros

Descripción

Este método no tiene parámetros.

get_roll#

La tirada es cuánto se inclina el cerebro hacia la izquierda o la derecha, medida en grados. get_roll devuelve el valor de tirada actual del cerebro.

Con el cerebro mirando hacia adelante, la inclinación hacia la izquierda aumenta el valor del balanceo y la inclinación hacia la derecha disminuye el valor del balanceo.

Uso:
inertial.get_roll()

Parámetros

Descripción

Este método no tiene parámetros.

get_pitch#

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

Con el cerebro mirando hacia adelante, la inclinación hacia adelante aumenta el valor de tono, y la inclinación hacia atrás disminuye el valor de tono.

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 a que el sensor inercial mida los giros correctamente. Mantenga el cerebro quieto durante unos 2 segundos durante la calibración. Si el cerebro se mueve durante la calibración, es posible que los valores de rumbo, rotación, guiñada, balanceo y cabeceo no se midan correctamente.

El proyecto esperará hasta que se realice la calibración antes de que se ejecute 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 se enfrenta el cerebro, medida en grados. reset_heading restablece el rumbo actual del cerebro a 0 grados.

Después de utilizar este método, la dirección actual del cerebro se convierte en el nuevo rumbo 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, medida en grados. reset_rotation restablece la rotación actual del cerebro a 0 grados.

Después de usar este método, el cerebro rastrea los giros futuros desde el 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 a la que se enfrenta 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 hacia la derecha, establecer el rumbo en 0 grados hace que esa posición orientada hacia la derecha sea los nuevos 0 grados. Entonces el Cerebro puede rastrear otros encabezados basados en esa nueva dirección.

Uso:
inertial.set_heading(heading)

Parámetros

Descripción

heading

El valor de rumbo, en grados, a establecer para el cerebro. Este puede ser un número entero del 0 al 359.

set_rotation#

La rotación es cuánto ha girado el cerebro, medida en grados. A diferencia del rumbo, la rotación puede aumentar más de 359 grados o disminuir por debajo de 0 grados. Al comienzo de un proyecto, el valor de rotación se establece en 0 grados. set_rotation cambia la rotación actual del cerebro a un nuevo valor.

Por ejemplo, si el cerebro ha hecho dos giros completos a la derecha, su valor de rotación será de 720 grados. Ajustar la rotación a 0 grados restablecerá esa rotación de 720 a 0 grados. Entonces, el cerebro puede realizar un seguimiento de las rotaciones en función de ese nuevo valor.

Usage:
inertial.set_rotation(rotation)

Parámetros

Descripción

rotation

El valor de rotación, en grados, a establecer para el cerebro. Esto puede ser un número entero.

Movimiento#

get_acceleration#

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

Una G es una unidad utilizada para medir la aceleración. 1 G se refiere a la aceleración que sientes por la gravedad mientras estás sentado quieto.

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

Uso:
inertial.get_acceleration(axis)

Parámetros

Descripción

axis

El eje para medir la aceleración en: 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)