Python, разработанный специально для роботов#

Введение#

Робот-герой Fling оснащен тремя вариантами двигателей и датчиком цвета.

Все стандартные методы VEXcode VR доступны для использования на игровой площадке IQ 21-22 Pitching In.

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

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

  • Действия

    • 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 — Добавляет одно или несколько значений датчика на вкладку «Монитор».

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

  • Цвет

    • color - Возвращает цвет, обнаруженный датчиком цвета.

    • brightness - Возвращает количество света, отраженного от объекта.

    • hue - Возвращает оттенок, обнаруженный датчиком цвета.

    • is_near_object - Возвращает значение, указывающее, обнаруживает ли датчик цвета объект в пределах досягаемости.

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

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

Силовая установка управляет движением и поворотами 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#

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#

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#

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

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

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

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

Параметры

Описание

angle

Направление, в котором должен быть повернут робот, в градусах. Это может быть целое число integer или десятичное число (float) от -359 до 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#

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)

set_rotation#

Вращение — это угол поворота робота, измеряемый в градусах. В начале проекта значение вращения устанавливается равным 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#

Параметр 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#

Параметр 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 возвращает значение логического типа (Boolean), указывающее, завершил ли робот движение. Это можно использовать для управления временем выполнения других действий в зависимости от движения робота.

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

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

Этот метод работает совместно со следующими методами Drivetrain, имеющими параметр wait : drive_for, turn_for, turn_to_heading и turn_to_rotation.

Usage:
drivetrain.is_done()

Параметры

Описание

Этот метод не имеет параметров.

is_moving#

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

  • 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))

Движение#

В игре Fling используется двигатель всасывания для затягивания или выброса шариков. Катапульта и двигатели натяжения рычага катапульты запускают шарики, при этом натяжение влияет на дальность полета шариков.

Каждый двигатель имеет своё собственное поведение в зависимости от направления движения. Описание направлений объясняет, как каждое направление перемещает данный двигатель в Fling.

Действия#

вращаться#

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

Использование:
Для этого метода можно использовать один из трех доступных объектов двигателя, как показано ниже:

мотор

Командование

intake_motor

intake_motor.spin(direction) — Впускной двигатель

catapult_motor

catapult_motor.spin(direction) — Двигатель катапульты

catapult_tension_motor

catapult_tension_motor.spin(direction) — Мотор натяжения катапульты

Параметры

Описание

direction

Направление вращения двигателя зависит от выбранного двигателя:

  • FORWARD — Вращает впускной двигатель в направлении впуска или перемещает выбранный двигатель катапульты вперед.
  • REVERSE — Вращает впускной двигатель в направлении выпуска или перемещает выбранный двигатель катапульты в обратном направлении.

def main():
    # Spin the Intake Motor to collect a Ball
    intake_motor.spin(FORWARD)
    wait(1, SECONDS)
    intake_motor.stop()

# VR threads — Do not delete
vr_thread(main)

спин_фор#

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

Использование:
Для этого метода можно использовать один из трех доступных объектов двигателя, как показано ниже:

мотор

Командование

intake_motor

intake_motor.spin_for(direction, distance, units, wait=True) — Впускной двигатель

catapult_motor

catapult_motor.spin_for(direction, distance, units, wait=True) — Двигатель катапульты

catapult_tension_motor

catapult_tension_motor.spin_for(direction, distance, units, wait=True) — Двигатель натяжения катапульты

Параметры

Описание

direction

Направление вращения двигателя зависит от выбранной модели: FORWARD или REVERSE.

distance

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

units

Дополнительно. Единица измерения расстояния: DEGREES (по умолчанию) или TURNS.

wait

Необязательно.

  • wait=True (по умолчанию) — Заставляет проект ждать, пока двигатель не закончит вращение, прежде чем выполнить следующую строку кода.
  • wait=False — Заставляет следующую строку кода выполниться немедленно.

def main():
    # Collect a Ball with the Intake Motor
    intake_motor.spin_for(FORWARD, 360, DEGREES)

# VR threads — Do not delete
vr_thread(main)

spin_to_position#

spin_to_position вращает двигатель в заданное положение.

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

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

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

Использование:
Для этого метода можно использовать один из трех доступных объектов двигателя, как показано ниже:

мотор

Командование

intake_motor

intake_motor.spin_to_position(angle, units, wait=True) — Впускной двигатель

catapult_motor

catapult_motor.spin_to_position(angle, units, wait=True) — Двигатель катапульты

catapult_tension_motor

catapult_tension_motor.spin_to_position(angle, units, wait=True) — Двигатель натяжения катапульты

Параметры

Описание

angle

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

units

Дополнительно. Единица измерения положения: DEGREES (по умолчанию) или TURNS.

wait

Необязательно.

  • wait=True (по умолчанию) — Заставляет проект ждать, пока двигатель не закончит вращение, прежде чем выполнить следующую строку кода.
  • wait=False — Заставляет следующую строку кода выполниться немедленно.

def main():
    # Move the Catapult Motor to a launch position
    catapult_motor.spin_to_position(2600, DEGREES)

# VR threads — Do not delete
vr_thread(main)

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

stop останавливает вращение двигателя.

Использование:
Для этого метода можно использовать один из трех доступных объектов двигателя, как показано ниже:

мотор

Командование

intake_motor

intake_motor.stop() — Впускной двигатель

catapult_motor

catapult_motor.stop() — Двигатель катапульты

catapult_tension_motor

catapult_tension_motor.stop() — Двигатель натяжения катапульты

Параметры

Описание

Этот метод не имеет параметров.

def main():
    # Spin the Intake Motor, then stop it
    intake_motor.spin(FORWARD)
    wait(1, SECONDS)
    intake_motor.stop()

# VR threads — Do not delete
vr_thread(main)

Мутаторы#

set_position#

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

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

Использование:
Для этого метода можно использовать один из трех доступных объектов двигателя, как показано ниже:

мотор

Командование

intake_motor

intake_motor.set_position(position, units) — Впускной двигатель

catapult_motor

catapult_motor.set_position(position, units) — Двигатель катапульты

catapult_tension_motor

catapult_tension_motor.set_position(position, units) — Двигатель натяжения катапульты

Параметры

Описание

position

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

units

Дополнительно. Единица измерения положения: DEGREES (по умолчанию) или TURNS.

def main():
    # Set the Catapult Motor position, then return it to 0 degrees
    catapult_motor.set_position(2600, DEGREES)
    catapult_motor.spin_to_position(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

set_velocity#

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

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

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

Использование:
Для этого метода можно использовать один из трех доступных объектов двигателя, как показано ниже:

мотор

Командование

intake_motor

intake_motor.set_velocity(velocity, units) — Впускной двигатель

catapult_motor

catapult_motor.set_velocity(velocity, units) — Двигатель катапульты

catapult_tension_motor

catapult_tension_motor.set_velocity(velocity, units) — Двигатель натяжения катапульты

Параметры

Описание

velocity

Скорость вращения от -100% до 100%. Это может быть целое число integer или десятичное число (float).

units

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

def main():
    # Set the Catapult Motor velocity before moving it
    catapult_motor.set_velocity(75, PERCENT)
    catapult_motor.spin_to_position(2600, DEGREES)

# VR threads — Do not delete
vr_thread(main)

set_timeout#

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

Использование:
Для этого метода можно использовать один из трех доступных объектов двигателя, как показано ниже:

мотор

Командование

intake_motor

intake_motor.set_timeout(value, units) — Впускной двигатель

catapult_motor

catapult_motor.set_timeout(value, units) — Двигатель катапульты

catapult_tension_motor

catapult_tension_motor.set_timeout(value, units) — Двигатель натяжения катапульты

Параметры

Описание

value

Время, в течение которого двигатель может попытаться завершить движение. Это может быть положительное число integer или десятичное число (float).

units

Единица измерения времени: SECONDS или MSEC).

def main():
    # Limit how long the Catapult Motor waits to reach its target
    catapult_motor.set_timeout(2, SECONDS)
    catapult_motor.spin_to_position(5000, DEGREES)

# VR threads — Do not delete
vr_thread(main)

Геттеры#

готово#

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

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

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

Этот метод работает совместно со следующими методами Motion, имеющими параметр wait : spin_for и spin_to_position.

Использование:
Для этого метода можно использовать один из трех доступных объектов двигателя, как показано ниже:

мотор

Командование

intake_motor

intake_motor.is_done() — Впускной двигатель

catapult_motor

catapult_motor.is_done() — Двигатель катапульты

catapult_tension_motor

catapult_tension_motor.is_done() — Двигатель натяжения катапульты

Параметры

Описание

Этот метод не имеет параметров.

is_spinning#

is_spinning` возвращает значение логического типа (Boolean), указывающее, вращается ли двигатель. Это можно использовать для управления синхронизацией других действий в зависимости от движения двигателя.

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

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

Этот метод работает совместно со следующими методами Motion, имеющими параметр wait : spin_for и spin_to_position.

Использование:
Для этого метода можно использовать один из трех доступных объектов двигателя, как показано ниже:

мотор

Командование

intake_motor

intake_motor.is_spinning() — Впускной двигатель

catapult_motor

catapult_motor.is_spinning() — Двигатель катапульты

catapult_tension_motor

catapult_tension_motor.is_spinning() — Двигатель натяжения катапульты

Параметры

Описание

Этот метод не имеет параметров.

позиция#

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

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

Использование:
Для этого метода можно использовать один из трех доступных объектов двигателя, как показано ниже:

мотор

Командование

intake_motor

intake_motor.position(units) — Впускной двигатель

catapult_motor

catapult_motor.position(units) — Двигатель катапульты

catapult_tension_motor

catapult_tension_motor.position(units) — Мотор натяжения катапульты

Параметры

Описание

units

Устройство для возврата двигателя в исходное положение: DEGREES или TURNS оборота.

def main():
    # Print the current Catapult Motor position
    brain.screen.print(catapult_motor.position(DEGREES))

# VR threads — Do not delete
vr_thread(main)

скорость#

velocity возвращает скорость вращения двигателя.

Положительное значение означает, что двигатель вращается в прямом направлении. Отрицательное значение означает, что двигатель вращается в обратном направлении.

Использование:
Для этого метода можно использовать один из трех доступных объектов двигателя, как показано ниже:

мотор

Командование

intake_motor

intake_motor.velocity(units) — Впускной двигатель

catapult_motor

catapult_motor.velocity(units) — Двигатель катапульты

catapult_tension_motor

catapult_tension_motor.velocity(units) — Двигатель натяжения катапульты

Параметры

Описание

units

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

def main():
    # Print the current Intake Motor velocity
    brain.screen.print(intake_motor.velocity(PERCENT))

# VR threads — Do not delete
vr_thread(main)

Консоль#

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

Печать#

мозг.экран.печать#

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

The sensor value to monitor, given as a string. To monitor more than one sensor value, separate each sensor value with a comma. Supported sensor identifiers include:

  • 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
    • 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
    • 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
    • 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
    • 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
  • Bumpers
    • intake_bumper.pressing
    • bumper.pressing
  • Front Distance Sensor
    • front_distance.is_object_detected
    • front_distance.object_distance_mm
    • front_distance.object_distance_inches
  • Front Optical Sensor
    • front_optical.is_near_object
    • front_optical.color
    • front_optical.brightness
    • front_optical.hue
  • Color Sensor
    • 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)

Ощущение#

Цвет#

цвет#

Функция 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:
color.color()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    # Print the color detected by the Color Sensor
    brain.screen.print(color.color())

# VR threads — Do not delete
vr_thread(main)

яркость#

brightness возвращает количество света, отраженного от объекта, в виде десятичной дроби (float в процентах.

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

Usage:
color.brightness()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    # Print the Color Sensor brightness
    brain.screen.print(color.brightness())

# VR threads — Do not delete
vr_thread(main)

оттенок#

hue возвращает значение оттенка обнаруженного цвета в виде десятичного числа (float) от 0 до 359.

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

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

Usage:
color.hue()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    # Print the hue detected by the Color Sensor
    brain.screen.print(color.hue())

# VR threads — Do not delete
vr_thread(main)

is_near_object#

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

  • True – Цветовой датчик обнаруживает объект.

  • False – Цветовой датчик не обнаруживает объект.

Usage:
color.is_near_object()

Параметры

Описание

Этот метод не имеет параметров.

def main():
    # Print whether the Color Sensor detects an object nearby
    brain.screen.print(color.is_near_object())

# VR threads — Do not delete
vr_thread(main)