Блоки, специфичные для робота#

Введение#

Робот-герой Декс оснащен двумя вариантами двигателей, датчиком искусственного интеллекта, оптическим датчиком и датчиком игровой системы позиционирования (GPS).

Все стандартные блоки VEXcode VR доступны для использования на игровой площадке V5 25-26 Push Back.

Ниже приведён список всех доступных блоков, разработанных специально для роботов:

Трансмиссия – перемещение и поворот робота.

Движение – Перемещение и отслеживание двигателей робота.

AI Vision – Захват и анализ объектов с помощью датчика AI Vision.

Использование датчиков – Задействуйте различные датчики робота.

В примерах на этой странице используется начальная позиция по умолчанию в игровой зоне.

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

Силовая установка управляет движением и поворотами VR-робота. Она позволяет ему двигаться вперед или назад, поворачивать влево или вправо, менять направление движения и отслеживать вращение.

Действия#

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

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

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

Параметры

Описание

направление

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

Пример

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

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

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

движение [вперёд v] на (200) [мм v] ▶

Параметры

Описание

направление

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

расстояние

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

единица

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

и не ждите

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

Пример

при запуске :: hat events
[Drive forward.]
движение [вперёд v] на (500) [мм v] ▶

повернуть#

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

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

Параметры

Описание

направление

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

Пример

при запуске :: hat events
[Turn right, then stop.]
поворот [вправо v]
ждать (2) секунд
остановить движение

поворот для#

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

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

Параметры

Описание

направление

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

угол

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

и не ждите

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

Пример

при запуске :: hat events
[Turn left, then turn around to the right.]
поворот [влево v] на (90) градусов ▶
поворот [вправо v] на (180) градусов ▶

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

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

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

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

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

Параметры

Описание

заголовок

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

и не ждите

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

Пример

при запуске :: hat events
[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) градусов ▶

Параметры

Описание

вращение

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

и не ждите

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

Пример

при запуске :: hat events
[Turn left, then spin in a circle clockwise and face right.]
повернуть к вращению на (-90) градусов ▶
ждать (2) секунд
повернуть к вращению на (450) градусов ▶

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

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

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

Параметры

Описание

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

Пример

при запуске :: hat events
[Drive forward, then stop.]
движение [вперёд v]
ждать [4] секунд
остановить движение

Настройки#

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

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

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

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

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

Параметры

Описание

скорость

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

единица

Единица измерения скорости: %

Пример

при запуске :: hat events
[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]

Параметры

Описание

скорость

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

единица

Единица измерения скорости: %

Пример

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

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

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

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

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

Параметры

Описание

заголовок

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

Пример

при запуске :: hat events
[Turn to the left.]
установить курс движения (90) градусов
повернуть на курс (0) градусов ▶

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

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

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

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

Параметры

Описание

вращение

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

Пример

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

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

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

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

Параметры

Описание

время

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

Пример

При запуске время движения ограничивается 1 секундой, после чего происходит поворот на 90 градусов.#
при запуске :: hat events
[Drive forward for 1 second, then turn.]
установить тайм-аут движения на (1) сек
движение [вперёд v] на (25) [дюймы v] ▶
поворот [вправо v] на (90) градусов ▶

Ценности#

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

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

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

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

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

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

Параметры

Описание

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

Пример

при запуске :: hat events
[Start spinning when the drive is complete.]
движение [вперёд v] на (200) [мм v] ◀ и не ждать
ждать пока <движение завершено?>
поворот [вправо v] на (360) градусов ▶

привод движется#

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

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

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

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

<движение активно?>

Параметры

Описание

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

Пример

при запуске :: hat events
[Print that the robot is moving while it is still driving.]
движение [вперёд v] на (200) [мм v] ◀ и не ждать
пока <движение активно?>
вывести [Still Moving...] ▶
ждать (0.1) секунд
очистить экран
конец
вывести [Done!] ▶

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

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

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

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

Параметры

Описание

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

Пример

при запуске :: hat events
[Display the heading after turning.]
поворот [вправо v] на (450) градусов ▶
вывести (Курс движения в градусах) на экран ◀ и перенести курсор на следующую строку

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

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

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

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

Параметры

Описание

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

Пример

при запуске :: hat events
[Display the rotation after turning.]
поворот [вправо v] на (450) градусов ▶
вывести (вращение движения в градусах) на экран ◀ и перенести курсор на следующую строку

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

Блок регистрации скорости движения сообщает, с какой скоростью движется робот.

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

Параметры

Описание

единица

Единица измерения скорости: %

Пример

при запуске :: hat events
[Display the velocity after driving.]
движение [вперёд v] на (200) [мм v] ▶
вывести (скорость движения в [% v]) на экран ◀ и перенести курсор на следующую строку

Движение#

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

Каждый двигатель имеет свои собственные варианты направления движения. Названия направлений описывают, как этот двигатель движется на Dex.

Действия#

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

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

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

Параметры

Описание

мотор

Для вращения используется двигатель: двигатель конвейера или двигатель всасывания.

направление

Направление вращения двигателя:

  • Двигатель конвейера — вверх или вниз
  • Двигатель впускного трубопровода — впуск или выпуск

Пример

при запуске
[Pick up a second Block.]
вращение [ConveyorMotor v] [вверх v] на [200] [градусы v] ▶
вращать [IntakeMotor v] [потребление v]
движение [вперёд v] на [350] [мм v] ▶

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

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

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

Параметры

Описание

мотор

Для вращения используется двигатель: двигатель конвейера или двигатель всасывания.

направление

Направление вращения двигателя:

  • Двигатель конвейера — вверх или вниз
  • Двигатель впускного трубопровода — впуск или выпуск

расстояние

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

единица

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

и не ждите

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

Пример

при запуске
[Pick up a second Block.]
вращение [ConveyorMotor v] [вверх v] на [200] [градусы v] ▶
вращать [IntakeMotor v] [потребление v]
движение [вперёд v] на [350] [мм v] ▶

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

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

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

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

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

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

Параметры

Описание

мотор

Для вращения используется двигатель: двигатель конвейера или двигатель всасывания.

позиция

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

единица

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

и не ждите

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

Пример

при запуске
[Pick up a second Block.]
вращать [ConveyorMotor v] в положение [200] [градусы v] ▶
вращать [IntakeMotor v] [потребление v]
движение [вперёд v] на [350] [мм v] ▶

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

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

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

Параметры

Описание

мотор

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

Пример

при запуске
[Pick up a second Block.]
вращение [ConveyorMotor v] [вверх v] на [200] [градусы v] ▶
вращать [IntakeMotor v] [потребление v]
движение [вперёд v] на [350] [мм v] ▶
остановить [IntakeMotor v]

Настройки#

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

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

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

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

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

Параметры

Описание

мотор

Двигатель, регулирующий скорость: двигатель конвейера или двигатель всасывания.

скорость

Скорость вращения двигателя. Проценты обозначаются целыми числами от 0% до 100%.

единица

Единица измерения скорости: %.

Пример

при запуске
[Pick up a second Block.]
установить скорость [ConveyorMotor v] на [100] [% v]
вращение [ConveyorMotor v] [вверх v] на [200] [градусы v] ▶
вращать [IntakeMotor v] [потребление v]
движение [вперёд v] на [400] [мм v] ▶

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

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

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

Параметры

Описание

мотор

Двигатель, для которого устанавливается время ожидания: двигатель конвейера или двигатель всасывания.

время

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

Пример

при запуске
[Pick up a second Block.]
установить таймаут [ConveyorMotor v] [0.5] секунд
вращать [ConveyorMotor v] в положение [1000] [градусы v] ▶
вращать [IntakeMotor v] [потребление v]
движение [вперёд v] на [400] [мм v] ▶

Позиция#

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

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

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

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

Параметры

Описание

мотор

Двигатель, передающий информацию о положении: двигатель конвейера или двигатель всасывания.

единица

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

Пример

при запуске
[Pick up a second Block.]
пока <(положение [ConveyorMotor v] в [градусы v]) [math_less_than v] [200]>
вращать [ConveyorMotor v] [вверх v]
конец
остановить [ConveyorMotor v]
вращать [IntakeMotor v] [потребление v]
движение [вперёд v] на [400] [мм v] ▶

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

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

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

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

Параметры

Описание

мотор

Двигатель для установки положения: двигатель конвейера или двигатель приемки.

позиция

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

единица

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

Пример

при запуске
[Pick up a second Block.]
установить положение [ConveyorMotor v] [-200] [градусы v]
вращать [ConveyorMotor v] в положение [0] [градусы v] ▶
вращать [IntakeMotor v] [потребление v]
движение [вперёд v] на [400] [мм v] ▶

Ценности#

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

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

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

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

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

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

Параметры

Описание

мотор

Для определения завершения движения используется следующий двигатель: двигатель конвейера или двигатель всасывания.

Пример

при запуске
[Pick up a second Block.]
вращать [ConveyorMotor v] в положение [300] [градусы v] ◀ и не ждать
движение [вперёд v]
вращать [IntakeMotor v] [потребление v]
ждать пока <[ConveyorMotor v] завершён?>
остановить движение
остановить [IntakeMotor v]

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

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

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

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

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

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

Параметры

Описание

мотор

Для определения того, вращается ли двигатель: двигатель конвейера или двигатель всасывания.

Пример

при запуске
[Pick up a second Block.]
вращать [ConveyorMotor v] в положение [300] [градусы v] ◀ и не ждать
ждать [0.1] секунд
пока <[ConveyorMotor v] вращается?>
движение [вперёд v] на [200] [мм v] ▶
вращать [IntakeMotor v] [потребление v]

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

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

(скорость [ConveyorMotor v] в [% v] :: custom-motion)

Параметры

Описание

мотор

Для передачи данных о скорости используется двигатель: двигатель конвейера или двигатель всасывания.

единица

Единица измерения скорости вращения двигателя: %.

Пример

при запуске
[Pick up a second Block.]
установить скорость [ConveyorMotor v] на [100] [% v]
вращать [ConveyorMotor v] в положение [300] [градусы v] ◀ и не ждать
ждать [0.2] секунд
вывести (скорость [ConveyorMotor v] в [% v] :: custom-motion) ▶
вращать [IntakeMotor v] [потребление v]
движение [вперёд v] на [400] [мм v] ▶

ИИ-зрение#

Действия#

получить данные объекта#

Блок получить данные об объекте фильтрует данные из кадра датчика AI Vision, сводя их к единой сигнатуре — сохраненному описанию того, что датчик может распознать, например, игрового элемента на поле.

В наборе данных хранятся объекты, упорядоченные по ширине от наибольшего к наименьшему, начиная с индекса 0. Доступ к свойствам каждого объекта осуществляется с помощью блока Свойство объекта AI Vision. Если соответствующие объекты не обнаружены, возвращается пустой набор данных.

Блок стека «Получить данные объекта».#
получить данные [AI Classifications v] из AI Vision

Параметр

Описание

подпись

Фильтрует набор данных, чтобы включить только данные заданной подписи. Доступные подписи:

  • Классификация ИИ - Обнаруживает красные и синие блоки.

Пример

при запуске
[If an object is detected, pick it up.]
вращение [ConveyorMotor v] [вверх v] на [200] [градусы v] ▶
вечно
получить данные [AI Classifications v] из [AIVision v]
если <объект [AIVision v] существует?> то
вращать [IntakeMotor v] [потребление v]
движение [вперёд v]
ждать пока <[Bumper v] нажат?>
остановить движение
прервать

Настройки#

установить элемент объекта#

Блок set object item задает, какой элемент из набора данных следует использовать.

Блок стека элементов объекта Set AI Vision.#
установить элемент объекта [AIVision v] [1]

Параметры

Описание

элемент

Номер элемента в наборе данных, который следует использовать.

Пример

при запуске
[Display what object is farthest away.]
вечно
получить данные [AI Classifications v] из [AIVision v]
если <объект [AIVision v] существует?> то
установить элемент объекта [AIVision v] (количество объектов [AIVision v])
очистить все строки
если <объект [AIVision v] — [BlueBlock v]?> то
вывести [Blue Block farthest away.] ▶
иначе
вывести [Red Block farthest away.] ▶

Ценности#

объект существует#

Блок object exists возвращает логическое значение, указывающее, обнаружен ли какой-либо объект в наборе данных.

  • Истина – Набор данных содержит обнаруженный объект.

  • Ложь – Набор данных не содержит обнаруженных объектов.

Логический блок “Объект AI Vision существует”.#
<объект [AIVision v] существует?>

Параметры

Описание

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

Пример

при запуске
[If an an object is detected, pick it up.]
вращение [ConveyorMotor v] [вверх v] на [200] [градусы v] ▶
вечно
получить данные [AI Classifications v] из [AIVision v]
если <объект [AIVision v] существует?> то
вращать [IntakeMotor v] [потребление v]
движение [вперёд v]
ждать пока <[Bumper v] нажат?>
остановить движение
прервать

объект#

Блок AI Vision object is возвращает логическое значение, указывающее, соответствует ли обнаруженный объект определенной классификации.

  • Истина – Элемент в наборе данных представляет собой конкретный объект.

  • Ложь – Элемент в наборе данных не является конкретным объектом.

Объект AI Vision представляет собой логический блок.#
<объект [AIVision v] — [BlueBlock v]?>

Параметр

Описание

объект

С каким объектом сравнивать данный элемент:

  • Синий блок
  • Красный блок

Пример

при запуске
[Display what object is farthest away.]
вечно
получить данные [AI Classifications v] из [AIVision v]
если <объект [AIVision v] существует?> то
установить элемент объекта [AIVision v] (количество объектов [AIVision v])
очистить все строки
если <объект [AIVision v] — [BlueBlock v]?> то
вывести [Blue Block farthest away.] ▶
иначе
вывести [Red Block farthest away.] ▶

количество объектов#

Блок подсчета объектов возвращает количество обнаруженных объектов в наборе данных в виде целого числа.

Блок стека элементов объекта Set AI Vision.#
(количество объектов [AIVision])

Параметры

Описание

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

Пример

при запуске
[Display what object is farthest away.]
вечно
получить данные [AI Classifications v] из [AIVision v]
если <объект [AIVision v] существует?> то
установить элемент объекта [AIVision v] (количество объектов [AIVision v])
очистить все строки
если <объект [AIVision v] — [BlueBlock v]?> то
вывести [Blue Block farthest away.] ▶
иначе
вывести [Red Block farthest away.] ▶

свойство объекта#

Каждый объект (показан ниже) содержит шесть свойств, которые сохраняются после использования блока получить данные объекта.

Блок «Отчет о свойствах объекта AI Vision».#
(объект [AIVision v] [ширина v])

Все значения свойств описывают положение и размер обнаруженного объекта в поле зрения датчика AI Vision в момент использования блока получить данные об объекте. Эти значения измеряются в пикселях, исходя из разрешения датчика 320 на 240 пикселей.

Параметр

Описание

свойство

Какое свойство обнаруженного объекта использовать:

ширина#

Свойство width отображает ширину обнаруженного объекта в пикселях в виде целого числа от 1 до 320.

Блок стека свойств объекта AI Vision с параметром, установленным на значение width.#
(объект [AIVision v] [ширина v])

Пример

при запуске
[If an an object is detected, approach and pick it up.]
вращение [ConveyorMotor v] [вверх v] на [200] [градусы v] ▶
вечно
получить данные [AI Classifications v] из [AIVision v]
если <объект [AIVision v] существует?> то
если <(объект [AIVision v] [ширина v]) [math_greater_than v] [65]> то
остановить движение
прервать
иначе
вращать [IntakeMotor v] [потребление v]
движение [вперёд v]
высота#

Свойство height отображает высоту обнаруженного объекта в пикселях в виде целого числа от 1 до 240.

Блок стека свойств объекта AI Vision с параметром, установленным на высоту.#
(объект [AIVision v] [высота v])

Пример

при запуске
[If an an object is detected, approach and pick it up.]
вращение [ConveyorMotor v] [вверх v] на [200] [градусы v] ▶
вечно
получить данные [AI Classifications v] из [AIVision v]
если <объект [AIVision v] существует?> то
если <(объект [AIVision v] [высота v]) [math_greater_than v] [55]> то
остановить движение
прервать
иначе
вращать [IntakeMotor v] [потребление v]
движение [вперёд v]
центрX#

Свойство centerX отображает x-координату центра обнаруженного объекта в пикселях в виде целого числа от 0 до 320.

Блок стека свойств объекта AI Vision с параметром, установленным на centerX.#
(объект [AIVision v] [centerX v])

Пример

при запуске
[Pick up a Block from the top left group.]
вращение [ConveyorMotor v] [вверх v] на [200] [градусы v] ▶
поворот [влево v] на [80] градусов ▶
движение [вперёд v] на [100] [мм v] ▶
установить скорость поворота [20] [% v]
поворот [влево v]
вечно
получить данные [AI Classifications v] из [AIVision v]
если <объект [AIVision v] существует?> то
если <<[140] [math_less_than v] (объект [AIVision v] [centerX v])> и <(объект [AIVision v] [centerX v]) [math_less_than v] [180]>> то
вращать [IntakeMotor v] [потребление v]
движение [вперёд v]
ждать пока <[Bumper v] нажат?>
остановить движение
центрY#

Свойство centerY отображает y-координату центра обнаруженного объекта в пикселях в виде целого числа от 0 до 240.

Блок стека свойств объекта AI Vision с параметром, установленным в значение centerY.#
(объект [AIVision v] [centerY v])

Пример

при запуске
[If an an object is detected, approach and pick it up.]
вращение [ConveyorMotor v] [вверх v] на [200] [градусы v] ▶
вечно
получить данные [AI Classifications v] из [AIVision v]
если <объект [AIVision v] существует?> то
если <(объект [AIVision v] [centerY v]) [math_greater_than v] [140]> то
остановить движение
прервать
иначе
вращать [IntakeMotor v] [потребление v]
движение [вперёд v]
originX#

Свойство originX отображает координату x верхнего левого угла ограничивающего прямоугольника обнаруженного объекта в пикселях в виде целого числа от 0 до 320.

Блок стека свойств объекта AI Vision с параметром, установленным на originX.#
(объект [AIVision v] [originX v])

Пример

при запуске
[Pick up a Block from the top left group.]
вращение [ConveyorMotor v] [вверх v] на [200] [градусы v] ▶
поворот [влево v] на [80] градусов ▶
движение [вперёд v] на [100] [мм v] ▶
установить скорость поворота [20] [% v]
поворот [влево v]
вечно
получить данные [AI Classifications v] из [AIVision v]
если <объект [AIVision v] существует?> то
если <<[100] [math_less_than v] (объект [AIVision v] [originX v])> и <(объект [AIVision v] [originX v]) [math_less_than v] [140]>> то
вращать [IntakeMotor v] [потребление v]
движение [вперёд v]
ждать пока <[Bumper v] нажат?>
остановить движение
происхождениеY#

Свойство originY отображает Y-координату верхнего левого угла ограничивающего прямоугольника обнаруженного объекта в пикселях в виде целого числа от 0 до 240.

Блок стека свойств объекта AI Vision с параметром, установленным в значение originY.#
(объект [AIVision v] [originY v])

Пример

при запуске
[If an an object is detected, approach and pick it up.]
вращение [ConveyorMotor v] [вверх v] на [200] [градусы v] ▶
вечно
получить данные [AI Classifications v] из [AIVision v]
если <объект [AIVision v] существует?> то
если <[120] [math_less_than v] (объект [AIVision v] [originY v])> то
остановить движение
прервать
иначе
вращать [IntakeMotor v] [потребление v]
движение [вперёд v]
конец
конец

Ощущение#

Оптический#

Оптическая система обнаружила объект.#

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

  • Верно — Оптический датчик обнаруживает объект.

  • Ложь — Оптический датчик не обнаруживает объект.

<[Optical v] обнаружил объект?>

Параметры

Описание

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

Пример

при запуске
[Move the preloaded Block to the top of the Conveyor.]
вращать [ConveyorMotor v] [вверх v]
ждать пока <[Optical v] обнаружил объект?>
остановить [ConveyorMotor v]

Оптический датчик определяет цвет.#

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

  • Верно – Датчик определяет указанный цвет.

  • Ложь – Датчик не обнаруживает указанный цвет.

<[Optical v] определяет [красный v]?>

Параметры

Описание

цвет

Какой цвет искать:

  • красный – значение оттенка от 340° до 20°.
  • зеленый – значение оттенка от 80° до 140°.
  • синий – значение оттенка от 200° до 240°.
  • желтый – значение оттенка от 40° до 60°.
  • оранжевый – значение оттенка от 20° до 40°.
  • фиолетовый – значение оттенка от 240° до 280°.
  • голубой – значение оттенка от 140° до 200°.

Пример

при запуске
[Pick up and move a Blue Block to the top of the Conveyor.]
вращение [ConveyorMotor v] [вверх v] на [200] [градусы v] ▶
вращать [IntakeMotor v] [потребление v]
движение [вперёд v] на [360] [мм v] ▶
вращать [ConveyorMotor v] [вверх v]
ждать пока <[Optical v] определяет [синий v]?>
остановить [ConveyorMotor v]

Оптическая яркость#

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

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

Параметры

Описание

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

Пример

при запуске
[Move the preloaded Block to the top of the Conveyor.]
вращать [ConveyorMotor v] [вверх v]
ждать пока <[0] [math_less_than v] (яркость [Optical v] в %)>
остановить [ConveyorMotor v]

Оптический оттенок#

Блок регистрации оптического оттенка отображает оттенок, обнаруженный оптическим датчиком, в виде числа от 0 до 359 градусов.

Оттенок — это способ описания цвета с помощью чисел на цветовом круге.

Круговой цветовой круг, отображающий полный спектр оттенков, обозначенных значениями градусов по периметру, увеличивающимися с шагом в 30 градусов от 0° вверху до 360°.

(оттенок [Optical v] в градусах)

Параметры

Описание

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

Пример

при запуске
[Pick up and move a Blue Block to the top of the Conveyor.]
вращение [ConveyorMotor v] [вверх v] на [200] [градусы v] ▶
вращать [IntakeMotor v] [потребление v]
движение [вперёд v] на [360] [мм v] ▶
вращать [ConveyorMotor v] [вверх v]
ждать пока <[240] [math_equal v] (оттенок [Optical v] в градусах)>
остановить [ConveyorMotor v]

когда оптический#

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

когда [Optical v] [обнаруживает v] объект

Параметры

Описание

состояние

Когда будет запущен прикрепленный стек блоков: detects запускается, когда обнаруживается необнаруженный объект, а loses запускается, когда обнаруженный объект перестает обнаруживаться.

GPS#

GPS-координаты#

Блок GPS-позиционирования возвращает смещение положения точки отсчета поворота робота относительно центра поля, полученное с помощью GPS-датчика (Game Positioning System™).

([GPS v] позиция [X v] в [мм v])

Параметры

Описание

ось

Какую ось следует указать:

  • X
  • Y

единицы

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

Пример

при запуске
[Pick up a second Block.]
вращать [ConveyorMotor v] в положение [200] [градусы v] ▶
вращать [IntakeMotor v] [потребление v]
движение [вперёд v]
ждать пока <[-450] [math_greater_than v] ([GPS v] позиция [Y v] в [мм v])>
остановить движение

Направление GPS#

Блок GPS-направление возвращает текущее направление движения робота, основанное на показаниях датчика GPS (Game Positioning System™) из полевого кода VEX GPS в диапазоне от 0,00 до 359,99 градусов.

([GPS v] курс в градусах)

Параметры

Описание

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

Пример

при запуске
[Score the preloaded Block into a Center Goal.]
поворот [влево v]
ждать пока <[40] [math_greater_than v] ([GPS v] курс в градусах)>
движение [вперёд v] на [1000] [мм v] ▶
поворот [вправо v]
ждать пока <([GPS v] курс в градусах) [math_greater_than v] [310]>
движение [назад v] на [200] [мм v] ▶
вращать [ConveyorMotor v] [вверх v]