Трансмісія#

Вступ#

Робот VEX IQ (2-го покоління) використовує трансмісію для руху та повороту. Трансмісія складається з двигунів та коліс, які працюють разом для переміщення робота.

Налаштований трансмісійний агрегат може використовувати підключений гіроскопічний датчик, вбудований у Brain інерційний датчик або взагалі не використовувати датчик. Коли використовується датчик, трансмісійний агрегат використовує його для точного руху та повороту робота. На початку кожного проекту трансмісійний агрегат автоматично калібрує датчик. Під час калібрування тримайте робота нерухомим приблизно 2 секунди, щоб робот міг правильно рухатися та повертатися.

Існує багато способів кодування трансмісії. Нижче наведено список усіх блоків трансмісії:

Дії — Переміщення та поворот робота.

  • drive — Рухає робота вперед або назад безперервно.

  • drive for — Переміщує робота вперед або назад на певну відстань.

  • повернути — Повертає робота ліворуч або праворуч назавжди.

  • повернути на — Повертає робота ліворуч або праворуч на певну кількість градусів.

  • повернути до напрямку — Повертає робота обличчям до певного напрямку від -359 до 359 градусів. Робот поверне найкоротшим шляхом для досягнення цільового напрямку.

  • повернути на обертання — Повертає робота на певний оберт.

  • зупинити рух — Зупиняє рух робота.

Налаштування — Налаштування параметрів трансмісії.

Значення — Перевірити стан руху.

Дії#

диск#

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

їхати [вперед 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) секунд

поворот на обертання#

Блок стеку поворот на обертання повертає робота на певний оберт.

Обертання – це кут повороту робота, виміряний у градусах. На початку проекту значення повороту встановлюється на 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] секунд
зупинити рух

Налаштування#

встановити швидкість руху#

Блок стеку set drive velocity вказує роботу, з якою швидкістю рухатися. Вища швидкість робить робот швидшим, а нижча швидкість робить його повільнішим.

Кожен проєкт починається з того, що робот рухається зі швидкістю 50% за замовчуванням.

Примітка: Вища швидкість робить робот швидшим, але це може бути менш точно. Нижча швидкість робить робот повільнішим, але це може бути точнішим.

встановити швидкість руху (50) [% v]

Параметри

Опис

швидкість

Швидкість руху від 0% до 100% при використанні %. об/хв (оберти за хвилину) використовує значення від 0 до 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) секунд

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

Блок стеку set turn velocity вказує роботу, як швидко повертатися. Вища швидкість змушує робота повертатися швидше, а нижча швидкість — повільніше.

Кожен проект починається з того, що робот обертається зі швидкістю 50% за замовчуванням.

Примітка: Вища швидкість змушує робота обертатися швидше, але це може бути менш точно. Нижча швидкість змушує робота обертатися повільніше, але це може бути точніше.

встановити швидкість повороту (50) [% v]

Параметри

Опис

швидкість

Швидкість обертання від 0% до 100% при використанні %. об/хв (оберти за хвилину) використовує значення від 0 до 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) градусів ▶

Цінності#

диск завершено#

Булевий блок drive is done повідомляє, чи завершив рух робота. Це можна використовувати для керування часом інших дій на основі руху робота.

  • Правда — Робот завершив рух.

  • Хибно — Робот все ще рухається.

Цей блок працює разом з наступними блоками Drivetrain, які мають параметр і не чекати: їздити на, повернути на, повернути на напрямок та повернути на обертання.

<рух завершено?>

Параметри

Опис

Цей блок не має параметрів.

Приклад

коли запущено
[Start spinning when the drive is complete.]
їхати [вперед v] на (200) [мм v] ◀ і не чекати
назавжди
якщо <рух завершено?> тоді
повернути [праворуч v] на (360) градусів ▶
перервати
інакше
встановити курсор на рядок (1) стовпець (1) на екрані
вивести [Still Moving...] на екран ▶
чекати (0.1) секунд
очистити екран

привід рухається#

Булевий блок привід рухається повідомляє, чи рухається робот. Це можна використовувати для керування часом інших дій на основі руху робота.

  • Правда — Робот рухається.

  • Хибно — Робот не рухається.

Цей блок працює разом з наступними блоками Drivetrain, які мають параметр і не чекати: їздити на, повернути на, повернути на напрямок та повернути на обертання.

<рух виконується?>

Параметри

Опис

Цей блок не має параметрів.

Приклад

коли запущено
[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]) на екран ◀ і перейти до наступного рядка
зупинити рух