Инерционный#
Введение#
В роботе-программисте VEX AIM встроен инерциальный датчик. Этот датчик измеряет движение и повороты робота.
Инерциальный датчик использует для этого две части. Гироскоп измеряет повороты, такие как направление движения робота, вращение, скорость поворота и ориентацию. Акселерометр измеряет изменения в движении, такие как ускорение, замедление или внезапная остановка при столкновении.
Инерциальные блоки можно использовать для отслеживания поворотов, измерения ускорения, обнаружения столкновений и сброса значений курса или вращения.
Ниже приведён список всех блоков:
Ценности — Сообщайте данные об ориентации и движении.
заголовок — Сообщает направление, в котором смотрит робот, от 0 до 359,99 градусов.
вращение — Сообщает, насколько повернулся робот.
ускорение — Показывает, как быстро робот ускоряется или замедляется по выбранной оси.
получить скорость поворота — Сообщает, с какой скоростью робот вращается вокруг выбранной оси.
ориентация — Сообщает угол крена, тангажа или рыскания робота.
Действия — Реагировать на аварии или сбрасывать значения поворотов.
при столкновении — Запускает прикрепленные блоки, когда робот обнаруживает внезапное столкновение.
установить чувствительность обнаружения столкновений — Регулирует чувствительность обнаружения столкновений к ударам.
сбросить курс — Сбрасывает значение курса робота до 0 градусов.
сброс вращения — Сбрасывает значение вращения робота до 0 градусов.
Ценности#
заголовок#
Направление движения — это то, в каком направлении смотрит робот, измеряемое в градусах от 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)
Параметры |
Описание |
|---|---|
ось |
Ось измерения ускорения:
|

Пример
при запуске
[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)) на экран ▶
получить скорость поворота#
Скорость поворота — это скорость вращения робота. Блок получить скорость поворота сообщает текущую скорость вращения робота вдоль выбранной оси в градусах в секунду (градусов в секунду) в виде целого числа.
Значение может быть положительным или отрицательным в зависимости от направления вращения робота вокруг данной оси. На изображении ниже стрелками показано направление положительного вращения для крена, тангажа и рыскания.

(угловая скорость по оси [рыскание v] в dps)
Параметры |
Описание |
|---|---|
ось |
Ось, по которой отображается скорость поворота:
|
Пример
при запуске
[Observe the yaw turn rate as the robot turns.]
поворот [вправо v] на [180] градусов ◀ и не ждать
вечно
очистить экран
установить курсор на строку [1] столбец [1] на экране
вывести (угловая скорость по оси [рыскание v] в dps) на экран ▶
ориентация#
Ориентация — это текущий угол наклона робота относительно выбранной оси поворота. Блок отчёта об ориентации передаёт значения крена, тангажа или рыскания робота в диапазоне от -180,00 до 180,00 градусов в виде десятичного числа.
Крен, тангаж и рыскание описывают различные способы наклона или поворота робота. На изображении ниже стрелками показано направление положительного вращения для крена, тангажа и рыскания.

ориентация [рыскание 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] на экране
вывести (вращение в градусах) на экран ▶