Инерционный#

Введение#

Робот VEX 123 оснащен встроенным инерциальным датчиком. Этот датчик измеряет траекторию движения робота.

Инерциальный датчик использует акселерометр для измерения изменений в движении, таких как ускорение, замедление или внезапная остановка во время столкновения.

Ниже приведён список всех инерциальных методов:

Геттеры — возвращают значение, соответствующее движению робота.

  • is_crashed — Возвращает значение, указывающее, обнаружил ли робот столкновение.

  • get_acceleration — Возвращает, насколько быстро робот ускоряется или замедляется по выбранной оси.

Геттеры#

is_crashed#

is_crashed возвращает Boolean, который сообщает, обнаружил ли робот столкновение — внезапную остановку или удар.

  • True — Робот обнаружил столкновение.

  • False — Робот не обнаружил столкновения.

Usage:
robot.is_crashed()

Параметры

Описание

Этот метод не имеет параметров.

# 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#

Ускорение показывает, насколько быстро робот ускоряется или замедляется. Функция get_acceleration возвращает ускорение робота по выбранной оси в диапазоне от -4,0 G до 4,0 G.

G — это единица измерения ускорения. 1 G — это примерно то ускорение, которое вы ощущаете под действием силы тяжести, сидя неподвижно.

Значение может быть положительным или отрицательным в зависимости от направления ускорения по выбранной оси. Варианты осей: X, Yи Z.

Usage:
robot.inertial.get_acceleration(axis)

Параметры

Описание

axis

Ось для измерения ускорения: X, Yили 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)