Python, специфічний для роботів#

Вступ#

Робот-герой Byte оснащений двома варіантами груп двигунів та оптичним датчиком.

Усі стандартні методи віртуальної реальності VEXcode доступні для використання на ігровому майданчику IQ 23-24 Full Volume.

Нижче наведено список усіх доступних методів, специфічних для роботів:

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

  • Дії

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

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

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

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

    • turn_to_heading — Повертає робота обличчям до певного напрямку від -359 до 359 градусів.

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

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

  • Мутатори

    • set_heading — Змінює поточний напрямок руху робота на новий.

    • set_rotation — Змінює поточне обертання робота на нове обертання.

    • set_timeout — Встановлює, скільки часу робот намагатиметься завершити рух.

    • set_drive_velocity — Вказує роботу, з якою швидкістю рухатися.

    • set_turn_velocity — Вказує роботу, як швидко повертатися.

  • Геттери

    • heading — Повертає поточний напрямок руху робота від 0 до 359,99 градусів.

    • rotation — Повертає поточне обертання робота.

    • is_done — Повертає, чи завершив рух робот, у вигляді логічного значення.

    • is_moving — Повертає значення типу логічне, яке вказує, чи рухається робот.

    • velocity — Повертає швидкість руху робота.

Рух – Переміщення та відстеження рухових груп робота.

  • Дії

    • spin — Обертає групу двигунів вперед або назад назавжди.

    • spin_for — Обертає групу двигунів на певну відстань.

    • spin_to_position — Обертає групу двигунів у певне положення.

    • stop — Зупиняє обертання групи двигунів.

  • Мутатори

    • set_position — Змінює поточне положення групи двигунів на нове значення.

    • set_velocity — Вказує групі двигунів, з якою швидкістю обертатися.

    • set_timeout — Встановлює, скільки часу група двигунів намагатиметься завершити рух.

  • Геттери

    • is_done — Повертає, чи завершила рух група двигунів, у вигляді логічного значення.

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

    • position — Повертає поточну позицію групи двигунів.

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

Консоль – Вивід у консоль та моніторинг значень.

  • Друк

    • brain.screen.print — Відображає текст, числа або значення змінних у консолі.

    • brain.screen.next_row — Переміщує курсор консолі на початок наступного рядка.

    • brain.screen.clear_screen — Очищає всі рядки з консолі.

  • Монітор

    • monitor_variable — Додає одну або декілька попередньо визначених змінних до вкладки «Монітор».

    • monitor_sensor — Додає одне або декілька значень датчика до вкладки «Монітор».

Сенсорика – Використовуйте різні датчики робота.

  • Оптичний

    • is_near_object – Повертає, чи оптичний датчик виявляє об’єкт у межах досяжності.

    • color – Повертає колір, виявлений оптичним датчиком.

    • brightness – Повертає кількість світла, відбитого від об’єкта.

    • hue – Повертає відтінок, виявлений оптичним датчиком.

    • object_detected – Реєструє функцію, яка викликається, коли оптичний датчик виявляє об’єкт.

    • object_lost – Реєструє функцію, яка викликається, коли оптичний датчик втрачає об’єкт.

У прикладах на цій сторінці використовується початкова позиція ігрового майданчика за замовчуванням.

Трансмісія#

Трансмісія контролює, як VR-робот керує рухом та поворотами. Трансмісія може рухатися вперед або назад, повертати ліворуч або праворуч, змінювати напрямок руху та відстежувати своє обертання.

Дії#

диск#

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

Usage:
drivetrain.drive(direction)

Параметри

Опис

direction

Напрямок руху робота: FORWARD або REVERSE.

def main():
    # Drive forward then stop
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

диск_для#

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

Usage:
drivetrain.drive_for(direction, distance, units, wait)

Параметри

Опис

direction

Напрямок руху робота: FORWARD або REVERSE.

distance

Відстань, яку проїжджає робот. Це може бути integer або десяткове число (float).

units

Необов’язково. Одиниця вимірювання відстані: INCHES (за замовчуванням) або MM (міліметри).

wait

Необов’язково. wait=True (за замовчуванням) змушує проект чекати, поки робот завершить рух, перш ніж виконувати наступний рядок коду. wait=False змушує наступний рядок коду виконуватися негайно.

def main():
    # Drive forward and backward
    drivetrain.drive_for(FORWARD, 200, MM)
    drivetrain.drive_for(REVERSE, 200, MM)

# VR threads — Do not delete
vr_thread(main)

поворот#

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

Usage:
drivetrain.turn(direction)

Параметри

Опис

direction

Напрямок повороту робота: LEFT або RIGHT.

def main():
    # Turn right and left, then stop
    drivetrain.turn(RIGHT)
    wait(2, SECONDS)
    drivetrain.turn(LEFT)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

повернути_на#

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

Usage:
drivetrain.turn_for(direction, angle, units, wait)

Параметри

Опис

direction

Напрямок повороту робота: LEFT або RIGHT.

angle

Кількість градусів, на яку повертається робот. Це може бути integer або десяткове число (float).

units

Необов’язково. Одиниця обертання: DEGREES (за замовчуванням).

wait

Необов’язково. wait=True (за замовчуванням) змушує проект чекати, поки робот завершить обертання, перш ніж виконувати наступний рядок коду. wait=False змушує наступний рядок коду виконуватися негайно.

def main():
    # Turn the robot right and left
    drivetrain.turn_for(RIGHT, 90, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_for(LEFT, 90, DEGREES)

# VR threads — Do not delete
vr_thread(main)

поворот_до_заголовка#

Курс руху – це напрямок, у якому рухається робот, виміряний у градусах. turn_to_heading повертає робота обличчям до певного курсу від -359 до 359 градусів. Робот поверне у найкоротшому напрямку, щоб досягти цільового курсу.

Початковий курс робота становить 0 градусів.

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

Usage:
drivetrain.turn_to_heading(angle, units, wait)

Параметри

Опис

angle

The direction the robot should face, in degrees. This can be an integer or decimal (float) from -359 to 359.

units

Необов’язково. Одиниця обертання: DEGREES (за замовчуванням).

wait

Необов’язково. wait=True (за замовчуванням) змушує проект чекати, поки робот завершить обертання, перш ніж виконувати наступний рядок коду. wait=False змушує наступний рядок коду виконуватися негайно.

def main():
    # Turn to face the cardinal directions
    drivetrain.turn_to_heading(90, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(180, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(270, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

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

turn_to_rotation повертає робота до певного обертання.

Обертання – це кут повороту робота, виміряний у градусах. На початку проекту значення повороту встановлюється на 0 градусів. Обертання також можна встановити за допомогою методу set_rotation.

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

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

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

Usage:
drivetrain.turn_to_rotation(angle, units, wait)

Параметри

Опис

angle

Значення повороту в градусах, до якого повернеться робот. Це може бути ціле число integer або десяткове число (float).

units

Необов’язково. Одиниця обертання: DEGREES (за замовчуванням).

wait

Необов’язково. wait=True (за замовчуванням) змушує проект чекати, поки робот завершить обертання, перш ніж виконувати наступний рядок коду. wait=False змушує наступний рядок коду виконуватися негайно.

def main():
    # Turn left, then spin in a circle
    # clockwise and face right
    drivetrain.turn_to_rotation(-90, DEGREES)
    wait(1, SECONDS)
    drivetrain.turn_to_rotation(450, DEGREES)

# VR threads — Do not delete
vr_thread(main)

СТІЙ#

stop зупиняє рух робота.

Usage:
drivetrain.stop()

Параметри

Опис

Цей метод не має параметрів.

def main():
    # Drive forward then stop
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

Мутатори#

set_heading#

Курс – це напрямок, у якому рухається робот, виміряний у градусах. set_heading змінює поточний курс робота на нове значення курсу.

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

Usage:
drivetrain.set_heading(heading, units)

Параметри

Опис

heading

Значення курсу в градусах, яке потрібно встановити для робота. Це може бути ціле число integer або десяткове число (float).

units

Необов’язково. Одиниця вимірювання заголовка: DEGREES (за замовчуванням).

def main():
    # Face the new 0 degrees
    drivetrain.set_heading(90, DEGREES)
    drivetrain.turn_to_heading(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

встановити_обертання#

Обертання – це кут повороту робота, виміряний у градусах. На початку проекту значення повороту встановлюється на 0 градусів. set_rotation змінює поточне обертання робота на нове значення.

Наприклад, якщо робот зробив два повних оберти праворуч, значення його обертання становитиме 720 градусів. Встановлення обертання на 0 градусів скине це обертання з 720 до 0 градусів. Потім робот зможе повертатися до обертань на основі цього нового значення.

Usage:
drivetrain.set_rotation(rotation, units)

Параметри

Опис

rotation

Значення обертання в градусах, яке потрібно встановити для робота. Це може бути ціле число integer або десяткове число (float).

units

Необов’язково. Одиниця обертання: DEGREES (за замовчуванням).

def main():
    # Spin counterclockwise two times
    drivetrain.set_rotation(720, DEGREES)
    drivetrain.turn_to_rotation(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

set_timeout#

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

Usage:
drivetrain.set_timeout(value, units)

Параметри

Опис

value

Кількість часу, протягом якого робот може намагатися завершити рух. Це може бути додатне ціле число integer або десяткове число (float).

units

Одиниця часу: SECONDS або MSEC (мілісекунди).

def main():
    # Turn right after driving forward
    drivetrain.set_timeout(1, SECONDS)
    drivetrain.drive_for(FORWARD, 25, INCHES)
    drivetrain.turn_for(RIGHT, 90)

# VR threads — Do not delete
vr_thread(main)

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

set_drive_velocity вказує роботу, з якою швидкістю рухатися. Вищий відсоток робить робот швидшим, а нижчий – повільнішим.

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

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

Usage:
drivetrain.set_drive_velocity(velocity, units)

Параметри

Опис

velocity

Швидкість руху від 0% до 100%. Це може бути integer або десяткове число (float з плаваючою комою).

units

Необов’язково. Одиниця вимірювання швидкості: PERCENT (за замовчуванням).

def main():
    # Drive forward at different velocities
    # Default velocity
    drivetrain.drive_for(FORWARD, 150, MM)
    wait(1, SECONDS)
    # Drive slower
    drivetrain.set_drive_velocity(20, PERCENT)
    drivetrain.drive_for(FORWARD, 150, MM)
    wait(1, SECONDS)
    # Drive faster
    drivetrain.set_drive_velocity(100, PERCENT)
    drivetrain.drive_for(FORWARD, 150, MM)

# VR threads — Do not delete
vr_thread(main)

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

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

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

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

Usage:
drivetrain.set_turn_velocity(velocity, units)

Параметри

Опис

velocity

Швидкість обертання від 0% до 100%. Це може бути integer або десяткове число (float з плаваючою комою).

units

Необов’язково. Одиниця вимірювання швидкості: PERCENT (за замовчуванням).

def main():
    # Turn at different velocities
    # Default velocity
    drivetrain.turn_for(RIGHT, 120, DEGREES)
    wait(1, SECONDS)
    # Turn slower
    drivetrain.set_turn_velocity(20, PERCENT)
    drivetrain.turn_for(RIGHT, 120, DEGREES)
    wait(1, SECONDS)
    # Turn faster
    drivetrain.set_turn_velocity(100, PERCENT)
    drivetrain.turn_for(RIGHT, 120, DEGREES)

# VR threads — Do not delete
vr_thread(main)

Геттери#

заголовок#

Курс – це напрямок, у якому рухається робот, виміряний у градусах. heading повертає поточний курс робота від 0 до 359,99 градусів.

Початковий курс робота становить 0 градусів.

Usage:
drivetrain.heading(units)

Параметри

Опис

units

Необов’язково. Одиниця вимірювання заголовка: DEGREES (за замовчуванням).

def main():
    # Display the heading after turning
    drivetrain.turn_for(RIGHT, 450, DEGREES)
    brain.screen.print("Heading: ")
    brain.screen.print(drivetrain.heading(DEGREES))

# VR threads — Do not delete
vr_thread(main)

обертання#

Обертання – це кут повороту робота, виміряний у градусах. На початку проекту значення повороту встановлюється на 0 градусів. rotation повертає поточне обертання робота.

Поворот праворуч збільшує обертання, а поворот ліворуч зменшує. Наприклад, два повних оберти праворуч повернуть обертання на 720 градусів.

Usage:
drivetrain.rotation(units)

Параметри

Опис

units

Необов’язково. Одиниця обертання: DEGREES (за замовчуванням).

def main():
    # Display the rotation after turning
    drivetrain.turn_for(RIGHT, 450, DEGREES)
    brain.screen.print("Rotation: ")
    brain.screen.print(drivetrain.rotation(DEGREES))

# VR threads — Do not delete
vr_thread(main)

зроблено#

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

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

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

Цей метод працює разом із наступними методами Drivetrain, які мають параметр wait : drive_for, turn_for, turn_to_heading та turn_to_rotation.

Usage:
drivetrain.is_done()

Параметри

Опис

Цей метод не має параметрів.

рухається#

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

  • True — Робот рухається.

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

Usage:
drivetrain.is_moving()

Параметри

Опис

Цей метод не має параметрів.

швидкість#

velocity повертає швидкість руху робота у відсотках від -100% до 100%.

Usage:
drivetrain.velocity(units)

Параметри

Опис

units

Необов’язково. Одиниця вимірювання швидкості: PERCENT (за замовчуванням).

Приклад

def main():
    # Display the velocity after driving
    drivetrain.drive_for(FORWARD, 150, MM)
    brain.screen.print("Velocity: ")
    brain.screen.print(drivetrain.velocity(PERCENT))

Рух#

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

Кожна група двигунів має свою власну поведінку в напрямку. Описи напрямків пояснюють, як кожен напрямок переміщує цю групу двигунів на байті.

Дії#

обертання#

spin обертає групу двигунів вперед або назад безкінечно. Група двигунів продовжуватиме обертатися, доки їй не буде надано іншу дію, наприклад, обертання в іншому напрямку або зупинка.

Використання:
З цим методом можна використовувати один із двох доступних об’єктів групи двигунів, як показано нижче:

двигун

Команда

arm_motor_group

arm_motor_group.spin(direction) — Група двигунів важеля

intake_motor_group

intake_motor_group.spin(direction) — Група впускних двигунів

Параметри

Опис

direction

Напрямок обертання групи двигунів:

  • FORWARD — Піднімає групу двигунів важеля або обертає групу двигунів впуску у напрямку впуску.
  • REVERSE — Опускає групу двигунів важеля або обертає групу двигунів впуску у напрямку випуску.

def main():
    # Spin the intake motor forward then stop
    intake_motor_group.spin(FORWARD)
    wait(0.5, SECONDS)
    intake_motor_group.stop()

# VR threads — Do not delete
vr_thread(main)

обертання_для#

spin_for обертає групу двигунів на певну відстань. Обертання залежить від поточного положення групи двигунів. Проект чекатиме, поки група двигунів завершить обертання, перш ніж виконуватиметься наступний рядок коду.

Використання:
З цим методом можна використовувати один із двох доступних об’єктів групи двигунів, як показано нижче:

двигун

Команда

arm_motor_group

arm_motor_group.spin_for(direction, distance, units, wait) — Група двигунів руки

intake_motor_group

intake_motor_group.spin_for(direction, distance, units, wait) — Група впускних двигунів

Параметри

Опис

direction

Напрямок обертання групи двигунів:

  • FORWARD — Піднімає групу двигунів важеля або обертає групу двигунів впуску у напрямку впуску.
  • REVERSE — Опускає групу двигунів важеля або обертає групу двигунів впуску у напрямку випуску.

distance

Відстань, на яку обертається група двигунів. DEGREES використовує цілі числа. TURNS може використовувати цілі або десяткові числа.

units

Необов’язково. Одиниця вимірювання відстані: DEGREES (за замовчуванням) або TURNS.

wait

Необов’язково.

  • wait=True (за замовчуванням) — Змушує проект чекати, поки група двигунів завершить обертання, перш ніж виконуватися наступний рядок коду.
  • wait=False — Змушує наступний рядок коду виконуватися негайно.

def main():
    # Spin the intake motor forward then stop
    intake_motor_group.spin_for(FORWARD, 360, DEGREES)

# VR threads — Do not delete
vr_thread(main)

обертання_в_позицію#

spin_to_position обертає групу двигунів у певне положення.

Положення групи двигунів – це відстань її обертання, що вимірюється в DEGREES або TURNSОдин оберт дорівнює 360 градусам. На початку проекту положення групи двигунів встановлюється на 0 градусів. Положення групи двигунів також можна встановити за допомогою методу set_position.

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

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

Використання:
З цим методом можна використовувати один із двох доступних об’єктів групи двигунів, як показано нижче:

двигун

Команда

arm_motor_group

arm_motor_group.spin_to_position(angle, units, wait=True) — Група двигунів важеля

intake_motor_group

intake_motor_group.spin_to_position(angle, units, wait=True) — Група впускних двигунів

Параметри

Опис

angle

Значення положення, до якого обертатиметься група двигунів. DEGREES – використання цілих чисел. TURNS – використання цілих або десяткових чисел.

units

Необов’язково. Одиниця вимірювання положення: DEGREES (за замовчуванням) або TURNS.

wait

Необов’язково.

  • wait=True (за замовчуванням) — Змушує проект чекати, поки група двигунів завершить обертання, перш ніж виконуватися наступний рядок коду.
  • wait=False — Змушує наступний рядок коду виконуватися негайно.

def main():
    # Spin the intake motor forward then stop
    intake_motor_group.spin_to_position(55, DEGREES)

# VR threads — Do not delete
vr_thread(main)

СТІЙ#

stop зупиняє обертання групи двигунів.

Використання:
З цим методом можна використовувати один із двох доступних об’єктів групи двигунів, як показано нижче:

двигун

Команда

arm_motor_group

arm_motor_group.stop() — Група двигунів руки

intake_motor_group

intake_motor_group.stop() — Група впускних двигунів

Параметри

Опис

Цей метод не має параметрів.

def main():
    # Spin the intake motor forward then stop
    intake_motor_group.spin(FORWARD)
    wait(0.5, SECONDS)
    intake_motor_group.stop()

# VR threads — Do not delete
vr_thread(main)

Мутатори#

set_position#

Положення групи двигунів – це те, наскільки вона обертнулася, вимірюється в DEGREES або TURNSОдин оберт дорівнює 360 градусам. set_position змінює поточне положення групи двигунів на нове значення.

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

Використання:
З цим методом можна використовувати один із двох доступних об’єктів групи двигунів, як показано нижче:

двигун

Команда

arm_motor_group

arm_motor_group.set_position(position, units) — Група двигунів руки

intake_motor_group

intake_motor_group.set_position(position, units) — Група впускних двигунів

Параметри

Опис

position

Значення положення, яке потрібно встановити для групи двигунів. DEGREES – використовувати цілі числа. TURNS – використовувати цілі або десяткові числа.

units

Необов’язково. Одиниця вимірювання положення: DEGREES (за замовчуванням) або TURNS.

def main():
    # Set the current motor position to 90 degrees
    intake_motor_group.set_position(90, DEGREES)
    # Spin the intake motor back to 0 degrees
    intake_motor_group.spin_to_position(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

встановити_швидкість#

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

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

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

Використання:
З цим методом можна використовувати один із двох доступних об’єктів групи двигунів, як показано нижче:

двигун

Команда

arm_motor_group

arm_motor_group.set_velocity(velocity, units) — Група двигунів руки

intake_motor_group

intake_motor_group.set_velocity(velocity, units) — Група впускних двигунів

Параметри

Опис

velocity

Швидкість обертання від 0% до 100%. Це може бути integer або десяткове число (float з плаваючою комою).

units

Одиниця вимірювання швидкості: PERCENT.

def main():
    # Spin the intake motor forward then stop
    intake_motor_group.set_velocity(75, PERCENT)
    intake_motor_group.spin_to_position(180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

set_timeout#

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

Використання:
З цим методом можна використовувати один із двох доступних об’єктів групи двигунів, як показано нижче:

двигун

Команда

arm_motor_group

arm_motor_group.set_timeout(value, units) — Група двигунів Arm

intake_motor_group

intake_motor_group.set_timeout(value, units) — Група впускних двигунів

Параметри

Опис

value

Кількість часу, протягом якого рухова група може намагатися завершити рух. Це може бути додатне ціле число integer або десяткове число (float).

units

Одиниця часу: SECONDS або MSEC (мілісекунди).

def main():
    # Spin the intake motor forward then stop
    intake_motor_group.set_timeout(2, SECONDS)
    intake_motor_group.spin_to_position(270, DEGREES)

# VR threads — Do not delete
vr_thread(main)

Геттери#

зроблено#

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

  • True — Рух групи двигунів завершено.

  • False — Рухова група все ще рухається.

Цей метод працює разом із наступними методами руху, які мають параметр wait : spin_for та spin_to_position.

Використання:
З цим методом можна використовувати один із двох доступних об’єктів групи двигунів, як показано нижче:

двигун

Команда

arm_motor_group

arm_motor_group.is_done() — Група двигунів руки

intake_motor_group

intake_motor_group.is_done() — Група впускних двигунів

Параметри

Опис

Цей метод не має параметрів.

обертається#

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

  • True — Група двигунів обертається.

  • False — Група двигунів не обертається.

Цей метод працює разом із наступними методами руху, які мають параметр wait : spin_for та spin_to_position.

Використання:
З цим методом можна використовувати один із двох доступних об’єктів групи двигунів, як показано нижче:

двигун

Команда

arm_motor_group

arm_motor_group.is_spinning() — Група двигунів руки

intake_motor_group

intake_motor_group.is_spinning() — Група впускних двигунів

Параметри

Опис

Цей метод не має параметрів.

позиція#

Положення групи двигунів – це те, наскільки вона обертнулася, вимірюється в DEGREES або TURNSОдин оберт дорівнює 360 градусам. position повертає поточне положення групи двигунів.

На початку проекту положення групи двигунів встановлюється на 0 градусів. Якщо група двигунів обертається на один повний оберт вперед, положення становитиме 360 градусів або 1 оберт. Якщо група двигунів обертається в іншому напрямку, положення буде від’ємним.

Використання:
З цим методом можна використовувати один із двох доступних об’єктів групи двигунів, як показано нижче:

двигун

Команда

arm_motor_group

arm_motor_group.position(units) — Група двигунів руки

intake_motor_group

intake_motor_group.position(units) — Група впускних двигунів

Параметри

Опис

units

Блок для повернення положення групи двигунів у: DEGREES або TURNS.

швидкість#

velocity повертає швидкість обертання групи двигунів.

Додатне значення означає, що група двигунів обертається вперед. Від’ємне значення означає, що група двигунів обертається назад.

Використання:
З цим методом можна використовувати один із двох доступних об’єктів групи двигунів, як показано нижче:

двигун

Команда

arm_motor_group

arm_motor_group.velocity(units) — Група двигунів важеля

intake_motor_group

intake_motor_group.velocity(units) — Група впускних двигунів

Параметри

Опис

units

Одиниця вимірювання швидкості, яку потрібно повернути: PERCENT.

Консоль#

Консоль відображає текст, числа та значення змінних під час виконання проєкту. Методи консолі також можуть переміщувати курсор на новий рядок, очищувати консоль та додавати змінні або значення датчиків на вкладку «Монітор».

Друк#

мозок.екранний.друк#

brain.screen.print відображає текст, числа або значення змінних у консолі, використовуючи поточну позицію курсора.

Використовуйте brain.screen.next_row, коли потрібно, щоб наступне друковане значення починалося з нового рядка.

Usage:
brain.screen.print(value)

Параметри

Опис

value

Текст, число або значення змінної, яке потрібно відобразити в консолі.

def main():
    # Display a message in the Console
    brain.screen.print("Hello, robot!")

# VR threads — Do not delete
vr_thread(main)

Консоль VEXcode, що показує консоль та текст "Привіт, роботе!".

brain.screen.next_row#

brain.screen.next_row переміщує курсор до стовпця 1 наступного рядка в консолі. Наступне виведене значення з’явиться в цьому рядку.

Usage:
brain.screen.next_row()

Параметри

Опис

Цей метод не має параметрів.

def main():
    # Print on two rows
    brain.screen.print("Row 1")
    brain.screen.next_row()
    brain.screen.print("Row 2")

# VR threads — Do not delete
vr_thread(main)

Консоль VEXcode, що показує консоль і текст "Рядок 1" у першому рядку та "Рядок 2" у другому рядку.

brain.screen.clear_screen#

brain.screen.clear_screen очищає всі рядки з консолі та переміщує курсор назад до рядка 1.

Usage:
brain.screen.clear_screen()

Параметри

Опис

Цей метод не має параметрів.

def main():
    # Display text, then clear it after two seconds
    brain.screen.print("This will disappear...")
    wait(2, SECONDS)
    brain.screen.clear_screen()

# VR threads — Do not delete
vr_thread(main)

Монітор#

змінна_монітора#

monitor_variable додає одну або декілька попередньо визначених змінних до вкладки «Монітор» у VEXcode. Це дозволяє спостерігати за зміною значення змінної під час виконання проєкту.

Змінні мають бути глобальними для успішного моніторингу monitor_variable Надайте назву кожної змінної у вигляді рядка.

Usage:
monitor_variable(“variable”)
monitor_variable(“variable1”, “variable2”)

Параметри

Опис

variable

Ім’я попередньо визначеної глобальної змінної для моніторингу у вигляді рядка. Щоб моніторити більше однієї змінної, розділіть кожне ім’я змінної комою.

def main():
    # Monitor the amount of loops
    global loops
    monitor_variable("loops")

    # Drive in a square 3 times
    for loops in range(12):
        drivetrain.turn_for(RIGHT, 90, DEGREES)
        drivetrain.drive_for(FORWARD, 150, MM)

# VR threads — Do not delete
vr_thread(main)

датчик_монітора#

monitor_sensor додає одне або декілька значень датчика до вкладки «Монітор» у VEXcode. Це дозволяє спостерігати за зміною значень датчиків під час виконання проєкту.

Надайте кожне значення датчика як рядок.

Usage:
monitor_sensor(“sensor”)
monitor_sensor(“sensor1”, “sensor2”)

Параметри

Опис

sensor

Значення датчика для моніторингу у вигляді рядка. Щоб моніторити значення кількох датчиків, розділяйте кожне значення комою. Підтримувані ідентифікатори датчиків включають:

  • Brain
    • brain.timer.time
  • Drivetrain
    • drivetrain.is_done
    • drivetrain.is_moving
    • drivetrain.heading
    • drivetrain.rotation
    • drivetrain.velocity_rpm
    • drivetrain.velocity_percent
  • Arm Motor
    • arm_motor.is_done
    • arm_motor.is_spinning
    • arm_motor.position_degrees
    • arm_motor.position_turns
    • arm_motor.velocity_rpm
    • arm_motor.velocity_percent
  • Група двигунів важеля
    • arm_motor_group.is_done
    • arm_motor_group.is_spinning
    • arm_motor_group.position_degrees
    • arm_motor_group.position_turns
    • arm_motor_group.velocity_rpm
    • arm_motor_group.velocity_percent
  • Впускний двигун
    • intake_motor.is_done
    • intake_motor.is_spinning
    • intake_motor.position_degrees
    • intake_motor.position_turns
    • intake_motor.velocity_rpm
    • intake_motor.velocity_percent
  • Intake Motor Group
    • intake_motor_group.is_done
    • intake_motor_group.is_spinning
    • intake_motor_group.position_degrees
    • intake_motor_group.position_turns
    • intake_motor_group.velocity_rpm
    • intake_motor_group.velocity_percent
  • Двигун катапульти
    • catapult_motor.is_done
    • catapult_motor.is_spinning
    • catapult_motor.position_degrees
    • catapult_motor.position_turns
    • catapult_motor.velocity_rpm
    • catapult_motor.velocity_percent
  • Двигун натягу катапульти
    • catapult_tension_motor.is_done
    • catapult_tension_motor.is_spinning
    • catapult_tension_motor.position_degrees
    • catapult_tension_motor.position_turns
    • catapult_tension_motor.velocity_rpm
    • catapult_tension_motor.velocity_percent
    • intake_bumper.pressing
    • bumper.pressing
  • Передній датчик відстані
    • front_distance.is_object_detected
    • front_distance.object_distance_mm
    • front_distance.object_distance_inches
  • Передній оптичний датчик
    • front_optical.is_near_object
    • front_optical.color
    • front_optical.brightness
    • front_optical.hue
  • Датчик кольору
    • color.is_near_object
    • color.color
    • color.brightness
    • color.hue

def main():
    # Monitor the robot's heading
    monitor_sensor("drivetrain.heading")
    drivetrain.turn_for(RIGHT, 450, DEGREES)

# VR threads — Do not delete
vr_thread(main)

Зондування#

Оптичний#

знаходиться_поблизу_об’єкта#

is_near_object повертає логічне значення, яке вказує, чи виявляє оптичний датчик об’єкт у межах досяжності.

  • True – Оптичний датчик виявляє об’єкт.

  • False – Оптичний датчик не виявляє об’єкт.

Usage:
optical.is_near_object()

Параметри

Опис

Цей метод не має параметрів.

колір#

color повертає екземпляр класу Color на основі виявленого значення відтінку. Їх можна порівняти з попередньо визначеними об’єктами Color для створення умовних операторів.

Можливі кольори:

  • NONE

  • RED – значення відтінку між 340° та 20°

  • GREEN – значення відтінку між 80° та 140°

  • BLUE – значення відтінку між 200° та 240°

  • YELLOW – значення відтінку між 40° та 60°

  • ORANGE - Значення відтінку між 20° - 40°

  • PURPLE - Значення відтінку між 240° - 280°

  • CYAN – значення відтінку між 140° та 200°

Примітка: Оптичний датчик шукає діапазони відтінків, що відповідають заданому кольору. Щоб дізнатися, як визначити певні діапазони відтінків, див. hue.

Usage:
optical.color()

Параметри

Опис

Цей метод не має параметрів.

яскравість#

brightness повертає кількість світла, відбитого від об’єкта, у вигляді десяткового дробу (float), що представляє відсоток.

Вищий відсоток означає, що більше світла відбивається назад до оптичного датчика. Нижчий відсоток означає, що менше світла відбивається назад.

Usage:
optical.brightness()

Параметри

Опис

Цей метод не має параметрів.

відтінок#

hue повертає значення відтінку виявленого кольору у вигляді десяткового числа (float) від 0 до 359.

Відтінок – це спосіб опису кольору за допомогою чисел на колірному колі.

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

Usage:
optical.hue()

Параметри

Опис

Цей метод не має параметрів.

виявлений_об’єкт#

object_detected реєструє функцію, яка викликається щоразу, коли оптичний датчик виявляє новий об’єкт.

Usage:
optical.object_detected(callback, arg)

Параметри

Опис

callback

Раніше визначена функція, яка виконується, коли оптичний датчик виявляє новий об’єкт.

arg

Необов’язково. Кортеж tuple, що містить аргументи для передачі функції зворотного виклику. Див. Використання функцій з параметрами для отримання додаткової інформації.

втрачений_об’єкт#

object_lost реєструє функцію, яка викликається щоразу, коли оптичний датчик втрачає виявлений об’єкт.

Usage:
optical.object_lost(callback, arg)

Параметри

Опис

callback

Раніше визначена функція, яка виконується, коли оптичний датчик втрачає виявлений об’єкт.

arg

Необов’язково. Кортеж tuple, що містить аргументи для передачі функції зворотного виклику. Див. Використання функцій з параметрами для отримання додаткової інформації.