Inercial#
Introducción#
El robot de codificación VEX AIM tiene un sensor inercial incorporado. Este sensor mide cómo se mueve y gira el robot.
El sensor inercial utiliza dos partes para hacer esto. El giroscopio mide el giro, como el rumbo, la rotación, la velocidad de giro y la orientación del robot. El acelerómetro mide los cambios en el movimiento, como acelerar, desacelerar o detenerse repentinamente durante un choque.
Los bloques inerciales se pueden utilizar para realizar un seguimiento de los giros, medir la aceleración, detectar accidentes y restablecer el rumbo o los valores de rotación.
A continuación se muestra una lista de todos los bloques:
Valores: informe de orientación y datos de movimiento.
heading — Informa de la dirección en la que se encuentra el robot, de 0 a 359,99 grados.
rotation: informa hasta dónde ha girado el robot.
aceleración: informa de la rapidez con la que el robot está acelerando o desacelerando en el eje seleccionado.
get turn rate: informa de la rapidez con la que el robot gira sobre el eje seleccionado.
orientation: informa del ángulo de balanceo, cabeceo o guiñada del robot.
Acciones: responda a bloqueos o restablezca los valores de giro.
cuando se bloquea: ejecuta los bloques adjuntos cuando el robot detecta un impacto repentino.
establecer sensibilidad a los choques: ajusta la sensibilidad de la detección de choques a los impactos.
restablecer rumbo — Restablece el valor de rumbo del robot a 0 grados.
restablecer rotación — Restablece el valor de rotación del robot a 0 grados.
Valores#
encabezado#
El rumbo es la dirección hacia la que apunta el robot, medida en grados de 0 a 359,99. El bloque de informe heading informa del rumbo actual del robot.
El rumbo inicial es 0 grados. Si el robot gira más de 359,99 grados, el rumbo vuelve a 0 grados.
rumbo en grados
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplos
cuando inicie
[Turn right until the heading reaches 90 degrees.]
girar [derecha v]
esperar [0.05] segundos
esperar hasta <(rumbo en grados) [math_greater_than v] [90]>
detener todo movimiento
cuando inicie
[Display the robot's heading as it is rotated by hand.]
por siempre
limpiar fila [1] en pantalla
mover cursor a fila [1] columna [1] en pantalla
imprimir (rumbo en grados) en pantalla ▶
esperar [0.05] segundos
rotación#
La rotación es cuánto ha girado el robot, medida en grados. A diferencia del rumbo, la rotación puede aumentar más de 359,99 grados o disminuir por debajo de 0 grados. Al comienzo de un proyecto, el valor de rotación se establece en 0 grados. El bloque indicador * * rotación * * informa de la rotación actual del robot.
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 informará una rotación de 720 grados. Girar una vuelta completa a la izquierda desde 0 grados informará una rotación de -360 grados.
(rotación en grados)
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando inicie
[Print the rotation value as the robot turns.]
girar [derecha v] por [480] grados ◀ y no esperar
por siempre
limpiar pantalla
mover cursor a fila [1] columna [1] en pantalla
imprimir (rotación en grados) en pantalla ▶
aceleración#
La aceleración es la rapidez con la que el robot acelera o ralentiza. El bloque indicador * * aceleración * * informa de la aceleración del robot a lo largo del eje seleccionado, de -4,00 G a 4,00 G.
Una G es una unidad que se utiliza 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. En AIM, las opciones del eje se nombran para las direcciones en el robot: hacia adelante, hacia la derecha y hacia abajo.
(aceleración del eje [adelante v] en g :: custom-controller-inertial-timer)
Parámetros |
Descripción |
|---|---|
eje |
El eje para medir la aceleración:
|

Ejemplo
cuando inicie
[Show the change in acceleration as the robot begins to move.]
mover cursor a fila [4] columna [1] en pantalla
imprimir (unir [Resting: ] (aceleración del eje [hacia la derecha v] en g :: custom-controller-inertial-timer)) en pantalla ▶
mover cursor a la siguiente fila en pantalla
esperar [0.5] segundos
mover [derecha v] por [50] [mm v] ◀ y no esperar
esperar [0.1] segundos
imprimir (unir [Startup: ] (aceleración del eje [hacia la derecha v] en g :: custom-controller-inertial-timer)) en pantalla ▶
obtener velocidad de giro#
La velocidad de giro es la velocidad a la que gira el robot. El bloque indicador get turn rate informa de la velocidad de rotación actual del robot a lo largo del eje seleccionado en grados por segundo \(dps\), como un número entero.
El valor puede ser positivo o negativo dependiendo de la dirección en la que gire el robot sobre ese eje. La siguiente imagen usa flechas para mostrar la dirección de rotación positiva para balanceo, cabeceo y guiñada.

(obtener tasa de giro del eje [guiñada v] en dps)
Parámetros |
Descripción |
|---|---|
eje |
Ejes para informar la velocidad de giro:
|
Ejemplo
cuando inicie
[Observe the yaw turn rate as the robot turns.]
girar [derecha v] por [180] grados ◀ y no esperar
por siempre
limpiar pantalla
mover cursor a fila [1] columna [1] en pantalla
imprimir (obtener tasa de giro del eje [guiñada v] en dps) en pantalla ▶
orientación#
La orientación es el ángulo actual del robot en un eje de giro seleccionado. El bloque de informe de orientación informa el balanceo, cabeceo o guiñada del robot, desde -180,00 hasta 180,00 grados, como un número decimal.
El balanceo, cabeceo y guiñada describen diferentes formas en que el robot puede inclinarse o girar. La siguiente imagen usa flechas para mostrar la dirección de rotación positiva para balanceo, cabeceo y guiñada.

orientación de [guiñada v] en grados
Parámetros |
Descripción |
|---|---|
eje |
Eje de orientación a informar:
|
Ejemplo
cuando inicie
[Display the robot's orientation as it is rotated by hand.]
por siempre
limpiar fila [1] en pantalla
mover cursor a fila [1] columna [1] en pantalla
imprimir (orientación de [balanceo v] en grados) en pantalla ▶
esperar [0.05] segundos
Acciones#
cuando se estrelló#
El bloque de detección de colisiones cuando se produce un choque ejecuta la pila adjunta cuando el robot detecta un impacto o colisión repentina. La detección de colisiones utiliza el acelerómetro y la sensibilidad actual a las colisiones.
cuando choque
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando inicie
[Start moving forward.]
establecer velocidad de movimiento a [100]%
mover [adelante v]
cuando choque
[Respond when a crash is detected.]
detener todo movimiento
reproducir sonido [choque v] ▶
configurar sensibilidad al choque#
El bloque de apilamiento * * establecer sensibilidad al choque * * ajusta cuánta aceleración repentina se necesita para que el robot detecte un choque.
establecer sensibilidad de choque a [bajo v]
Parámetros |
Descripción |
|---|---|
sensibilidad |
Qué tan sensible es el robot al detectar choques:
|
Ejemplo
cuando inicie
[Move slowly with high crash sensitivity.]
establecer velocidad de movimiento a [35]%
establecer sensibilidad de choque a [alto v]
mover [adelante v]
cuando choque
[Respond when a crash is detected.]
detener todo movimiento
reproducir sonido [choque v] ▶
restablecer encabezado#
El bloque restablecer rumbo restablece el rumbo actual del robot a 0 grados. Una vez ejecutado este bloque, la dirección en la que apunta el robot se convierte en el nuevo rumbo de 0 grados.
restablecer rumbo
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando inicie
[Face left before turning around.]
girar al rumbo [270] grados ▶
restablecer rumbo
esperar [1] segundos
girar al rumbo [180] grados ▶
restablecer rotación#
El bloque de pila * * restablecer rotación * * restablece el valor de rotación actual del robot a 0 grados. Después de que se ejecute este bloque, el robot realiza un seguimiento de los giros futuros desde el nuevo valor de rotación de 0 grados.
restablecer rotación
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando inicie
[Turn for 480 degrees before resetting rotation.]
girar [derecha v] por [480] grados ▶
restablecer rotación
por siempre
limpiar pantalla
mover cursor a fila [1] columna [1] en pantalla
imprimir (rotación en grados) en pantalla ▶