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

Введение#

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

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

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

Ниже приведён список всех блоков:

Ценности — Сообщайте данные об ориентации и движении.

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

  • вращение — Сообщает, насколько повернулся робот.

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

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

  • ориентация — Сообщает угол крена, тангажа или рыскания робота.

Действия — Реагировать на аварии или сбрасывать значения поворотов.

Ценности#

заголовок#

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

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

Блок заголовка репортера.#
курс в градусах

Параметры

Описание

Этот блок не имеет параметров.

Примеры

при запуске
[Turn right until the heading reaches 90 degrees.]
поворот [вправо v]
ждать [0.05] секунд
ждать пока <(курс в градусах) [math_greater_than v] [90]>
остановить все движения

при запуске
[Display the robot's heading as it is rotated by hand.]
вечно
очистить строку [1] на экране
установить курсор на строку [1] столбец [1] на экране
вывести (курс в градусах) на экран ▶
ждать [0.05] секунд

вращение#

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

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

Блок «Репортер вращения».#
(вращение в градусах)

Параметры

Описание

Этот блок не имеет параметров.

Пример

при запуске
[Print the rotation value as the robot turns.]
поворот [вправо v] на [480] градусов ◀ и не ждать
вечно
очистить экран
установить курсор на строку [1] столбец [1] на экране
вывести (вращение в градусах) на экран ▶

ускорение#

Ускорение — это скорость, с которой робот ускоряется или замедляется. Блок отчёта об ускорении отображает ускорение робота вдоль выбранной оси в диапазоне от -4,00 G до 4,00 G.

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

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

Блок репортера ускорения.#
(ускорение по оси [вперёд v] в g :: custom-controller-inertial-timer)

Параметры

Описание

ось

Ось измерения ускорения:

  • вперед
  • вправо
  • вниз

На изображении показано устройство VEX с тремя цветными стрелками, указывающими направление. Красная стрелка с надписью «ВПРАВО» направлена ​​по диагонали вверх влево, зеленая стрелка с надписью «ВПЕРЕД» направлена ​​по диагонали вверх вправо, а синяя стрелка с надписью «ВНИЗ» направлена ​​прямо вниз от центра.

Пример

при запуске
[Show the change in acceleration as the robot begins to move.]
установить курсор на строку [4] столбец [1] на экране
вывести (объединить [Resting: ] (ускорение по оси [вправо v] в g :: custom-controller-inertial-timer)) на экран ▶
перенести курсор на следующую строку на экране
ждать [0.5] секунд
движение [вправо v] на [50] [мм v] ◀ и не ждать
ждать [0.1] секунд
вывести (объединить [Startup: ] (ускорение по оси [вправо v] в g :: custom-controller-inertial-timer)) на экран ▶

получить скорость поворота#

Скорость поворота — это скорость вращения робота. Блок получить скорость поворота сообщает текущую скорость вращения робота вдоль выбранной оси в градусах в секунду (градусов в секунду) в виде целого числа.

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

На рисунке показано устройство VEX с тремя цветными стрелками, указывающими на его оси вращения. Красная стрелка с надписью «Танг» направлена ​​по диагонали вверх влево, зеленая стрелка с надписью «Крен» направлена ​​по диагонали вверх вправо, а синяя стрелка с надписью «Рыскание» направлена ​​прямо вниз от центра.

Блок репортажа «Получить коэффициент поворота».#
(угловая скорость по оси [рыскание v] в dps)

Параметры

Описание

ось

Ось, по которой отображается скорость поворота:

  • крен
  • тангаж
  • рыскание

Пример

при запуске
[Observe the yaw turn rate as the robot turns.]
поворот [вправо v] на [180] градусов ◀ и не ждать
вечно
очистить экран
установить курсор на строку [1] столбец [1] на экране
вывести (угловая скорость по оси [рыскание v] в dps) на экран ▶

ориентация#

Ориентация — это текущий угол наклона робота относительно выбранной оси поворота. Блок отчёта об ориентации передаёт значения крена, тангажа или рыскания робота в диапазоне от -180,00 до 180,00 градусов в виде десятичного числа.

Крен, тангаж и рыскание описывают различные способы наклона или поворота робота. На изображении ниже стрелками показано направление положительного вращения для крена, тангажа и рыскания.

На рисунке показано устройство VEX с тремя цветными стрелками, указывающими на его оси вращения. Красная стрелка с надписью «Танг» направлена ​​по диагонали вверх влево, зеленая стрелка с надписью «Крен» направлена ​​по диагонали вверх вправо, а синяя стрелка с надписью «Рыскание» направлена ​​прямо вниз от центра.

Блок для репортеров, освещающих ознакомительные мероприятия.#
ориентация [рыскание v] в градусах

Параметры

Описание

ось

Ось ориентации для сообщения:

  • крен
  • тангаж
  • рыскание

Пример

при запуске
[Display the robot's orientation as it is rotated by hand.]
вечно
очистить строку [1] на экране
установить курсор на строку [1] столбец [1] на экране
вывести (ориентация [крен v] в градусах) на экран ▶
ждать [0.05] секунд

Действия#

при аварии#

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

Блок с кепкой “Когда разбилась шляпа”.#
при столкновении

Параметры

Описание

Этот блок не имеет параметров.

Пример

при запуске
[Start moving forward.]
установить скорость движения [100]%
движение [вперёд v]

при столкновении
[Respond when a crash is detected.]
остановить все движения
воспроизвести звук [столкновение v] ▶

установить чувствительность при столкновении#

Блок set crash sensitivity регулирует величину резкого ускорения, необходимого роботу для обнаружения столкновения.

Блок установки чувствительности к сбоям.#
установить чувствительность к столкновению [низкий v]

Параметры

Описание

чувствительность

Чувствительность робота к столкновениям:

  • низкая — Обнаруживает только сильные удары.
  • средняя — Обнаруживает умеренные удары.
  • высокая — Обнаруживает слабые удары.

Пример

при запуске
[Move slowly with high crash sensitivity.]
установить скорость движения [35]%
установить чувствительность к столкновению [высокий v]
движение [вперёд v]

при столкновении
[Respond when a crash is detected.]
остановить все движения
воспроизвести звук [столкновение v] ▶

сбросить заголовок#

Блок reset heading сбрасывает текущий курс робота до 0 градусов. После выполнения этого блока направление, в котором сейчас находится робот, становится новым направлением с углом 0 градусов.

Блок стека заголовка «Сброс».#
сбросить курс

Параметры

Описание

Этот блок не имеет параметров.

Пример

при запуске
[Face left before turning around.]
повернуть на курс [270] градусов ▶
сбросить курс
ждать [1] секунд
повернуть на курс [180] градусов ▶

сброс вращения#

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

Блок сброса вращения стека.#
сбросить вращение

Параметры

Описание

Этот блок не имеет параметров.

Пример

при запуске
[Turn for 480 degrees before resetting rotation.]
поворот [вправо v] на [480] градусов ▶
сбросить вращение
вечно
очистить экран
установить курсор на строку [1] столбец [1] на экране
вывести (вращение в градусах) на экран ▶