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 |
|---|---|
|
O eixo para medir a aceleração é: |
# Display the acceleration on the X axis
while True:
console.clear()
console.print(robot.inertial.get_acceleration(X), precision=2)
wait(0.1, SECONDS)