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