Трансмиссия#
Введение#
Робот VEX IQ (2-го поколения) использует трансмиссию для движения и поворотов. Трансмиссия состоит из двигателей и колес, которые работают вместе, чтобы перемещать робота.
В сконфигурированной трансмиссии может использоваться подключенный гироскопический датчик, встроенный в «Мозг» инерциальный датчик или не использоваться ни один датчик. При использовании датчика трансмиссия использует его для точного перемещения и поворота робота. В начале каждого проекта трансмиссия автоматически калибрует датчик. Во время калибровки удерживайте робота неподвижно около 2 секунд, чтобы он мог правильно двигаться и поворачивать.
Существует множество способов программирования трансмиссии. Ниже приведён список всех блоков управления трансмиссией:
Действия — Перемещение и поворот робота.
drive — Двигает робота вперед или назад бесконечно.
движение на — Перемещает робота вперед или назад на определенное расстояние.
поворот — Поворачивает робота влево или вправо навсегда.
поворот на — Поворачивает робота влево или вправо на определенное количество градусов.
поворот на заданный курс — Поворачивает робота на заданный курс от -359 до 359 градусов. Робот повернется по кратчайшему направлению, чтобы достичь целевого курса.
поворот на вращение — Поворачивает робота на определенное вращение.
остановить движение — Останавливает движение робота.
Настройки — Регулировка параметров трансмиссии.
установить скорость движения — Указывает роботу, с какой скоростью двигаться.
установить скорость поворота — Указывает роботу, с какой скоростью нужно поворачивать.
установить остановку привода — Указывает, как робот остановится: с помощью торможения, движения накатом или удержания.
установить таймаут движения — Задает, сколько секунд робот будет пытаться завершить движение.
установить направление движения — Изменяет текущее направление движения робота на новое.
установить вращение привода — Изменяет текущее вращение робота на новое вращение.
Значения — Проверьте статус движения.
движение завершено — Сообщает, завершил ли робот движение.
привод движется — Сообщает, движется ли робот.
направление движения — Сообщает текущее направление движения робота от 0 до 359 градусов.
вращение привода — Сообщает текущее вращение робота.
скорость движения — Сообщает, с какой скоростью движется робот.
ток привода — Показывает, какой электрический ток потребляет привод.
Действия#
водить машину#
Блок привода перемещает робота вперед или назад бесконечно. Робот будет продолжать движение, пока ему не будет дано другое действие, например, поворот или остановка.
движение [вперёд v]
Параметры |
Описание |
|---|---|
направление |
Направление движения робота: вперед или назад. |
Пример
при запуске
[Drive forward, then stop.]
движение [вперёд v]
ждать (2) секунд
остановить движение
стремление к#
Блок drive for перемещает робота вперед или назад на определенное расстояние. Проект будет ждать, пока робот не завершит движение, прежде чем запустится следующий блок в стеке.
движение [вперёд v] на (200) [мм v] ▶
Параметры |
Описание |
|---|---|
направление |
Направление движения робота: вперед или назад. |
расстояние |
Расстояние, которое проезжает робот. Это может быть целое число или десятичная дробь. |
единица |
Единица измерения расстояния: мм (миллиметры) или дюймы. |
и не ждите |
Выберите стрелку ( ▶ ), чтобы развернуть блок, например, и не ждите, чтобы следующий блок в стеке выполнился немедленно. |
Пример
при запуске
[Drive backward 500 mm (millimeters).]
движение [назад v] на (500) [мм v] ▶
повернуть#
Блок turn бесконечно поворачивает робота влево или вправо. Робот будет продолжать поворачиваться, пока ему не будет дано другое действие, например, движение или остановка.
поворот [вправо v]
Параметры |
Описание |
|---|---|
направление |
Направление поворота робота: влево или вправо. |
Пример
при запуске
[Turn right, then stop.]
поворот [вправо v]
ждать (2) секунд
остановить движение
поворот для#
Блок turn for поворачивает робота влево или вправо на определенное количество градусов. Поворот осуществляется относительно текущего положения робота. Проект будет ждать, пока робот не завершит поворот, прежде чем запустится следующий блок в стеке.
поворот [вправо v] на (90) градусов ▶
Параметры |
Описание |
|---|---|
направление |
Направление поворота робота: влево или вправо. |
угол |
Количество градусов, на которое поворачивается робот. Это может быть целое число или десятичная дробь. |
и не ждите |
Выберите стрелку ( ▶ ), чтобы развернуть блок, например, и не ждите, чтобы следующий блок в стеке выполнился немедленно. |
Пример
при запуске
[Turn left, then turn around to the right.]
поворот [влево v] на (90) градусов ▶
поворот [вправо v] на (180) градусов ▶
перейти к заголовку#
Направление движения — это направление, в котором смотрит робот, измеряемое в градусах. Блок поворота по заданному направлению поворачивает робота в направлении от -359 до 359 градусов. Робот повернется по кратчайшему пути, чтобы достичь целевого направления.
Начальный курс робота составляет 0 градусов.
Проект будет ждать, пока робот не завершит вращение, прежде чем запустится следующий блок в стопке.
повернуть на курс (90) градусов ▶
Параметры |
Описание |
|---|---|
заголовок |
Направление, в котором должен быть повернут робот, в градусах. Это может быть целое число или десятичная дробь от -359 до 359. |
и не ждите |
Выберите стрелку ( ▶ ), чтобы развернуть блок, например, и не ждите, чтобы следующий блок в стеке выполнился немедленно. |
Пример
при запуске
[Turn to face the cardinal directions.]
повернуть на курс (90) градусов ▶
ждать (2) секунд
повернуть на курс (180) градусов ▶
ждать (2) секунд
повернуть на курс (270) градусов ▶
ждать (2) секунд
повернуть на курс (0) градусов ▶
ждать (2) секунд
поворот к вращению#
Блок turn to rotation поворачивает робота на определённое направление.
Вращение — это угол поворота робота, измеряемый в градусах. В начале проекта значение вращения устанавливается равным 0 градусам. Вращение также можно установить с помощью блока set drive rotation.
Значения вращения являются абсолютными. Это означает, что направление поворота зависит от текущего вращения робота. Поворот вправо увеличивает вращение, а поворот влево уменьшает его.
Например, если робот начинает движение с 0 градусов, а затем вы поворачиваетесь на 720 градусов, он дважды повернется вправо. Если же вы повернетесь на 360 градусов, он один раз повернется влево, потому что 360 меньше 720.
повернуть к вращению на (90) градусов ▶
Параметры |
Описание |
|---|---|
вращение |
Величина поворота в градусах, на которую повернется робот. Это может быть целое число или десятичная дробь. |
и не ждите |
Выберите стрелку ( ▶ ), чтобы развернуть блок, например, и не ждите, чтобы следующий блок в стеке выполнился немедленно. |
Пример
при запуске
[Turn left, then spin in a circle clockwise and face right.]
повернуть к вращению на (-90) градусов ▶
ждать (2) секунд
повернуть к вращению на (450) градусов ▶
прекратите водить#
Блок остановки движения останавливает движение робота.
остановить движение
Параметры |
Описание |
|---|---|
Этот блок не имеет параметров. |
Пример
при запуске
[Drive forward, then stop.]
движение [вперёд v]
ждать [4] секунд
остановить движение
Настройки#
установить скорость вращения привода#
Блок установки скорости вращения определяет скорость движения робота. Более высокая скорость увеличивает скорость, а более низкая – уменьшает.
Каждый проект начинается с того, что робот по умолчанию движется со скоростью, составляющей 50% от максимальной.
Примечание: Более высокая скорость приводит к более быстрому движению робота, но может снизить точность. Более низкая скорость приводит к более медленному движению робота, но может повысить точность.
установить скорость движения (50) [% v]
Параметры |
Описание |
|---|---|
скорость |
The velocity to drive with from 0% to 100% when using %. rpm (revolutions per minute) uses values from 0 to 120. |
единица |
Единица измерения: % или об/мин (оборотов в минуту). |
Пример
при запуске
[Drive forward at the default velocity.]
движение [вперёд v] на (100) [мм v] ▶
ждать (1) секунд
[Move slower.]
установить скорость движения (20) [% v]
движение [вперёд v] на (100) [мм v] ▶
ждать (1) секунд
[Move faster.]
установить скорость движения (100) [% v]
движение [вперёд v] на (100) [мм v] ▶
ждать (1) секунд
установить скорость поворота#
Блок установка скорости поворота определяет скорость поворота робота. Более высокая скорость приводит к более быстрому повороту, а более низкая – к более медленному.
Каждый проект начинается с того, что робот по умолчанию вращается со скоростью, составляющей 50% от его обычной скорости.
Примечание: Более высокая скорость приводит к более быстрому повороту робота, но может быть менее точной. Более низкая скорость приводит к более медленному повороту робота, но может быть более точной.
установить скорость поворота (50) [% v]
Параметры |
Описание |
|---|---|
скорость |
The velocity to turn with from 0% to 100% when using %. rpm (revolutions per minute) uses values from 0 to 120. |
единица |
Единица измерения: % или об/мин (оборотов в минуту). |
Пример
при запуске
[Turn at default velocity.]
поворот [вправо v] на (100) градусов ▶
ждать (1) секунд
[Turn slower.]
установить скорость поворота (20) [% v]
поворот [вправо v] на (100) градусов ▶
ждать (1) секунд
[Turn faster.]
установить скорость поворота (100) [% v]
поворот [вправо v] на (100) градусов ▶
ждать (1) секунд
установить остановку привода#
Блок set drive stopping задает способ остановки робота: торможение, движение накатом или удержание.
установить режим остановки [торможение v]
Параметры |
Описание |
|---|---|
прекращение поведения |
Как робот остановится:
|
Если этот блок не используется, робот при остановке применит тормоз.
Пример
при запуске
[Drive forward and coast to a stop.]
установить скорость движения (100) [% v]
установить режим остановки [накат v]
движение [вперёд v]
ждать (2) секунд
остановить движение
установить тайм-аут диска#
Блок set drive timeout задает количество секунд, в течение которых робот будет пытаться завершить движение. Если робот не сможет завершить движение за это время, он прекратит попытки и перейдет к следующему блоку в стеке. Это предотвращает застревание робота на определенном этапе движения.
установить тайм-аут движения на (1) сек
Параметры |
Описание |
|---|---|
время |
Количество секунд, в течение которых робот может попытаться завершить движение. Это может быть целое число или десятичная дробь. |
Пример
при запуске
[Drive forward for 1 second, then turn.]
установить тайм-аут движения на (1) сек
движение [вперёд v] на (25) [дюймы v] ▶
поворот [вправо v] на (90) градусов ▶
установить направление привода#
Направление движения — это угол, в котором смотрит робот, измеряемый в градусах. Блок set drive heading изменяет текущее направление движения робота на новое значение.
Например, если робот повернулся вправо, установка направления на 0 градусов делает это положение, в котором робот повернулся вправо, новым значением 0 градусов. Затем робот может поворачиваться в другие положения, основываясь на этом новом направлении.
установить курс движения (0) градусов
Параметры |
Описание |
|---|---|
заголовок |
Значение направления в градусах, которое необходимо задать для робота. Это может быть целое число или десятичная дробь от 0 до 359. |
Пример
при запуске
[Turn to the left.]
установить курс движения (90) градусов
повернуть на курс (0) градусов ▶
установить вращение привода#
Вращение — это угол поворота робота, измеряемый в градусах. В начале проекта значение вращения устанавливается на 0 градусов. Блок set drive rotation изменяет текущее значение вращения робота на новое значение.
Например, если робот совершил два полных оборота вправо, значение его вращения составит 720 градусов. Установка значения вращения на 0 градусов сбросит это значение с 720 до 0 градусов. Затем робот сможет совершать повороты, исходя из этого нового значения.
установить вращение движения (0) градусов
Параметры |
Описание |
|---|---|
вращение |
Значение угла поворота в градусах, которое необходимо задать для робота. Это может быть целое число или десятичная дробь. |
Пример
при запуске
[Spin counterclockwise two times.]
установить вращение движения (720) градусов
повернуть к вращению на (0) градусов ▶
Ценности#
Поездка завершена#
Логический блок движение завершено сообщает, закончил ли робот движение. Это можно использовать для управления временем выполнения других действий в зависимости от движения робота.
Верно — Робот завершил движение.
Неверно — Робот всё ещё движется.
Этот блок работает совместно со следующими блоками Drivetrain, имеющими параметр and don’t wait: drive for, turn for, turn to heading и turn to rotation.
<движение завершено?>
Параметры |
Описание |
|---|---|
Этот блок не имеет параметров. |
Пример
при запуске
[Start spinning when the drive is complete.]
движение [вперёд v] на (200) [мм v] ◀ и не ждать
вечно
если <движение завершено?> то
поворот [вправо v] на (360) градусов ▶
прервать
иначе
установить курсор на строку (1) столбец (1) на экране
вывести [Still Moving...] на экран ▶
ждать (0.1) секунд
очистить экран
привод движется#
Логический блок привод движется сообщает, движется ли робот. Это можно использовать для управления синхронизацией других действий в зависимости от движения робота.
Верно — Робот движется.
Неверно — Робот не движется.
Этот блок работает совместно со следующими блоками Drivetrain, имеющими параметр and don’t wait: drive for, turn for, turn to heading и turn to rotation.
<движение активно?>
Параметры |
Описание |
|---|---|
Этот блок не имеет параметров. |
Пример
при запуске
[Print that the robot is moving while it is still driving.]
движение [вперёд v] на (200) [мм v] ◀ и не ждать
пока <движение активно?>
установить курсор на строку (1) столбец (1) на экране
вывести [Still Moving...] на экран ▶
ждать (0.1) секунд
очистить экран
конец
установить курсор на строку (1) столбец (1) на экране
вывести [Done!] на экран ▶
направление привода#
Направление движения — это то, в каком направлении смотрит робот, измеряемое в градусах. Блок регистрации направления движения сообщает текущее направление движения робота в диапазоне от 0 до 359 градусов.
Начальный курс робота составляет 0 градусов.
(Курс движения в градусах)
Параметры |
Описание |
|---|---|
Этот блок не имеет параметров. |
Пример
при запуске
[Display the heading after turning.]
поворот [вправо v] на (450) градусов ▶
вывести (Курс движения в градусах) на экран ◀ и перенести курсор на следующую строку
вращение привода#
Вращение — это угол поворота робота, измеряемый в градусах. В начале проекта значение вращения устанавливается равным 0 градусам. Блок отчёта о вращении привода сообщает текущее вращение робота.
Поворот вправо увеличивает угол поворота, а поворот влево уменьшает его. Например, два полных поворота вправо покажут угол поворота в 720 градусов.
(вращение движения в градусах)
Параметры |
Описание |
|---|---|
Этот блок не имеет параметров. |
Пример
при запуске
[Display the rotation after turning.]
поворот [вправо v] на (450) градусов ▶
вывести (вращение движения в градусах) на экран ◀ и перенести курсор на следующую строку
скорость вращения привода#
Блок регистрации скорости движения сообщает, с какой скоростью движется робот.
Он может отображать скорость в процентах от -100% до 100% или в об/мин (оборотах в минуту) от -127 до 127. Положительное значение означает, что робот движется вперед. Отрицательное значение означает, что робот движется назад.
(скорость движения в [% v])
Параметры |
Описание |
|---|---|
единица |
Единица измерения скорости вращения привода: % (от -100% до 100%) или об/мин (оборотов в минуту, от -127 до 127). |
Пример
при запуске
[Display the velocity as the robot is moving.]
движение [вперёд v]
ждать (1) секунд
вывести (скорость движения в [% v]) на экран ◀ и перенести курсор на следующую строку
остановить движение
приводной ток#
Блок регистрации ток привода показывает, какой электрический ток потребляет привод, измеряемый в амперах (от 0,0 до 1,2 А). Ток — это количество электричества, протекающего через привод.
Более высокое значение тока означает, что привод потребляет больше электроэнергии. Это может произойти, когда робот толкает объект или пытается переместиться, застряв.
Это можно использовать для проверки того, испытывает ли трансмиссия трудности во время движения. Если ток остается высоким, трансмиссия может нагреваться или потреблять энергию менее эффективно.
(ток привода в [amps v])
Параметры |
Описание |
|---|---|
Этот блок не имеет параметров. |
Пример
при запуске
[Display the current as the robot is moving.]
установить точность печати [0.01 v] на экране
движение [вперёд v]
ждать (1) секунд
вывести (ток привода в [amps v]) на экран ◀ и перенести курсор на следующую строку
остановить движение