Блоки, специфічні для роботів#
Вступ#
Робот-герой Флоп включає в себе впускний двигун, двигун ArmMotor та датчик зору IQ AI.
Усі стандартні блоки віртуальної реальності VEXcode доступні для використання на ігровому майданчику Підвищення рівня IQ 26-27.
Нижче наведено список усіх доступних блоків, специфічних для роботів:
Рух – Переміщення та відстеження двигунів робота.
Дії
обертання двигуна – Обертає двигун в одному з напрямків нескінченно.
обертати двигун протягом – Обертає двигун на певну відстань у градусах або обертах.
розкрутити двигун у потрібне положення – Розкрутить двигун у певне положення.
зупинити двигун – Зупиняє обертання двигуна.
Налаштування
встановити швидкість двигуна – Вказує двигуну, з якою швидкістю обертатися.
встановити тайм-аут двигуна – Встановлює час, протягом якого двигун намагатиметься завершити рух.
Позиція
положення двигуна – Повідомляє поточне положення двигуна.
встановити положення двигуна – Змінює поточне положення двигуна на нове значення.
Значення
двигун готовий – Повідомляє, чи завершив рух двигуна.
двигун обертається – Повідомляє, чи обертається двигун.
швидкість двигуна – Повідомляє про швидкість обертання двигуна у відсотках від -100% до 100%.
Штучний зір – захоплення та аналіз об’єктів за допомогою датчика зору IQ AI.
Дії
get object data – Записує дані для певного підпису, такого як виявлена класифікація ШІ.
Налаштування
set object item – Вибирає певний об’єкт зі списку.
Значення
об’єкт існує – Повертає, чи було виявлено будь-яку класифікацію.
об’єкт є – Повертає, чи виявлено певну класифікацію.
об’єкт є AprilTag – Повертає, чи є виявлений об’єкт AprilTag, що відповідає певному ідентифікатору.
кількість об’єктів – Повертає кількість виявлених об’єктів.
властивість об’єкта - Повертає ширину, висоту, centerX, centerY, originX або originY.
У прикладах на цій сторінці використовується початкова позиція ігрового майданчика за замовчуванням.
Рух#
Флоп використовує впускний двигун для збору та викидання ігрових елементів. Мотор важеля піднімає та опускає важіль.
Кожен двигун має власні параметри напрямку. Назви напрямків описують, як цей двигун рухається на флопі.
Дії#
обертальний двигун#
Блок стеку spin motor обертає двигун в одному з двох напрямків нескінченно. Двигун продовжуватиме обертатися, доки йому не буде надано іншу дію, наприклад, обертання в іншому напрямку або зупинка.
обертати [IntakeMotor v] [споживання v]
Параметри |
Опис |
|---|---|
двигун |
Двигун, що обертається: IntakeMotor або ArmMotor. |
напрямок |
Напрямок обертання двигуна:
|
Приклад
коли запущено
[Score a Bean Bag in a Blue Goal.]
повернути [ліворуч v] на (90) градусів ▶
їхати [вперед v] на (35) [дюйми v] ▶
повернути [праворуч v] на (90) градусів ▶
обертати [ArmMotor v] [вгору v] на (1) [оберти v] ▶
їхати [вперед v] на (40) [дюйми v] ▶
обертати [IntakeMotor v] [винос v]
обертальний двигун для#
Блок стеку spin motor for обертає двигун на певну відстань. Обертання залежить від поточного положення двигуна. Проект чекатиме, поки двигун завершить обертання, перш ніж запуститься наступний блок у стеку.
обертати [ArmMotor v] [вгору v] на (500) [градуси v] ▶
Параметри |
Опис |
|---|---|
двигун |
Двигун, що обертається: IntakeMotor або ArmMotor. |
напрямок |
Напрямок обертання двигуна:
|
відстань |
Відстань, на яку обертається двигун. Градуси використовують цілі числа. Оберти можуть використовувати цілі або десяткові числа. |
одиниця |
Одиниця вимірювання відстані: градуси або повороти. |
і не чекай |
Виберіть стрілку (▶), щоб розгорнути блок і сказати і не чекайте, тоді наступний блок у стеку запуститься одразу. |
Приклад
коли запущено
[Score a Bean Bag in a Blue Goal.]
повернути [ліворуч v] на (90) градусів ▶
їхати [вперед v] на (35) [дюйми v] ▶
повернути [праворуч v] на (90) градусів ▶
обертати [ArmMotor v] [вгору v] на (1) [оберти v] ▶
їхати [вперед v] на (40) [дюйми v] ▶
обертати [IntakeMotor v] [винос v]
поверніть двигун у потрібне положення#
Блок стеку spin motor to position обертає двигун у певне положення.
Положення двигуна – це відстань, на яку він обертувався, вимірюється в градусах або обертах. Один оберт дорівнює 360 градусам. На початку проекту положення двигуна встановлюється на 0 градусів. Положення двигуна також можна встановити за допомогою блоку set motor position.
Значення положення є абсолютними. Це означає, що напрямок обертання залежить від поточного положення двигуна.
Наприклад, якщо двигун запускається при 0 градусах і обертається до положення 720 градусів, він обертається вперед на два оберти. Якщо він потім обертається до положення 360 градусів, він обертається назад на один оберт, оскільки 360 менше за 720.
обертати [ArmMotor v] до позиції (500) [градуси v] ▶
Параметри |
Опис |
|---|---|
двигун |
Двигун, що обертається: IntakeMotor або ArmMotor. |
позиція |
Значення положення, до якого обертатиметься двигун. Градуси використовують цілі числа. Оберти можуть використовувати цілі або десяткові числа. |
одиниця |
Одиниця вимірювання положення: градуси або оберти. |
і не чекай |
Виберіть стрілку (▶), щоб розгорнути блок і сказати і не чекайте, тоді наступний блок у стеку запуститься одразу. |
Приклад
коли запущено
[Score a Bean Bag in a Blue Goal.]
повернути [ліворуч v] на (90) градусів ▶
їхати [вперед v] на (35) [дюйми v] ▶
повернути [праворуч v] на (90) градусів ▶
обертати [ArmMotor v] до позиції (1) [оберти v] ▶
їхати [вперед v] на (40) [дюйми v] ▶
обертати [IntakeMotor v] [винос v]
зупинити двигун#
Блок стека зупинити двигун зупиняє вибраний двигун.
зупинити [IntakeMotor v]
Параметри |
Опис |
|---|---|
двигун |
Двигун, який потрібно зупинити: IntakeMotor або ArmMotor. |
Приклад
коли запущено
[Score a Bean Bag in a Blue Goal.]
повернути [ліворуч v] на (90) градусів ▶
їхати [вперед v] на (35) [дюйми v] ▶
повернути [праворуч v] на (90) градусів ▶
обертати [ArmMotor v] [вгору v] на (1) [оберти v] ▶
їхати [вперед v] на (40) [дюйми v] ▶
обертати [IntakeMotor v] [винос v]
чекати (1) секунд
зупинити [IntakeMotor v]
Налаштування#
встановити швидкість двигуна#
Блок стека set motor velocity вказує двигуну, з якою швидкістю обертатися. Вищий відсоток змушує двигун обертатися швидше, а нижчий — повільніше.
Кожен проект починається з того, що кожен двигун обертається зі швидкістю 50% за замовчуванням.
Примітка: Вища швидкість робить двигун обертанням швидше, але це може бути менш точно. Нижча швидкість робить двигун обертанням повільніше, але це може бути точнішим.
встановити швидкість [IntakeMotor v] [50] [% v]
Параметри |
Опис |
|---|---|
двигун |
Двигун для встановлення швидкості: IntakeMotor або ArmMotor. |
швидкість |
Швидкість обертання двигуна. Відсоток використовує цілі числа від 0% до 100%. |
одиниця |
Одиниця вимірювання швидкості: %. |
Приклад
коли запущено
[Score a Bean Bag in a Blue Goal.]
повернути [ліворуч v] на (90) градусів ▶
їхати [вперед v] на (35) [дюйми v] ▶
повернути [праворуч v] на (90) градусів ▶
обертати [ArmMotor v] [вгору v] на (1) [оберти v] ▶
їхати [вперед v] на (40) [дюйми v] ▶
встановити швидкість [IntakeMotor v] [100] [% v]
обертати [IntakeMotor v] [винос v]
встановити тайм-аут двигуна#
Блок стеку set motor timeout встановлює час, протягом якого двигун намагатиметься завершити рух. Якщо двигун не зможе завершити рух за цей час, він припинить спроби та перейде до наступного блоку в стеку. Це запобігає зависанню двигуна на русі.
встановити тайм-аут [ArmMotor v] [1] секунд
Параметри |
Опис |
|---|---|
двигун |
Двигун для встановлення тайм-ауту: IntakeMotor або ArmMotor. |
час |
Кількість секунд, протягом яких двигун може спробувати завершити рух. Це може бути ціле або десяткове число. |
Приклад
коли запущено
[Score a Bean Bag in a Blue Goal.]
повернути [ліворуч v] на (90) градусів ▶
їхати [вперед v] на (35) [дюйми v] ▶
повернути [праворуч v] на (90) градусів ▶
встановити тайм-аут [ArmMotor v] [2] секунд
обертати [ArmMotor v] [вгору v] на (1) [оберти v] ▶
їхати [вперед v] на (40) [дюйми v] ▶
обертати [IntakeMotor v] [винос v]
Позиція#
положення двигуна#
Положення двигуна — це на скільки він обертився, вимірюється в градусах або обертах. Один оберт дорівнює 360 градусам. Блок репортера положення двигуна повідомляє поточне положення двигуна.
На початку проекту положення двигуна встановлюється на 0 градусів. Якщо двигун обертається на один повний оберт вперед, положення становитиме 360 градусів або 1 оберт. Якщо двигун обертається в іншому напрямку, положення буде від’ємним.
(позиція [ArmMotor v] у [градуси v])
Параметри |
Опис |
|---|---|
двигун |
Двигун, про положення якого потрібно повідомляти: IntakeMotor або ArmMotor. |
одиниця |
Одиниця вимірювання для повідомлення про положення двигуна у: градусах або обертах. |
Приклад
коли запущено
[Score a Bean Bag in a Blue Goal.]
повернути [ліворуч v] на (90) градусів ▶
їхати [вперед v] на (35) [дюйми v] ▶
повернути [праворуч v] на (90) градусів ▶
поки <(позиція [ArmMotor v] у [градуси v]) [math_less_than v] [360]>
обертати [ArmMotor v] [вгору v]
чекати (0.002) секунд
Кінець
зупинити [ArmMotor v]
їхати [вперед v] на (40) [дюйми v] ▶
обертати [IntakeMotor v] [винос v]
встановити положення двигуна#
Положення двигуна — це відстань його обертання, що вимірюється в градусах або обертах. Один оберт дорівнює 360 градусам. Блок стеку встановлення позиції двигуна змінює поточне положення двигуна на нове значення.
Наприклад, якщо двигун обертався на 180 градусів, встановлення положення на 0 градусів скине це положення зі 180 на 0 градусів. Потім двигун може обертатися в положення на основі цього нового значення.
встановити позицію [ArmMotor v] (0) [градуси v]
Параметри |
Опис |
|---|---|
двигун |
Двигун для встановлення положення: IntakeMotor або ArmMotor. |
позиція |
Значення позиції, яке потрібно встановити. Градуси використовують цілі числа. Повороти можуть використовувати цілі або десяткові числа. |
одиниця |
Одиниця вимірювання положення: градуси або оберти. |
Приклад
коли запущено
[Score a Bean Bag in a Blue Goal.]
повернути [ліворуч v] на (90) градусів ▶
їхати [вперед v] на (35) [дюйми v] ▶
повернути [праворуч v] на (90) градусів ▶
встановити позицію [ArmMotor v] [0] [градуси v]
обертати [ArmMotor v] [вгору v] на (1) [оберти v] ▶
їхати [вперед v] на (40) [дюйми v] ▶
обертати [IntakeMotor v] [винос v]
Цінності#
двигун готовий#
Булев блок motor is done повідомляє, чи завершив рух двигуна. Це можна використовувати для керування часом інших дій на основі руху двигуна.
Правда — Двигун завершив рух.
Хибно — Двигун все ще рухається.
Цей блок працює разом з наступними блоками руху, які мають параметр і не чекати: обертати двигун протягом та обертати двигун у потрібне положення.
<[ArmMotor v] завершено?>
Параметри |
Опис |
|---|---|
двигун |
Двигун, який має повідомляти про завершення руху: IntakeMotor або ArmMotor. |
Приклад
коли запущено
[Score a Bean Bag in a Blue Goal.]
повернути [ліворуч v] на (90) градусів ▶
їхати [вперед v] на (35) [дюйми v] ▶
повернути [праворуч v] на (90) градусів ▶
обертати [ArmMotor v] до позиції (1) [оберти v] ◀ і не чекати
чекати до <[ArmMotor v] завершено?>
їхати [вперед v] на (40) [дюйми v] ▶
обертати [IntakeMotor v] [винос v]
двигун обертається#
Булев блок motor is spinning повідомляє, чи обертається двигун. Це можна використовувати для керування часом інших дій на основі руху двигуна.
Правда — Двигун обертається.
Хибно — Двигун не обертається.
Цей блок працює разом з наступними блоками руху, які мають параметр і не чекати: обертати двигун протягом та обертати двигун у потрібне положення.
<[IntakeMotor v] обертається?>
Параметри |
Опис |
|---|---|
двигун |
Двигун, для якого потрібно повідомляти, чи обертається він: IntakeMotor або ArmMotor. |
Приклад
коли запущено
[Score a Bean Bag in a Blue Goal.]
повернути [ліворуч v] на (90) градусів ▶
їхати [вперед v] на (35) [дюйми v] ▶
повернути [праворуч v] на (90) градусів ▶
обертати [ArmMotor v] [вгору v] на (1) [оберти v] ▶
їхати [вперед v] на (40) [дюйми v] ▶
обертати [IntakeMotor v] [винос v]
чекати до <не <[IntakeMotor v] обертається?>>
зупинити [IntakeMotor v]
швидкість двигуна#
Блок репортера швидкість двигуна повідомляє про швидкість обертання двигуна у відсотках від -100% до 100%.
(швидкість [IntakeMotor v] у [% v] :: custom-motion)
Параметри |
Опис |
|---|---|
двигун |
Двигун, для якого потрібно повідомляти швидкість: IntakeMotor або ArmMotor. |
одиниця |
Одиниця вимірювання швидкості двигуна: %. |
Приклад
коли запущено
[Score a Bean Bag in a Blue Goal.]
повернути [ліворуч v] на (90) градусів ▶
їхати [вперед v] на (35) [дюйми v] ▶
повернути [праворуч v] на (90) градусів ▶
обертати [ArmMotor v] [вгору v] на (1) [оберти v] ▶
їхати [вперед v] на (40) [дюйми v] ▶
обертати [IntakeMotor v] [винос v]
чекати [0.2] секунд
вивести (швидкість [IntakeMotor v] у [% v] :: custom-motion) ▶
Зір штучного інтелекту#
Дії#
отримати дані об’єкта#
Блок get object data фільтрує дані з кадру IQ AI Vision Sensor до єдиного підпису — збереженого опису чогось, що датчик може розпізнати, наприклад, ігрового елемента на полі.
Набір даних зберігає об’єкти, відсортовані від найбільшого до найменшого за шириною, починаючи з індексу 0. Доступ до властивостей кожного об’єкта можна отримати за допомогою блоку властивість об’єкта. Якщо не виявлено відповідних об’єктів, повертається порожній набір даних.
отримати дані [AI Classifications v] з [AIVision v]
Параметр |
Опис |
|---|---|
підпис |
Фільтрує набір даних, щоб включити лише дані заданого підпису. Доступні підписи:
|
Приклад
коли запущено :: hat events
[Drop the preloaded Bean Bag.]
обертати [IntakeMotor v] [винос v] на (180) [градуси v] ▶
повернути [ліворуч v] на (90) градусів ▶
[Find and face the nearest red Bean Bag.]
встановити швидкість повороту (30) [% v]
встановити [object_counter v] на [1]
отримати дані [AI Classifications v] з [AIVision v]
повторити (кількість об'єктів [AIVision v])
встановити елемент об'єкта [AIVision v] на (object_counter)
якщо <об'єкт [AIVision v] є [RedBeanBag v]?> тоді
if <(об'єкт [AIVision v] [centerX v]) < (140)> then
повернути [ліворуч v]
else if <([AIVision v] object [centerX v]) > (180)> then
повернути [праворуч v]
інакше
зупинити рух
Кінець
перервати
Кінець
змінити [object_counter v] на [1]
Кінець
Налаштування#
елемент об’єкта встановлення#
Блок set object item встановлює, який елемент у наборі даних використовувати.
встановити елемент об'єкта [AIVision v] на [1]
Параметри |
Опис |
|---|---|
елемент |
Номер елемента в наборі даних, який потрібно використовувати. |
Приклад
коли запущено :: hat events
[Drop the preloaded Bean Bag.]
обертати [IntakeMotor v] [винос v] на (180) [градуси v] ▶
повернути [ліворуч v] на (90) градусів ▶
[Find the index of the nearest red Bean Bag.]
встановити [object_counter v] на [1]
отримати дані [AI Classifications v] з [AIVision v]
повторити (кількість об'єктів [AIVision v])
встановити елемент об'єкта [AIVision v] на (object_counter)
якщо <об'єкт [AIVision v] є [RedBeanBag v]?> тоді
вивести (об'єднати [Nearest Red Bean Bag is ] (object_counter)) ▶
перервати
інакше
змінити [object_counter v] на [1]
Кінець
Кінець
Цінності#
об’єкт існує#
Блок об’єкт існує повертає логічне значення, яке вказує, чи виявлено будь-який об’єкт у наборі даних.
True – Набір даних містить виявлений об’єкт.
Хибно – Набір даних не містить жодних виявлених об’єктів.
<об'єкт [AIVision v] існує?>
Параметри |
Опис |
|---|---|
Цей блок не має параметрів. |
Приклад
коли запущено :: hat events
[Drop the preloaded Bean Bag.]
обертати [IntakeMotor v] [винос v] на (180) [градуси v] ▶
повернути [ліворуч v] на (90) градусів ▶
[Turn until a Bean Bag is detected.]
встановити швидкість повороту (30) [% v]
повернути [праворуч v]
повторювати до <об'єкт [AIVision v] існує?>
отримати дані [AI Classifications v] з [AIVision v]
Кінець
зупинити рух
об’єкт є#
Блок object is повертає логічне значення, яке вказує, чи відповідає виявлений об’єкт певній класифікації.
True – Елемент у наборі даних є певним об’єктом.
Хибність – елемент у наборі даних не є конкретним об’єктом.
<об'єкт [AIVision v] є [RedBeanBag v]?>
Параметр |
Опис |
|---|---|
об’єкт |
З яким об’єктом порівняти предмет: ЧервонаСумкаДляКвасоля, СиняСумкаДляКвасоля або ЖовтаСумкаДляКвасоля. |
Приклад
коли запущено :: hat events
[Drop the preloaded Bean Bag.]
обертати [IntakeMotor v] [винос v] на (180) [градуси v] ▶
повернути [ліворуч v] на (90) градусів ▶
[Find the index of the nearest red Bean Bag.]
встановити [object_counter v] на [1]
отримати дані [AI Classifications v] з [AIVision v]
повторити (кількість об'єктів [AIVision v])
встановити елемент об'єкта [AIVision v] на (object_counter)
якщо <об'єкт [AIVision v] є [RedBeanBag v]?> тоді
вивести (об'єднати [Nearest Red Bean Bag is ] (object_counter)) ▶
перервати
інакше
змінити [object_counter v] на [1]
Кінець
Кінець
об’єктом є AprilTag#
Блок object is AprilTag повертає логічне значення, яке вказує, чи є виявлений об’єкт AprilTag, що відповідає певному ідентифікатору.
True – Виявлений об’єкт є AprilTag із заданим ідентифікатором.
False – Виявлений об’єкт не є AprilTag із заданим ідентифікатором.
<об'єкт [AIVision v] є AprilTag [0]?>
Параметр |
Опис |
|---|---|
Ідентифікатор тегу квітня |
Ідентифікаційний номер для порівняння з виявленим AprilTag. |
Приклад
коли запущено :: hat events
[Stop when you see the Red Goal!]
встановити швидкість повороту (30) [% v]
повернути [праворуч v]
повторювати до <об'єкт [AIVision v] є AprilTag [1]?>
отримати дані [AprilTags v] з [AIVision v]
Кінець
зупинити рух
вивести [Found the Red Goal!] ▶
кількість об’єктів#
Блок object count повертає кількість виявлених об’єктів у наборі даних у вигляді цілого числа.
(кількість об'єктів [AIVision v])
Параметри |
Опис |
|---|---|
Цей блок не має параметрів. |
Приклад
коли запущено :: hat events
[Drop the preloaded Bean Bag.]
обертати [IntakeMotor v] [винос v] на (180) [градуси v] ▶
повернути [ліворуч v] на (90) градусів ▶
[Print how many Bean Bags are detected.]
отримати дані [AI Classifications v] з [AIVision v]
вивести (кількість об'єктів [AIVision v]) ▶
властивість об’єкта#
Існує шість властивостей, які додаються до кожного об’єкта, що зберігається після використання блоку get object data.
(об'єкт [AIVision v] [ширина v])
Усі значення властивостей описують положення та розмір виявленого об’єкта в області перегляду IQ AI Vision Sensor у момент використання блоку get object data. Ці значення вимірюються в пікселях, виходячи з роздільної здатності датчика 320 на 240 пікселів.
Параметр |
Опис |
|---|---|
власність |
Яку властивість виявленого об’єкта використовувати: ширина, висота, центрX, центрY, початкова точка X або початкова точка Y. |
ширина#
Властивість width повідомляє ширину виявленого об’єкта в пікселях як ціле число від 1 до 320.
(об'єкт [AIVision v] [ширина v])
Приклад
коли запущено
[Drop the preloaded Bean Bag.]
обертати [IntakeMotor v] [винос v] на (180) [градуси v] ▶
повернути [ліворуч v] на (90) градусів ▶
[Approach the Bean Bag, then pick it up.]
встановити швидкість руху (30) [% v]
назавжди
отримати дані [AI Classifications v] з [AIVision v]
якщо <об'єкт [AIVision v] існує?> тоді
встановити елемент об'єкта [AIVision v] на [1]
якщо <об'єкт [AIVision v] є [RedBeanBag v]?> тоді
if <([AIVision v] object [width v]) > (180)> then
їхати [вперед v] на [50] [мм v] ▶
обертати [IntakeMotor v] [споживання v] на [90] [градуси v] ▶
перервати
інакше
їхати [вперед v]
Кінець
Кінець
Кінець
Кінець
висота#
Властивість height повідомляє висоту виявленого об’єкта в пікселях як ціле число від 1 до 240.
(об'єкт [AIVision v] [висота v])
Приклад
коли запущено
[Drop the preloaded Bean Bag.]
обертати [IntakeMotor v] [винос v] на (180) [градуси v] ▶
повернути [ліворуч v] на (90) градусів ▶
[Approach the Bean Bag, then pick it up.]
встановити швидкість руху (30) [% v]
назавжди
отримати дані [AI Classifications v] з [AIVision v]
якщо <об'єкт [AIVision v] існує?> тоді
встановити елемент об'єкта [AIVision v] на [1]
якщо <об'єкт [AIVision v] є [RedBeanBag v]?> тоді
if <([AIVision v] object [height v]) > (100)> then
їхати [вперед v] на [50] [мм v] ▶
обертати [IntakeMotor v] [споживання v] на [90] [градуси v] ▶
перервати
інакше
їхати [вперед v]
Кінець
Кінець
Кінець
Кінець
центрX#
Властивість centerX повідомляє x-координату центру виявленого об’єкта в пікселях як ціле число від 0 до 320.
(об'єкт [AIVision v] [centerX v])
Приклад
коли запущено
[Drop the preloaded Bean Bag.]
обертати [IntakeMotor v] [винос v] на (180) [градуси v] ▶
повернути [ліворуч v] на (90) градусів ▶
[Steer to keep the Bean Bag centered while approaching.]
встановити швидкість повороту (30) [% v]
встановити швидкість руху (30) [% v]
назавжди
отримати дані [AI Classifications v] з [AIVision v]
якщо <об'єкт [AIVision v] існує?> тоді
встановити елемент об'єкта [AIVision v] на [1]
якщо <об'єкт [AIVision v] є [RedBeanBag v]?> тоді
if <(об'єкт [AIVision v] [centerX v]) < (140)> then
повернути [ліворуч v] на (5) градусів ▶
інакше
їхати [вперед v] на (150) [мм v] ▶
обертати [IntakeMotor v] [споживання v]
перервати
Кінець
Кінець
Кінець
Кінець
центрY#
Властивість centerY повідомляє y-координату центру виявленого об’єкта в пікселях як ціле число від 0 до 240.
(об'єкт [AIVision v] [centerY v])
Приклад
коли запущено
[Drop the preloaded Bean Bag.]
обертати [IntakeMotor v] [винос v] на (180) [градуси v] ▶
повернути [ліворуч v] на (90) градусів ▶
[Print the y-position of the Bean Bag.]
отримати дані [AI Classifications v] з [AIVision v]
якщо <об'єкт [AIVision v] існує?> тоді
встановити елемент об'єкта [AIVision v] на [1]
якщо <об'єкт [AIVision v] є [RedBeanBag v]?> тоді
вивести (об'єкт [AIVision v] [centerY v]) ▶
Кінець
Кінець
походженняX#
Властивість originX повідомляє x-координату верхнього лівого кута рамки визначення виявленого об’єкта в пікселях як ціле число від 0 до 320.
(об'єкт [AIVision v] [originX v])
Приклад
коли запущено
[Drop the preloaded Bean Bag.]
обертати [IntakeMotor v] [винос v] на (180) [градуси v] ▶
повернути [ліворуч v] на (90) градусів ▶
[Steer to keep the left edge centered.]
встановити швидкість повороту (30) [% v]
встановити швидкість руху (30) [% v]
назавжди
отримати дані [AI Classifications v] з [AIVision v]
якщо <об'єкт [AIVision v] існує?> тоді
встановити елемент об'єкта [AIVision v] на [1]
якщо <об'єкт [AIVision v] є [RedBeanBag v]?> тоді
if <(об'єкт [AIVision v] [originX v]) < (100)> then
повернути [ліворуч v] на (5) градусів ▶
інакше
їхати [вперед v] на (150) [мм v] ▶
обертати [IntakeMotor v] [споживання v]
перервати
Кінець
Кінець
Кінець
Кінець
походженняY#
Властивість originY повідомляє y-координату верхнього лівого кута рамки визначення виявленого об’єкта в пікселях як ціле число від 0 до 240.
(об'єкт [AIVision v] [originY v])
Приклад
коли запущено
[Drop the preloaded Bean Bag.]
обертати [IntakeMotor v] [винос v] на (180) [градуси v] ▶
повернути [ліворуч v] на (90) градусів ▶
[Print the y-position of the Bean Bag's top edge.]
отримати дані [AI Classifications v] з [AIVision v]
якщо <об'єкт [AIVision v] існує?> тоді
встановити елемент об'єкта [AIVision v] на [1]
якщо <об'єкт [AIVision v] є [RedBeanBag v]?> тоді
вивести (об'єкт [AIVision v] [originY v]) ▶
Кінець
Кінець