Движение#

Введение#

Робот-программист VEX AIM использует голономную трансмиссию для движения вперед, назад, влево, вправо или под углом, а также способен самостоятельно поворачиваться. Блоки управления движением контролируют перемещение и повороты робота, скорость его движения и отслеживание его координат по осям X и Y.

Круговой циферблат компаса от 0 до 315 градусов, окружающий темно-серый дисплей с темно-синим экраном. Передняя часть робота обращена к отметке 0 градусов на циферблате компаса.

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

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

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

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

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

Действия#

двигаться#

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

переместить вперед блок стека#
движение [вперёд v]

Параметры

Описание

направление

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

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

Пример

Начав, двигайтесь вперед.#
при запуске
[Move forward]
движение [вперёд v]

двигаться под углом#

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

перемещать блок под углом 90 градусов при укладке#
движение под углом (90) градусов

Параметры

Описание

угол

Угол поворота робота в градусах. Это может быть целое число или десятичная дробь от -360 до 360.

Примеры

В начале движения устройство поворачивается вправо на 90 градусов, ждет 1 секунду, затем поворачивается вперед на 0 градусов, ждет 1 секунду и останавливается.#
при запуске
[Move right, then move forward and stop.]
движение под углом (90) градусов
ждать (1) секунд
движение под углом (0) градусов
ждать (1) секунд
остановить все движения

В начале движения устройство перемещается по диагонали вправо на 45,33 градуса, ждет 1 секунду, а затем останавливается.#
при запуске
[Move diagonally to the right and stop.]
движение под углом (45.33) градусов
ждать (1) секунд
остановить все движения

переместить для#

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

продвинуться вперед для блока штабеля 200 мм#
движение [вперёд v] на (200) [мм v] ▶

Параметры

Описание

направление

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

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

расстояние

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

единица

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

и не ждите

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

Пример

После начала работы продвиньтесь вперед на 200 мм для установки блока.#
при запуске
[Move forward for 200 mm]
движение [вперёд v] на (200) [мм v] ▶

перемещаться под углом для#

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

перемещать блок стека под углом#
движение под углом (45) градусов на (200) [мм v] ▶

Параметры

Описание

угол

Угол поворота робота в градусах. Это может быть целое число или десятичная дробь от -360 до 360.

расстояние

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

единица

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

и не ждите

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

Примеры

В начале движения перемещается вправо на 90 градусов на 50 мм, затем перемещается вперед на 0 градусов на 100 мм.#
при запуске
[Move right, then move forward.]
движение под углом (90) градусов на (50) [мм v] ▶
движение под углом (0) градусов на (100) [мм v] ▶

При запуске двигатель движется вперед под углом 0 градусов на протяжении 100 мм, при этом все светодиоды мигают красным.#
при запуске
[Drive forward and blink all LEDs red.]
движение под углом (0) градусов на (100) [мм v] ◀ и не ждать
установить цвет LED [lightall v] [красный v]
ждать (0.5) секунд
установить цвет LED [lightall v] [выкл v]
ждать (0.5) секунд
установить цвет LED [lightall v] [красный v]
ждать (0.5) секунд
установить цвет LED [lightall v] [выкл v]
ждать (0.5) секунд

повернуть#

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

поверните направо блок стека#
поворот [вправо v]

Параметры

Описание

направление

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

Пример

После начала движения поворачивает налево, ждет 1 секунду, а затем полностью останавливается.#
при запуске
[Turn left, then stop.]
поворот [влево v]
ждать (1) секунд
остановить все движения

поворот для#

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

Поверните направо для установки блока штабеля под углом 90 градусов.#
поворот [вправо v] на (90) градусов ▶

Параметры

Описание

направление

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

угол

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

и не ждите

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

Примеры

При начале движения поворачивает влево на 90 градусов, затем поворачивает вправо на 180 градусов.#
при запуске
[Turn left, then turn around to the right.]
поворот [влево v] на (90) градусов ▶
поворот [вправо v] на (180) градусов ▶

При запуске поворачивает вправо на 180 градусов, при этом все светодиоды мигают синим цветом.#
при запуске
[Turn right and blink all LEDs blue.]
поворот [вправо v] на (180) градусов ◀ и не ждать
установить цвет LED [lightall v] [синий v]
ждать (0.5) секунд
установить цвет LED [lightall v] [выкл v]
ждать (0.5) секунд
установить цвет LED [lightall v] [синий v]
ждать (0.5) секунд
установить цвет LED [lightall v] [выкл v]
ждать (0.5) секунд

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

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

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

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

Поворот на 90 градусов к заголовку блока штабелирования#
повернуть на курс (270) градусов ▶

Параметры

Описание

заголовок

Направление движения робота должно составлять от -360 до 360 градусов.

и не ждите

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

Примеры

при запуске
[Turn to face each cardinal direction.]
повернуть на курс (90) градусов ▶
ждать (2) секунд
повернуть на курс (180) градусов ▶
ждать (2) секунд
повернуть на курс (270) градусов ▶
ждать (2) секунд
повернуть на курс (0) градусов ▶
ждать (2) секунд

При запуске устройство быстро поворачивается на 180 градусов, при этом все светодиоды мигают зеленым цветом.#
при запуске
[Turn around quickly and blink all LEDs green.]
повернуть на курс (180) градусов ◀ и не ждать
установить цвет LED [lightall v] [зелёный v]
ждать (0.5) секунд
установить цвет LED [lightall v] [выкл v]
ждать (0.5) секунд
установить цвет LED [lightall v] [зелёный v]
ждать (0.5) секунд
установить цвет LED [lightall v] [выкл v]
ждать (0.5) секунд

перемещаться с помощью контроллера#

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

управление контроллером

Параметры

Описание

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

Пример

при запуске
[Drive with the controller for five seconds.]
сбросить таймер
пока <(таймер в секундах) [math_less_than v] [5]>
управление контроллером
конец
остановить все движения

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

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

остановить все движения блок-стек#
остановить все движения

Параметры

Описание

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

Пример

После запуска поворачивает направо, ждет 1 секунду, а затем полностью останавливается.#
при запуске
[Turn right, then stop.]
поворот [вправо v]
ждать (1) секунд
остановить все движения

Настройки#

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

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

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

Скорость движения, равная 100%, эквивалентна 200 миллиметрам в секунду (мм/с).

установить скорость перемещения на 50% стек блока#
установить скорость движения (50)%

Параметры

Описание

скорость

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

Пример

при запуске
[Move forward at the default velocity.]
установить скорость движения (50)%
движение под углом (0) градусов на (100) [мм v] ▶
ждать (1) секунд
[Move slower.]
установить скорость движения (20)%
движение под углом (0) градусов на (100) [мм v] ▶
ждать (1) секунд
[Move faster.]
установить скорость движения (100)%
движение под углом (0) градусов на (100) [мм v] ▶
ждать (1) секунд

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

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

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

Скорость поворота 100% эквивалентна 150 градусам в секунду (градусы в секунду).

установить скорость поворота на 50% от скорости блока стека#
установить скорость поворота (50)%

Параметры

Описание

скорость

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

Пример

при запуске
[Turn around at default velocity.]
установить скорость поворота (50)%
поворот [вправо v] на (180) градусов ▶
ждать (1) секунд
[Turn around slower.]
установить скорость поворота (20)%
поворот [вправо v] на (180) градусов ▶
ждать (1) секунд
[Turn around faster.]
установить скорость поворота (100)%
поворот [вправо v] на (180) градусов ▶
ждать (1) секунд

Позиция#

позиция#

Блок позиционирования сообщает текущую координату x или y робота.

В начале проекта координаты x и y робота устанавливаются равными 0. Значения координат изменяются по мере перемещения робота и могут быть установлены с помощью блока set robot position.

x-позиция в блоке репортера мм#
положение [x v] в [мм v]

Параметры

Описание

координата

Координатная ось для вывода: x или y.

единица

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

Пример

При запуске устройство перемещается вперед на 200 мм, сбрасывает положение, перемещается по диагонали на 45 градусов на 200 мм и выводит на экран обновленные координаты X и Y.#
при запуске
движение под углом (0) градусов на (200) [мм v] ▶
[Move forward and print the new coordinate and heading.]
установить позицию робота x: [0] y: [0]
движение под углом (45) градусов на (200) [мм v] ▶
вывести (положение [x v] в [мм v]) на экран ▶
перенести курсор на следующую строку на экране
вывести (положение [y v] в [мм v]) на экран ▶

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

Блок set robot position изменяет текущие координаты x и y робота на новые значения.

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

установить позицию стекового блока#
установить позицию робота x: [0] y: [0]

Параметры

Описание

х

Значение координаты по оси X, устанавливаемое для робота, в мм.

й

Значение координаты Y, устанавливаемое для робота, в мм.

Пример

при запуске
[Reset the robot's position after moving.]
движение [вперёд v] на [60] [мм v] ▶
установить позицию робота x: [0] y: [0]
вывести (положение [y v] в [мм v]) на экран ▶

Ценности#

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

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

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

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

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

блок активного репортера перемещения#
<движение активно?>

Параметры

Описание

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

Пример

При запуске робот перемещается вперед на 200 мм, при этом все светодиоды мигают красным. Светодиоды включаются и выключаются каждые 0,5 секунды во время движения робота, а затем остаются выключенными после остановки движения.#
при запуске
[Blink all of the LEDs when the robot is moving.]
движение под углом (0) градусов на (200) [мм v] ◀ и не ждать
пока <движение активно?>
установить цвет LED [lightall v] [красный v]
ждать (0.5) секунд
установить цвет LED [lightall v] [выкл v]
ждать (0.5) секунд
конец
установить цвет LED [lightall v] [выкл v]

активировать#

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

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

  • Неверно — Робот не поворачивается.

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

включить блокировку активного репортера#
<поворот активен?>

Параметры

Описание

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

Пример

При запуске двигатель поворачивает направо на 180 градусов, при этом все светодиоды мигают красным. Светодиоды мигают каждые 0,5 секунды во время поворота и гаснут по завершении поворота.#
при запуске
[Blink all of the LEDs while the robot is turning.]
поворот [вправо v] на (180) градусов ◀ и не ждать
пока <поворот активен?>
установить цвет LED [lightall v] [красный v]
ждать (0.5) секунд
установить цвет LED [lightall v] [выкл v]
ждать (0.5) секунд
конец
установить цвет LED [lightall v] [выкл v]

остановился#

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

  • Верно — Робот не движется и не поворачивается.

  • Неверно — Робот движется или поворачивается.

блок репортера остановлен#
<остановлен?>

Параметры

Описание

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

Пример

При запуске робот перемещается вперед на 200 мм, демонстрируя световое шоу, затем поворачивается вправо на 180 градусов, продолжая световое шоу. Светодиоды попеременно загораются зеленым и фиолетовым цветом каждые 0,5 секунды во время движения или поворота робота. Как только робот останавливается, световое шоу заканчивается, и светодиоды гаснут.#
определить light show
[Flash LEDs while the robot is moving or turning.]
повторять пока <остановлен?>
установить цвет LED [lightall v] [зелёный v]
ждать (0.5) секунд
установить цвет LED [lightall v] [фиолетовый v]
ждать (0.5) секунд
конец


при запуске
[Blink all the LEDs while the robot is moving or turning.]
движение под углом (0) градусов на (200) [мм v] ◀ и не ждать
light show
поворот [вправо v] на (180) градусов ◀ и не ждать
light show