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

Введение#

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

Инерциальный датчик использует для этого две части. Гироскоп измеряет повороты, например, в каком направлении повернуто «мозг» и насколько он повернулся. Акселерометр измеряет изменения движения, такие как ускорение, замедление или внезапная остановка во время столкновения.

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

Существует множество способов запрограммировать инерциальный датчик. Ниже приведён список всех методов программирования инерциального датчика:

Ориентация — Вернитесь и установите положение, поворот или наклон мозга.

  • get_heading — Возвращает направление, в котором смотрит мозг, от 0 до 359 градусов.

  • get_rotation — Возвращает, насколько повернулся мозг.

  • get_yaw — Возвращает, насколько мозг повернулся влево или вправо от своего исходного положения.

  • get_roll — Возвращает, насколько наклонен мозг влево или вправо.

  • get_pitch — Возвращает, насколько наклонен мозг вперед или назад.

  • calibrate — Калибрует инерциальный датчик мозга.

  • reset_heading — Сбрасывает текущее направление движения мозга до 0 градусов.

  • reset_rotation — Сбрасывает текущее вращение мозга до 0 градусов.

  • set_heading — Устанавливает текущий заголовок в мозге на новое значение заголовка.

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

Движение — Воспроизведите движение мозга.

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

Ориентация#

get_heading#

Направление — это то, в каком направлении смотрит мозг, измеряемое в градусах от 0 до 359. get_heading возвращает текущее направление движения мозга.

Начальный курс равен 0 градусам. Если «Мозг» повернет более чем на 359 градусов, курс вернется к 0 градусам.

Usage:
inertial.get_heading()

Параметры

Описание

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

get_rotation#

Вращение — это угол поворота мозга, измеряемый в градусах. В отличие от направления, вращение может превышать 359 градусов или уменьшаться ниже 0 градусов. В начале проекта значение вращения устанавливается равным 0 градусам. get_rotation` возвращает текущее вращение мозга.

Поворот вправо увеличивает угол поворота, а поворот влево уменьшает его. Например, два полных оборота вправо вернут 720 градусов. Один полный оборот влево от 0 градусов вернет -360 градусов.

Usage:
inertial.get_rotation()

Параметры

Описание

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

get_yaw#

Угол рыскания (yaw) — это угол поворота мозга влево или вправо от исходного положения, измеряемый в градусах. get_yaw возвращает текущее значение угла рыскания мозга.

Поворот направо увеличивает значение рыскания, а поворот налево уменьшает значение рыскания. Значение рыскания полезно для проверки поворотов влево и вправо без использования значения курса, записанного в обертке.

Usage:
inertial.get_yaw()

Параметры

Описание

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

get_roll#

Крен — это угол наклона мозга влево или вправо, измеряемый в градусах. get_roll возвращает текущее значение крена мозга.

При взгляде на мозг вперед наклон влево увеличивает значение крена, а наклон вправо уменьшает значение крена.

Usage:
inertial.get_roll()

Параметры

Описание

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

get_pitch#

Угол наклона (pitch) — это величина наклона мозга вперед или назад, измеряемая в градусах. get_pitch возвращает текущее значение угла наклона мозга.

При наклоне головного мозга вперед, наклон вперед увеличивает высоту тона, а наклон назад уменьшает высоту тона.

Usage:
inertial.get_pitch()

Параметры

Описание

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

calibrate#

calibrate калибрует инерциальный датчик мозга.

Калибровка помогает инерциальному датчику правильно измерять повороты. Во время калибровки держите устройство Brain неподвижно около 2 секунд. Если устройство Brain будет двигаться во время калибровки, значения курса, вращения, рыскания, крена и тангажа могут измеряться некорректно.

Проект будет ждать завершения калибровки, прежде чем запустится следующая строка кода.

Usage:
inertial.calibrate()

Параметры

Описание

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

reset_heading#

Направление — это то, в каком направлении смотрит мозг, измеряемое в градусах. reset_heading сбрасывает текущее направление мозга до 0 градусов.

После применения этого метода текущее направление движения мозга становится новым направлением в 0 градусов.

Usage:
inertial.reset_heading()

Параметры

Описание

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

reset_rotation#

Вращение — это угол поворота мозга, измеряемый в градусах. reset_rotation сбрасывает текущее вращение мозга до 0 градусов.

После применения этого метода мозг отслеживает будущие повороты, начиная с нового значения поворота в 0 градусов.

Usage:
inertial.reset_rotation()

Параметры

Описание

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

set_heading#

Направление — это то, в каком направлении смотрит мозг, измеряемое в градусах от 0 до 359. Параметр set_heading изменяет текущее направление движения мозга на новое значение.

Например, если мозг повернулся вправо, установка направления на 0 градусов делает это положение, обращенное вправо, новым 0 градусами. Затем мозг может отслеживать другие направления, основываясь на этом новом направлении.

Usage:
inertial.set_heading(heading)

Параметры

Описание

heading

Значение угла наклона в градусах, которое необходимо задать для работы мозга. Это может быть целое число от 0 до 359.

set_rotation#

Вращение — это угол поворота мозга, измеряемый в градусах. В отличие от направления, вращение может превышать 359 градусов или уменьшаться ниже 0 градусов. В начале проекта значение вращения устанавливается на 0 градусов. Параметр set_rotation изменяет текущее значение вращения мозга на новое значение.

Например, если мозг совершил два полных оборота вправо, значение его вращения составит 720 градусов. Установка вращения на 0 градусов сбросит это значение с 720 до 0 градусов. После этого мозг сможет отслеживать вращения на основе этого нового значения.

Usage:
inertial.set_rotation(rotation)

Параметры

Описание

rotation

Значение поворота в градусах, которое необходимо задать для работы «Мозга». Это может быть целое число.

Движение#

get_acceleration#

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

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

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

Usage:
inertial.get_acceleration(axis)

Параметры

Описание

axis

Ось для измерения ускорения: X, Yили Z.

# Build Used: Super Code Base 2.0
def main():
    # Display the acceleration after moving.
    drivetrain.set_drive_velocity(100)
    console.print("Resting: ")
    console.print(inertial.get_acceleration(X), precision=2)
    console.new_line()
    wait(1, SECONDS)
    drivetrain.drive_for(FORWARD, 500, MM, wait=False)
    wait(0.20, SECONDS)
    console.print("Startup: ")
    console.print(inertial.get_acceleration(X), precision=2)

# Start threads — Do not delete
start_thread(main)