Движение#

Введение#

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

Каждый двигатель настраивается в окне «Устройства». В зависимости от сборки названия двигателей и направления их вращения могут меняться. Например, в сборке Competition Advanced 2.0 двигатель называется ArmMotor, а направления вращения — вверх и вниз. В пользовательском роботе могут использоваться другие названия двигателей или направления вращения.

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

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

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

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

Настройки — Отрегулируйте параметры двигателя.

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

Действия#

вращающийся двигатель#

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

вращать [ArmMotor v] [вверх v]

Параметры

Описание

мотор

Двигатель для вращения. Выберите один из двигателей, настроенных в окне «Устройства».

направление

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

Пример

при запуске :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor, then stop.]
вращать [ArmMotor v] [вверх v]
ждать [1] секунд
остановить [ArmMotor v]

вращающийся двигатель для#

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

вращение [ArmMotor v] [вверх v] на [90] [градусы v] ▶

Параметры

Описание

мотор

Двигатель для вращения. Выберите один из двигателей, настроенных в окне «Устройства».

направление

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

расстояние

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

единица

Единица измерения расстояния: градусы или обороты.

и не ждите

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

Пример

при запуске :: hat events
[Build Used: Competition Advanced 2.0]
[Raise and lower the ArmMotor.]
вращение [ArmMotor v] [вверх v] на [180] [градусы v] ▶
ждать [1] секунд
вращение [ArmMotor v] [вниз v] на [180] [градусы v] ▶

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

Блок spin motor to position вращает двигатель до заданного положения.

Положение двигателя — это расстояние, на которое он повернулся, измеряемое в градусах или оборотах. Один оборот равен 360 градусам. В начале проекта положение двигателя устанавливается на 0 градусов. Положение двигателя также можно установить с помощью блока установить положение двигателя.

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

вращать [ArmMotor v] в положение (90) [градусы v] ▶

Параметры

Описание

мотор

Двигатель для вращения. Выберите один из двигателей, настроенных в окне «Устройства».

позиция

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

единица

Единица измерения положения: градусы или обороты.

и не ждите

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

Пример

при запуске :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
вращение [ArmMotor v] [вверх v] на [180] [градусы v] ▶
ждать [1] секунд
вращать [ArmMotor v] в положение [0] [градусы v] ▶

остановить двигатель#

Блок остановки двигателя останавливает вращение двигателя.

остановить [ArmMotor v]

Параметры

Описание

мотор

Двигатель, который нужно остановить. Выберите один из двигателей, настроенных в окне «Устройства».

Пример

при запуске :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor.]
вращать [ArmMotor v] [вверх v]
ждать [1] секунд
остановить [ArmMotor v]

Настройки#

установить положение двигателя#

Положение двигателя — это расстояние, на которое он повернулся, измеряемое в градусах или оборотах. Один оборот равен 360 градусам. Блок установка положения двигателя изменяет текущее положение двигателя на новое значение.

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

установить положение [ArmMotor v] (0) [градусы v]

Параметры

Описание

мотор

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

позиция

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

единица

Единица измерения положения: градусы или обороты.

Пример

при запуске :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
установить положение [ArmMotor v] [0] [градусы v]
вращение [ArmMotor v] [вверх v] на [180] [градусы v] ▶
ждать [1] секунд
вращать [ArmMotor v] в положение [0] [градусы v] ▶

установить скорость двигателя#

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

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

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

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

Параметры

Описание

мотор

Двигатель, для которого нужно задать скорость. Выберите один из двигателей, настроенных в окне «Устройства».

скорость

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

Пример

при запуске :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different velocities.]
вращение [ArmMotor v] [вверх v] на [180] [градусы v] ▶
ждать [1] секунд
[Move slow.]
установить скорость [ArmMotor v] [20] %
вращение [ArmMotor v] [вниз v] на [180] [градусы v] ▶
ждать [1] секунд
[Move fast.]
установить скорость [ArmMotor v] [100] %
вращение [ArmMotor v] [вверх v] на [180] [градусы v] ▶

установить остановку двигателя#

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

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

Параметры

Описание

мотор

Двигатель, для которого необходимо задать режим остановки. Выберите один из двигателей, настроенных в окне «Устройства».

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

Как остановится двигатель:

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

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

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

Пример

при запуске :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor, then coast to a stop.]
установить скорость [ArmMotor v] [20] %
установить режим остановки [ArmMotor v] [накат v]
вращать [ArmMotor v] [вверх v]
ждать [1] секунд
остановить [ArmMotor v]

установить максимальный крутящий момент двигателя#

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

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

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

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

установить максимальный момент [ArmMotor v] (50) %

Параметры

Описание

мотор

Двигатель, для которого необходимо установить максимальный крутящий момент. Выберите один из двигателей, настроенных в окне «Устройства».

крутящий момент

Максимальный крутящий момент, который может использовать двигатель, варьируется от 0% до 100%.

Пример

при запуске :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different torques.]
вращение [ArmMotor v] [вверх v] на [180] [градусы v] ▶
ждать [1] секунд
[Move with less torque.]
установить максимальный момент [ArmMotor v] [20] %
вращение [ArmMotor v] [вниз v] на [180] [градусы v] ▶
ждать [1] секунд
[Move with maximum torque.]
установить максимальный момент [ArmMotor v] [100] %
вращение [ArmMotor v] [вверх v] на [180] [градусы v] ▶

установить тайм-аут двигателя#

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

установить таймаут [ArmMotor v] (1) секунд

Параметры

Описание

мотор

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

время

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

Пример

при запуске :: hat events
[Build Used: Competition Advanced 2.0]
[Move ArmMotor as far as possible for 1 second before resetting.]
установить положение [ArmMotor v] [0] [градусы v]
установить таймаут [ArmMotor v] [1] секунд
вращение [ArmMotor v] [вверх v] на [180] [градусы v] ▶
вращать [ArmMotor v] в положение [0] [градусы v] ▶

Ценности#

Двигатель вышел из строя?#

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

  • Верно — Двигатель завершил движение.

  • Неверно — Двигатель всё ещё вращается.

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

<[ArmMotor v] завершён?>

Параметры

Описание

мотор

Двигатель, который будет сообщать о завершении движения. Выберите один из двигателей, настроенных в окне «Устройства».

Пример

при запуске :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
вращение [ArmMotor v] [вверх v] на [180] [градусы v] ◀ и не ждать
ждать [0.1] секунд
вечно
если <[ArmMotor v] завершён?> то
установить подсветку датчика Eye [выкл v]
иначе
установить подсветку датчика Eye [вкл v]

Двигатель вращается?#

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

  • Верно — Мотор вращается.

  • Неверно — Двигатель не вращается.

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

<[ArmMotor v] вращается?>

Параметры

Описание

мотор

Двигатель, который будет сообщать о вращении. Выберите один из двигателей, настроенных в окне «Устройства».

Пример

при запуске :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
вращение [ArmMotor v] [вверх v] на [180] [градусы v] ◀ и не ждать
ждать [0.1] секунд
вечно
если <[ArmMotor v] вращается?> то
установить подсветку датчика Eye [вкл v]
иначе
установить подсветку датчика Eye [выкл v]

положение двигателя#

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

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

(положение [ArmMotor v] в [градусы v] :: custom-motion)

Параметры

Описание

мотор

Двигатель, положение которого необходимо определить. Выберите один из двигателей, настроенных в окне «Устройства».

единица

Единица измерения положения двигателя: градусы или обороты.

Пример

при запуске :: hat events
[Build Used: Competition Advanced 2.0]
[Display how far the ArmMotor moves after one second.]
установить положение [ArmMotor v] [0] [градусы v]
вывести [Start: ] ▶
вывести (положение [ArmMotor v] в [градусы v] :: custom-motion) ▶
перенести курсор на следующую строку
вращать [ArmMotor v] [вверх v]
ждать [1] секунд
остановить [ArmMotor v]
вывести [After: ] ▶
вывести (положение [ArmMotor v] в [градусы v] :: custom-motion) ▶

скорость двигателя#

Блок регистрации скорости вращения двигателя отображает скорость вращения двигателя в процентах от -100% до 100%.

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

(скорость [ArmMotor v] в %)

Параметры

Описание

мотор

Двигатель, скорость которого необходимо измерить. Выберите один из двигателей, настроенных в окне «Устройства».

Пример

при запуске :: hat events
[Build Used: Competition Advanced 2.0]
[Display the ArmMotor's velocity when it moves.]
вывести [Resting: ] ▶
вывести (скорость [ArmMotor v] в %) ▶
перенести курсор на следующую строку
вращать [ArmMotor v] [вверх v]
ждать [1] секунд
вывести [Moving: ] ▶
вывести (скорость [ArmMotor v] в %) ▶
остановить [ArmMotor v]

ток двигателя#

Блок регистрации тока двигателя показывает, сколько энергии двигатель потребляет от батареи, в процентах от 0% до 100%.

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

(ток [ArmMotor v] в %)

Параметры

Описание

мотор

Двигатель, ток которого необходимо измерить. Выберите один из двигателей, настроенных в окне «Устройства».

Пример

при запуске :: hat events
[Build Used: Competition Advanced 2.0]
[Display the motor's current when it moves.]
вывести [Resting: ] ▶
вывести (ток [ArmMotor v] в %) ▶
перенести курсор на следующую строку
вращать [ArmMotor v] [вверх v]
ждать [1] секунд
вывести [Moving: ] ▶
вывести (ток [ArmMotor v] в %) ▶
остановить [ArmMotor v]