Трансмиссия#

Введение#

В состав приводной системы входят колеса и двигатели, которые управляют движением и поворотами робота. Приводные системы можно найти в таких моделях, как Code Base 2.0, Super Car или в роботах, созданных по индивидуальному заказу.

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

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

Действия — Перемещение и поворот робота.

  • drive — Двигает робота вперед или назад бесконечно.

  • движение на — Перемещает робота вперед или назад на определенное расстояние.

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

  • поворот — Поворачивает робота влево или вправо навсегда.

  • поворот на — Поворачивает робота влево или вправо на определенное количество градусов.

  • поворот на заданный курс — Поворачивает робота на заданный курс от -359 до 359 градусов. Робот повернется по кратчайшему направлению, чтобы достичь целевого курса.

  • поворот на вращение — Поворачивает робота на определенное вращение.

  • остановить движение — Останавливает движение робота.

Настройки — Регулировка параметров трансмиссии.

Значения — Проверьте статус движения.

Действия#

водить машину#

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

движение [вперёд v]

Параметры

Описание

направление

Направление движения робота: вперед или назад.

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
движение [вперёд v]
ждать (2) секунд
остановить движение

стремление к#

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

движение [вперёд v] на [100] [мм v] ▶

Параметры

Описание

направление

Направление движения робота: вперед или назад.

расстояние

Расстояние, которое проезжает робот. Это может быть целое число или десятичная дробь.

единица

Единица измерения расстояния: мм (миллиметры) или дюймы.

и не ждите

Выберите стрелку ( ▶ ), чтобы развернуть блок, например, и не ждите, чтобы следующий блок в стеке выполнился немедленно.

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Drive back and forth.]
движение [вперёд v] на [100] [мм v] ▶
движение [назад v] на [4] [дюймы v] ▶

ехать до#

Блок движение до перемещения робота вперед или назад до тех пор, пока датчик движения не обнаружит объект или робот не обнаружит столкновение.

движение [вперёд v] до [объект v] ▶

Параметры

Описание

направление

Направление движения робота: вперед или назад.

состояние

Причина остановки робота: столкновение с объектом или авария.

и не ждите

Выберите стрелку ( ▶ ), чтобы развернуть блок, например, и не ждите, чтобы следующий блок в стеке выполнился немедленно.

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Turn right after a crash.]
движение [вперёд v] до [столкновение v] ▶
поворот [вправо v] на (90) градусов ▶

повернуть#

Блок turn бесконечно поворачивает робота влево или вправо. Робот будет продолжать поворачиваться, пока ему не будет дано другое действие, например, движение или остановка.

поворот [вправо v]

Параметры

Описание

направление

Направление поворота робота: влево или вправо.

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Turn right and left, then stop.]
поворот [вправо v]
ждать [2] секунд
поворот [влево v]
ждать [2] секунд
остановить движение

поворот для#

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

поворот [вправо v] на (90) градусов ▶

Параметры

Описание

направление

Направление поворота робота: влево или вправо.

угол

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

и не ждите

Выберите стрелку ( ▶ ), чтобы развернуть блок, например, и не ждите, чтобы следующий блок в стеке выполнился немедленно.

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Turn right then left.]
поворот [вправо v] на (90) градусов ▶
поворот [влево v] на (90) градусов ▶

перейти к заголовку#

Курс — это направление, в котором обращен «мозг» робота, измеряемое в градусах. Блок поворот по курсу поворачивает робота в определенном направлении от -359 до 359 градусов. Робот повернется по кратчайшему пути, чтобы достичь целевого курса.

Начальный курс — 0 градусов.

Кодовая база VEX GO 2.0, показывающая направления движения: 0 градусов вперед, 90 градусов вправо, 180 градусов назад и 270 градусов влево.

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

повернуть на курс [90] градусов ▶

Параметры

Описание

заголовок

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

и не ждите

Выберите стрелку ( ▶ ), чтобы развернуть блок, например, и не ждите, чтобы следующий блок в стеке выполнился немедленно.

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Turn to face the cardinal directions.]
повернуть на курс [90] градусов ▶
ждать [1] секунд
повернуть на курс [180] градусов ▶
ждать [1] секунд
повернуть на курс [270] градусов ▶
ждать [1] секунд
повернуть на курс [0] градусов ▶

поворот к вращению#

Блок turn to rotation поворачивает робота на определённое направление.

Вращение — это угол поворота робота, измеряемый в градусах. В начале проекта значение вращения устанавливается равным 0 градусам. Вращение также можно установить с помощью блока set drive rotation.

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

Например, если робот начинает движение с 0 градусов, а затем вы поворачиваетесь на 720 градусов, он дважды повернется вправо. Если же вы повернетесь на 360 градусов, он один раз повернется влево, потому что 360 меньше 720.

Кодовая база VEX GO 2.0, показывающая стрелки, вращающиеся вправо и влево. Левая стрелка показывает «минус», а правая — «плюс».

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

повернуть к вращению на (90) градусов ▶

Параметры

Описание

вращение

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

и не ждите

Выберите стрелку ( ▶ ), чтобы развернуть блок, например, и не ждите, чтобы следующий блок в стеке выполнился немедленно.

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Make one full turn to the right.]
повернуть к вращению на [360] градусов ▶
[Make another full turn to the right.]
повернуть к вращению на [720] градусов ▶
[Make one full turn to the left, returning to 360 degrees.]
повернуть к вращению на [360] градусов ▶

прекратите водить#

Блок остановки движения останавливает движение робота.

остановить движение

Параметры

Описание

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

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
движение [вперёд v]
ждать (2) секунд
остановить движение

Настройки#

установить скорость вращения привода#

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

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

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

установить скорость движения (50) %

Параметры

Описание

скорость

Скорость движения от 0% до 100%.

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Drive at different velocities.]
движение [вперёд v] на [100] [мм v] ▶
ждать [1] секунд
[Drive slow.]
установить скорость движения (20) %
движение [вперёд v] на [100] [мм v] ▶
ждать [1] секунд
[Drive fast.]
установить скорость движения (100) %
движение [вперёд v] на [100] [мм v] ▶

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

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

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

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

установить скорость поворота [50]%

Параметры

Описание

скорость

Скорость поворота от 0% до 100%.

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Turn at different velocities.]
поворот [вправо v] на [180] градусов ▶
ждать [1] секунд
[Turn fast.]
установить скорость поворота [100]%
поворот [вправо v] на [180] градусов ▶

установить остановку привода#

Блок set drive stopping задает способ остановки робота: торможение, движение накатом или удержание.

установить режим остановки [торможение v]

Параметры

Описание

прекращение поведения

Как робот остановится:

  • тормоз — Немедленная остановка.
  • движение накатом — Замедление до полной остановки.
  • удержание — Немедленная остановка с удержанием положения колес.

Если этот блок не используется, робот при остановке применит тормоз.

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Drive, then coast to a stop.]
установить скорость движения (100) %
установить режим остановки [накат v]
движение [вперёд v]
ждать [2] секунд
остановить движение

установить тайм-аут диска#

Блок set drive timeout задает количество секунд, в течение которых робот будет пытаться завершить движение. Если робот не сможет завершить движение за это время, он прекратит попытки и перейдет к следующему блоку в стеке. Это предотвращает застревание робота на определенном этапе движения.

установить тайм-аут движения на [1] сек

Параметры

Описание

время

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

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Drive as far as possible for 1 second before turning right.]
установить тайм-аут движения на [1] сек
движение [вперёд v] на [25] [дюймы v] ▶
поворот [вправо v] на [90] градусов ▶

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

Курс — это направление, в котором обращен «мозг» робота, измеряемое в градусах. Блок set drive heading изменяет текущий курс робота на новое значение курса.

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

установить курс движения [0] градусов

Параметры

Описание

заголовок

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

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Face the new 0 degree heading.]
установить курс движения [90] градусов
повернуть на курс [0] градусов ▶

установить вращение привода#

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

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

установить вращение движения (0) градусов

Параметры

Описание

вращение

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

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Spin counterclockwise two times.]
установить вращение движения [720] градусов
повернуть к вращению на [0] градусов ▶

Ценности#

Поездка завершена#

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

  • Верно — Робот завершил движение.

  • Неверно — Робот всё ещё движется.

Этот блок работает совместно со следующими блоками трансмиссии, имеющими параметр и не ждать: движение в течение, движение до, поворот в течение, поворот к направлению и поворот к вращению.

<движение завершено?>

Параметры

Описание

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

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Turn when the drivetrain is done moving forward.]
движение [вперёд v] на [100] [мм v] ◀ и не ждать
ждать [0.25] секунд
вечно
если <движение завершено?> то
поворот [вправо v] на [180] градусов ▶
прервать
иначе
вывести [Still moving...] ▶
ждать [0.1] секунд
очистить все строки

направление привода#

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

Начальный курс робота составляет 0 градусов.

Диск VEX GO Brain показывает направления движения: 0 градусов вперед, 90 градусов вправо, 180 градусов назад и 270 градусов влево.

(Курс движения в градусах)

Параметры

Описание

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

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Display the heading while turning.]
поворот [вправо v] на [450] градусов ◀ и не ждать
вечно
очистить все строки
вывести (Курс движения в градусах) ▶
ждать [0.1] секунд

вращение привода#

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

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

Кодовая база VEX GO 2.0, показывающая стрелки, вращающиеся вправо и влево. Левая стрелка показывает «минус», а правая — «плюс».

(вращение движения в градусах)

Параметры

Описание

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

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
поворот [вправо v] на [450] градусов ◀ и не ждать
вечно
очистить все строки
вывести (вращение движения в градусах) ▶
ждать [0.1] секунд

скорость вращения привода#

Блок отображения скорости движения робота показывает, с какой скоростью он движется, в процентах от -100% до 100%.

Положительное значение означает, что робот движется вперед. Отрицательное значение означает, что робот движется назад.

(скорость движения в %)

Параметры

Описание

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

Пример

при запуске :: hat events
[Build Used: Code Base 2.0]
[Display the velocity of the robot before and while moving.]
вывести [Start: ] ▶
вывести (скорость движения в %) ▶
перенести курсор на следующую строку
движение [вперёд v]
ждать [0.5] секунд
вывести [Moving: ] ▶
вывести (скорость движения в %) ▶
остановить движение