Python, специфічний для роботів#
Вступ#
Робот-герой Swish має один варіант двигуна, один варіант групи двигунів та оптичний датчик.
Усі стандартні методи віртуальної реальності VEXcode доступні для використання на ігровому майданчику IQ 24-25 Rapid Relay.
Нижче наведено список усіх доступних методів, специфічних для роботів:
Трансмісія – Переміщення та поворот робота.
Дії
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)
Параметри |
Опис |
|---|---|
|
Напрямок руху робота: |
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)
Параметри |
Опис |
|---|---|
|
Напрямок руху робота: |
|
Відстань, яку проїжджає робот. Це може бути |
|
Одиниця вимірювання відстані: |
|
Необов’язково. |
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)
Параметри |
Опис |
|---|---|
|
Напрямок повороту робота: |
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)
Параметри |
Опис |
|---|---|
|
Напрямок повороту робота: |
|
Кількість градусів, на яку повертається робот. Це може бути |
|
Одиниця обертання: |
|
Необов’язково. |
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)
Параметри |
Опис |
|---|---|
|
The direction the robot should face, in degrees. This can be an |
|
Одиниця обертання: |
|
Необов’язково. |
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)
Параметри |
Опис |
|---|---|
|
Значення повороту в градусах, до якого повернеться робот. Це може бути ціле число |
|
Одиниця обертання: |
|
Необов’язково. |
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)
Параметри |
Опис |
|---|---|
|
Значення курсу в градусах, яке потрібно встановити для робота. Це може бути ціле число |
|
Заголовок блоку: |
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)
Параметри |
Опис |
|---|---|
|
Значення обертання в градусах, яке потрібно встановити для робота. Це може бути ціле число |
|
Одиниця обертання: |
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)
Параметри |
Опис |
|---|---|
|
Кількість часу, протягом якого робот може намагатися завершити рух. Це може бути додатне ціле число |
|
Одиниця часу: |
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)
Параметри |
Опис |
|---|---|
|
Швидкість руху від 0% до 100%. Це може бути |
|
Одиниця вимірювання швидкості: |
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)
Параметри |
Опис |
|---|---|
|
Швидкість обертання від 0% до 100%. Це може бути |
|
Одиниця вимірювання швидкості: |
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)
Параметри |
Опис |
|---|---|
|
Заголовок блоку: |
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)
Параметри |
Опис |
|---|---|
|
Одиниця обертання: |
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)
Параметри |
Опис |
|---|---|
|
Одиниця вимірювання швидкості: |
Приклад
def main():
# Display the velocity after driving
drivetrain.drive_for(FORWARD, 150, MM)
brain.screen.print("Velocity: ")
brain.screen.print(drivetrain.velocity(PERCENT))
Рух#
Swish використовує впускний двигун для збору кульок та переміщення їх на катапульту. Група двигунів катапульти опускається та відпускає важіль катапульти для запуску кульок.
Кожен двигун і група двигунів мають свою власну поведінку в напрямку. Описи напрямків пояснюють, як кожен напрямок рухає цей двигун або групу двигунів на Swish.
Дії#
обертання#
spin обертає двигун або групу двигунів вперед або назад безкінечно. Двигун або група двигунів продовжуватимуть обертатися, доки не буде виконано іншу дію, наприклад, обертання в іншому напрямку або зупинка.
Використання:
З цим методом можна використовувати один із двох доступних об’єктів двигуна або групи двигунів, як показано нижче:
двигун |
Команда |
|---|---|
|
|
|
|
Параметри |
Опис |
|---|---|
|
Напрямок обертання двигуна або групи двигунів:
|
def main():
# Spin the Intake Motor to bring a Ball onto the Catapult
intake_motor.spin(FORWARD)
wait(2, SECONDS)
intake_motor.stop()
# VR threads — Do not delete
vr_thread(main)
обертання_для#
spin_for обертає двигун або групу двигунів на певну відстань. Обертання залежить від поточного положення двигуна або групи двигунів. Проект чекатиме, поки двигун або група двигунів завершить обертання, перш ніж виконуватиметься наступний рядок коду.
Використання:
З цим методом можна використовувати один із двох доступних об’єктів двигуна або групи двигунів, як показано нижче:
двигун |
Команда |
|---|---|
|
|
|
|
Параметри |
Опис |
|---|---|
|
Напрямок обертання двигуна або групи двигунів:
|
|
Відстань, на яку обертається двигун або група двигунів. |
|
Необов’язково. Одиниця вимірювання відстані: |
|
Необов’язково.
|
def main():
# Release the preloaded Ball
catapult_group.spin_for(REVERSE, 5, DEGREES)
# Lower the Catapult to prepare to load another Ball
catapult_group.spin_for(FORWARD, 1350, DEGREES)
# VR threads — Do not delete
vr_thread(main)
обертання_в_позицію#
spin_to_position обертає двигун або групу двигунів у певне положення.
Положення двигуна або групи двигунів – це відстань його обертання, що вимірюється в DEGREES або TURNSОдин оберт дорівнює 360 градусам. На початку проекту положення двигуна або групи двигунів встановлюється на 0 градусів. Положення двигуна або групи двигунів також можна встановити за допомогою методу set_position.
Значення положення є абсолютними. Це означає, що напрямок обертання залежить від поточного положення двигуна або групи двигунів.
Наприклад, якщо двигун або група двигунів починають обертатися з кута 0 градусів і обертаються до положення 720 градусів, вони обертатимуться вперед на два оберти. Якщо потім вони обертатимуться до положення 360 градусів, вони обертатимуться назад на один оберт, оскільки 360 менше за 720.
Використання:
З цим методом можна використовувати один із двох доступних об’єктів двигуна або групи двигунів, як показано нижче:
двигун |
Команда |
|---|---|
|
|
|
|
Параметри |
Опис |
|---|---|
|
Значення положення, до якого обертатиметься двигун або група двигунів. |
|
Необов’язково. Одиниця вимірювання положення: |
|
Необов’язково.
|
def main():
# Release the preloaded Ball
catapult_group.spin_to_position(-90, DEGREES)
# Lower the Catapult to prepare to load another Ball
catapult_group.spin_to_position(1260, DEGREES)
# VR threads — Do not delete
vr_thread(main)
зупинити двигун#
stop зупиняє обертання двигуна або групи двигунів.
Використання:
З цим методом можна використовувати один із двох доступних об’єктів двигуна або групи двигунів, як показано нижче:
двигун |
Команда |
|---|---|
|
|
|
|
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
def main():
# Spin the Intake Motor to bring a Ball onto the Catapult
intake_motor.spin(FORWARD)
wait(2, SECONDS)
intake_motor.stop()
# VR threads — Do not delete
vr_thread(main)
Мутатори#
set_position#
Положення двигуна або групи двигунів – це те, наскільки він обертувався, вимірюється в DEGREES або TURNSОдин оберт дорівнює 360 градусам. set_position змінює поточне положення двигуна або групи двигунів на нове значення.
Наприклад, якщо двигун або група двигунів оберталися на 180 градусів, встановлення положення на 0 градусів скине це положення зі 180 на 0 градусів. Потім двигун або група двигунів можуть обертатися в положення на основі цього нового значення.
Використання:
З цим методом можна використовувати один із двох доступних об’єктів двигуна або групи двигунів, як показано нижче:
двигун |
Команда |
|---|---|
|
|
|
|
Параметри |
Опис |
|---|---|
|
Значення положення, яке потрібно встановити для двигуна або групи двигунів. |
|
Необов’язково. Одиниця вимірювання положення: |
def main():
# Lower the Catapult to prepare to load another Ball
catapult_group.spin_to_position(1260, DEGREES)
# Set the new Catapult position to be 0 degrees
catapult_group.set_position(0, DEGREES)
# VR threads — Do not delete
vr_thread(main)
встановити_швидкість#
set_velocity вказує двигуну або групі двигунів, з якою швидкістю обертатися. Вищий відсоток змушує двигун або групу двигунів обертатися швидше, а нижчий відсоток змушує двигун або групу двигунів обертатися повільніше.
Кожен проект починається з того, що кожен двигун або група двигунів обертаються зі швидкістю 50% за замовчуванням.
Примітка: Вища швидкість змушує двигун або групу двигунів обертатися швидше, але це може бути менш точно. Нижча швидкість змушує двигун або групу двигунів обертатися повільніше, але це може бути точнішим.
Використання:
З цим методом можна використовувати один із двох доступних об’єктів двигуна або групи двигунів, як показано нижче:
двигун |
Команда |
|---|---|
|
|
|
|
Параметри |
Опис |
|---|---|
|
Швидкість обертання від -100% до 100%. Це може бути |
|
Одиниця вимірювання швидкості: |
def main():
# Start spinning the Intake Motor to prepare for picking up a Ball
intake_motor.set_velocity(100, PERCENT)
intake_motor.spin(FORWARD)
# VR threads — Do not delete
vr_thread(main)
set_timeout#
set_timeout встановлює час, протягом якого двигун або група двигунів намагатимуться завершити рух. Якщо двигун або група двигунів не зможе завершити рух за цей час, вони припинять спроби та перейдуть до наступного рядка коду. Це запобігає зависанню двигуна або групи двигунів на русі.
Використання:
З цим методом можна використовувати один із двох доступних об’єктів двигуна або групи двигунів, як показано нижче:
двигун |
Команда |
|---|---|
|
|
|
|
Параметри |
Опис |
|---|---|
|
Кількість часу, протягом якого двигун або група двигунів можуть намагатися завершити рух. Це може бути додатне ціле число |
|
Одиниця часу: |
def main():
# Limit how long the Catapult waits to reach its target
catapult_group.set_timeout(2, SECONDS)
catapult_group.spin_for(FORWARD, 2160, DEGREES)
# VR threads — Do not delete
vr_thread(main)
Геттери#
зроблено#
is_done повертає у вигляді логічного значення, чи завершив рух двигун або група двигунів. Це можна використовувати для керування часом інших дій на основі руху двигуна або групи двигунів.
True— Рух двигуна або групи двигунів завершено.False— Двигун або група двигунів все ще рухається.
Цей метод працює разом із наступними методами руху, які мають параметр wait : spin_for та spin_to_position.
Використання:
З цим методом можна використовувати один із двох доступних об’єктів двигуна або групи двигунів, як показано нижче:
двигун |
Команда |
|---|---|
|
|
|
|
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
обертається#
is_spinning повертає, чи обертається двигун або група двигунів, у вигляді логічного значення. Це можна використовувати для керування часом інших дій на основі руху двигуна або групи двигунів.
True— Двигун або група двигунів обертається.False— Двигун або група двигунів не обертається.
Цей метод працює разом із наступними методами руху, які мають параметр wait : spin_for та spin_to_position.
Використання:
З цим методом можна використовувати один із двох доступних об’єктів двигуна або групи двигунів, як показано нижче:
двигун |
Команда |
|---|---|
|
|
|
|
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
позиція#
Положення двигуна або групи двигунів – це те, наскільки він обертувався, вимірюється в DEGREES або TURNSОдин оберт дорівнює 360 градусам. position повертає поточне положення двигуна або групи двигунів.
На початку проекту положення двигуна або групи двигунів встановлюється на 0 градусів. Якщо двигун або група двигунів обертається на один повний оберт вперед, положення становитиме 360 градусів або 1 оберт. Якщо двигун або група двигунів обертається в іншому напрямку, положення буде від’ємним.
Використання:
З цим методом можна використовувати один із двох доступних об’єктів двигуна або групи двигунів, як показано нижче:
двигун |
Команда |
|---|---|
|
|
|
|
Параметри |
Опис |
|---|---|
|
Блок для повернення положення двигуна або групи двигунів у: |
def main():
# Lower the Catapult to prepare to load another Ball
while not catapult_group.position(DEGREES) == 1260:
catapult_group.spin(FORWARD)
# VR threads — Do not delete
vr_thread(main)
швидкість#
velocity повертає швидкість обертання двигуна або групи двигунів.
Додатне значення означає, що двигун або група двигунів обертається вперед. Від’ємне значення означає, що двигун або група двигунів обертається назад.
Використання:
З цим методом можна використовувати один із двох доступних об’єктів двигуна або групи двигунів, як показано нижче:
двигун |
Команда |
|---|---|
|
|
|
|
Параметри |
Опис |
|---|---|
|
Одиниця вимірювання швидкості, яку потрібно повернути: |
def main():
# Print the current Catapult velocity
brain.screen.print(catapult_group.velocity(PERCENT))
# VR threads — Do not delete
vr_thread(main)
Консоль#
Консоль відображає текст, числа та значення змінних під час виконання проєкту. Методи консолі також можуть переміщувати курсор на новий рядок, очищувати консоль та додавати змінні або значення датчиків на вкладку «Монітор».
Друк#
мозок.екранний.друк#
brain.screen.print відображає текст, числа або значення змінних у консолі, використовуючи поточну позицію курсора. Це поводиться як print на сторінці API консолі.
Використовуйте brain.screen.next_row, коли потрібно, щоб наступне друковане значення починалося з нового рядка.
Usage:
brain.screen.print(value)
Параметри |
Опис |
|---|---|
|
Текст, число або значення змінної, яке потрібно відобразити в консолі. |
def main():
# Display a message in the Console
brain.screen.print("Hello, robot!")
# VR threads — Do not delete
vr_thread(main)

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)

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”)
Параметри |
Опис |
|---|---|
|
Ім’я попередньо визначеної глобальної змінної для моніторингу у вигляді рядка. Щоб моніторити більше однієї змінної, розділіть кожне ім’я змінної комою. |
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”)
Параметри |
Опис |
|---|---|
|
Значення датчика для моніторингу у вигляді рядка. Щоб моніторити значення кількох датчиків, розділяйте кожне значення комою. Підтримувані ідентифікатори датчиків включають:
|
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:
intake_optical.is_near_object()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
def main():
# Launch a loaded Ball once the Intake Optical Sensor detects a Ball
if intake_optical.is_near_object():
catapult_group.spin_for(REVERSE, 5, DEGREES)
# VR threads — Do not delete
vr_thread(main)
колір#
color повертає екземпляр класу Color на основі виявленого значення відтінку. Їх можна порівняти з попередньо визначеними об’єктами Color для створення умовних операторів.
Можливі кольори:
NONERED– значення відтінку між 340° та 20°GREEN– значення відтінку між 80° та 140°BLUE– значення відтінку між 200° та 240°YELLOW– значення відтінку між 40° та 60°ORANGE- Значення відтінку між 20° - 40°PURPLE- значення відтінку між 240° - 280°CYAN– значення відтінку між 140° та 200°
Примітка: Оптичний датчик шукає діапазони відтінків, що відповідають заданому кольору. Щоб дізнатися, як визначити певні діапазони відтінків, див. hue.
Usage:
intake_optical.color()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
def main():
# Launch a loaded Ball once yellow is detected in the Intake
if intake_optical.color() == YELLOW:
catapult_group.spin_for(REVERSE, 5, DEGREES)
# VR threads — Do not delete
vr_thread(main)
яскравість#
brightness повертає кількість світла, відбитого від об’єкта, у вигляді десяткового дробу (float), що представляє відсоток.
Вищий відсоток означає, що більше світла відбивається назад до оптичного датчика. Нижчий відсоток означає, що менше світла відбивається назад.
Usage:
intake_optical.brightness()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
def main():
# Launch a loaded Ball once the Intake Optical Sensor sees a Ball
if intake_optical.brightness() > 0:
catapult_group.spin_for(REVERSE, 5, DEGREES)
# VR threads — Do not delete
vr_thread(main)
відтінок#
hue повертає значення відтінку виявленого кольору у вигляді десяткового числа (float) від 0 до 359.
Відтінок – це спосіб опису кольору за допомогою чисел на колірному колі.

Usage:
intake_optical.hue()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
def main():
# Launch a loaded Ball once the Intake Optical Sensor reports a hue value
if intake_optical.hue() > 100:
catapult_group.spin_for(REVERSE, 5, DEGREES)
# VR threads — Do not delete
vr_thread(main)
виявлений_об’єкт#
object_detected реєструє функцію, яка викликається щоразу, коли оптичний датчик виявляє новий об’єкт.
Usage:
intake_optical.object_detected(callback, arg)
Параметри |
Опис |
|---|---|
|
Раніше визначена функція, яка виконується, коли оптичний датчик виявляє новий об’єкт. |
|
Необов’язково. Кортеж tuple, що містить аргументи для передачі функції зворотного виклику. Див. Використання функцій з параметрами для отримання додаткової інформації. |
def launch_ball():
catapult_group.spin_for(REVERSE, 5, DEGREES)
def main():
# Launch the Ball when the Intake Optical Sensor detects an object
intake_optical.object_detected(launch_ball)
# VR threads — Do not delete
vr_thread(main)
втрачений_об’єкт#
object_lost реєструє функцію, яка викликається щоразу, коли оптичний датчик втрачає виявлений об’єкт.
Usage:
intake_optical.object_lost(callback, arg)
Параметри |
Опис |
|---|---|
|
Раніше визначена функція, яка виконується, коли оптичний датчик втрачає виявлений об’єкт. |
|
Необов’язково. Кортеж tuple, що містить аргументи для передачі функції зворотного виклику. Див. Використання функцій з параметрами для отримання додаткової інформації. |
def lower_catapult():
catapult_group.spin_to_position(1260, DEGREES)
def main():
# Lower the Catapult when the Intake Optical Sensor no longer detects an object
intake_optical.object_lost(lower_catapult)
# VR threads — Do not delete
vr_thread(main)