Inercial#

Introdução#

O robô VEX 123 possui um sensor inercial integrado. Este sensor consegue medir como o robô se está a mover.

O sensor inercial utiliza um acelerómetro para medir alterações no movimento, como aceleração, desaceleração ou paragem repentina durante uma colisão.

Segue-se uma lista de todos os métodos inerciais:

Getters — Devolvem a direção em que o robô se está a mover.

  • is_crashed — Retorna se o robô detetou uma colisão.

  • get_acceleration — Retorna a rapidez com que o robô está a acelerar ou a desacelerar no eixo selecionado.

Getters#

is_crashed#

is_crashed devolve um Boolean que informa se o robô detetou uma colisão — uma paragem súbita ou impacto.

  • True — O robô detetou uma colisão.

  • False — O robô não detetou qualquer colisão.

Usage:
robot.is_crashed()

Parâmetros

Descrição

Este método não tem parâmetros.

# Back up after a crash.
robot.drive(FORWARD)
while not robot.is_crashed():
    wait(0.05, SECONDS)
robot.drive_for(REVERSE, 200, MM)

get_acceleration#

A aceleração indica a rapidez com que o robô está a acelerar ou a desacelerar. get_acceleration devolve a aceleração do robô no eixo seleccionado, de -4,0 G a 4,0 G.

G é uma unidade utilizada para medir a aceleração. 1 G é aproximadamente a aceleração que sente da gravidade enquanto está parado.

O valor pode ser positivo ou negativo, dependendo do sentido da aceleração no eixo selecionado. As opções de eixo são X, Ye Z.

Usage:
robot.inertial.get_acceleration(axis)

Parâmetros

Descrição

axis

O eixo para medir a aceleração é: X, Y, ou Z.

# Display the acceleration on the X axis
while True:
    console.clear()
    console.print(robot.inertial.get_acceleration(X), precision=2)
    wait(0.1, SECONDS)