Гиро#

Введение#

Гироскопический датчик — это датчик движения, который обнаруживает вращение вокруг одной оси. Он может измерять угол поворота робота, позволяя отслеживать его ориентацию и направление движения.

На этой странице в качестве примера имени гироскопического датчика используется drivetrain_gyro При необходимости замените его на собственное имя.

Ниже приведён список всех доступных методов:

Действия — Откалибруйте или отрегулируйте направление и вращение гироскопического датчика.

  • calibrate — Калибрует гироскопический датчик для стабильного отслеживания курса.

  • set_heading — Устанавливает направление гироскопического датчика на заданное значение.

  • set_rotation — Устанавливает значение вращения гироскопического датчика.

  • reset_heading — Устанавливает направление гироскопического датчика на 0.

  • reset_rotation — Устанавливает угол поворота гироскопического датчика на 0.

Геттеры — считывают данные о направлении движения, вращении и состоянии гироскопического датчика.

  • heading — Возвращает текущий заголовок.

  • rotation — Возвращает суммарное вращение.

  • rate — Возвращает угловую скорость вокруг оси x, y или z.

  • is_calibrating — Возвращает значение, указывающее, калибруется ли гироскопический датчик.

  • installed — Возвращает значение, указывающее, подключен ли гироскопический датчик к мозгу.

Обратный вызов — выполнение кода при обнаружении гироскопическим датчиком движения или изменения.

  • changed — Регистрирует функцию, которая будет вызываться, когда гироскопический датчик обнаружит изменение.

Конструкторы — Вручную инициализируют и настраивают гироскопический датчик.

  • Gyro — Создает гироскопический датчик.

Действия#

calibrate#

calibrate калибрует гироскопический датчик. Все последующие строки будут ожидать завершения калибровки перед выполнением. Калибровка — это внутренняя процедура, которая измеряет и компенсирует шум и дрейф датчика в течение заданного периода времени. В течение этого времени гироскопический датчик должен оставаться совершенно неподвижным (т. е. на устойчивой поверхности без каких-либо внешних движений). Движение во время калибровки приведет к неточным результатам.

Usage:
calibrate()

Параметр

Описание

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

# Start Gyro Sensor calibration
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
    wait(0.1, SECONDS)
brain.screen.print("Done!")

set_heading#

set_heading устанавливает направление гироскопического датчика на определенное значение.

Usage:
set_heading(value, units)

Параметры

Описание

ценить

Значение заголовка для установки.

единицы

Необязательно. Единица измерения нового заголовка:

  • DEGREES (по умолчанию)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)

set_rotation#

set_rotation устанавливает угол поворота гироскопического датчика на определенное значение.

Usage:
set_rotation(value, units)

Параметры

Описание

value

Значение заголовка для установки.

units

Необязательно. Единица измерения нового значения поворота:

  • DEGREES (по умолчанию)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)

reset_heading#

reset_heading сбрасывает курс гироскопического датчика до 0.

Usage:
reset_heading()

Параметры

Описание

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

# Turn the robot before and after resetting the heading
drivetrain.turn_to_heading(90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_heading()
drivetrain.turn_to_heading(90, DEGREES)

reset_rotation#

reset_rotation сбрасывает вращение гироскопического датчика до 0.

Usage:
reset_rotation()

Параметры

Описание

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

# Turn the robot before and after resetting the rotation
drivetrain.turn_to_rotation(-90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_rotation()
drivetrain.turn_to_rotation(-90, DEGREES)

Геттеры#

heading#

Параметр heading возвращает текущее направление гироскопического датчика.

Usage:
heading(units)

Параметры

Описание

units

Необязательно. Единица измерения заголовка:

  • DEGREES (по умолчанию)
  • TURNS
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())

rotation#

rotation возвращает текущее вращение гироскопического датчика.

Usage:
rotation(units)

Параметры

Описание

units

Необязательно. Единица измерения вращения:

  • DEGREES (по умолчанию)
  • TURNS
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())

rate#

Параметр rate возвращает текущую скорость изменения вращения гироскопического датчика в заданных единицах.

Usage:
rate(units)

Параметры

Описание

units

Необязательно. Единица измерения частоты вращения гироскопа:

  • DPS (по умолчанию)
  • RPM
  • PERCENT
# Display the rate of change of 
# rotation while turning
drivetrain.turn(RIGHT)
wait(1, SECONDS)
brain.screen.print(drivetrain_gyro.rate())
drivetrain.stop()

is_calibrating#

is_calibrating проверяет, выполняется ли в данный момент калибровка гироскопического датчика.

  • True — Гироскопический датчик калибруется.

  • False — Гироскопический датчик не калибруется.

Usage:
is_calibrating()

Параметр

Описание

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

# Start Gyro Sensor calibration.
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
    wait(0.1, SECONDS)
brain.screen.print("Done!")

installed#

installed возвращает логическое значение, указывающее, подключен ли гироскопический датчик к головному устройству.

  • True — Гироскопический датчик подключен к мозгу.

  • False — Гироскопический датчик не подключен к головному мозгу.

Usage:
installed()

Параметры

Описание

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

# Display a message if the Gyro Sensor is
# installed.
if drivetrain_gyro.installed():
    brain.screen.print("Installed!")

Перезвонить#

changed#

changed регистрирует функцию обратного вызова при изменении курса гироскопического датчика.

Usage:
changed(callback, arg)

Параметры

Описание

callback

Функция обратного вызова, которая будет вызываться при изменении курса, заданного гироскопическим датчиком.

arg

Необязательный параметр. Кортеж аргументов для передачи в функцию обратного вызова.

def gyro_changed():
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Heading: ")
    brain.screen.print(drivetrain_gyro.heading()) 
# Display the heading when the gyro detects a change
drivetrain.turn_for(RIGHT, 90, DEGREES, wait=False)
drivetrain_gyro.changed(gyro_changed)

Строители#

Конструкторы используются для ручного создания объектов Gyro , которые необходимы для настройки гироскопического датчика вне VEXcode.

Gyro#

Gyro создает гироскопический датчик.

Usage:
Gyro(smartport)

Параметр

Описание

smartport

Интеллектуальный порт, к которому подключен гироскопический датчик, обозначается как PORTx, где x — номер порта.

# Create the Brain
brain = Brain()
# When constructing Gyro Sensor "drivetrain_gyro" with a 
# SmartDrive "drivetrain"
drivetrain_gyro = Gyro(Ports.PORT1)
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, drivetrain_gyro, 200)

drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)