로봇 전용 파이썬#

소개#

히어로봇 플링에는 세 가지 모터 옵션과 컬러 센서가 포함되어 있습니다.

모든 표준 VEXcode VR 방법은 IQ 21-22 Pitching In Playground에서 사용할 수 있습니다.

다음은 사용 가능한 모든 로봇 전용 메서드 목록입니다.

구동계 – 로봇을 움직이고 회전시킵니다.

  • 행위

    • 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 — 모터가 회전하는 속도를 반환합니다.

콘솔 - 콘솔에 출력하고 값을 모니터링합니다.

감지 - 로봇의 다양한 센서를 활용합니다.

  • 색상

    • color - 색상 센서에서 감지된 색상을 반환합니다.

    • brightness - 물체에서 반사된 빛의 양을 반환합니다.

    • hue - 색상 센서에서 감지된 색조를 반환합니다.

    • is_near_object - 컬러 센서가 범위 내에 있는 물체를 감지했는지 여부를 반환합니다.

이 페이지의 예제는 Playground의 기본 시작 위치를 사용합니다.

구동계#

구동계는 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)

드라이브_포#

<code>drive_for</code> 값이 이 특정 거리만큼 앞뒤로 이동합니다. 프로젝트는 로봇의 이동이 완료될 때까지 기다린 후 다음 코드를 실행합니다.

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

매개변수

설명

direction

로봇의 이동 방향: FORWARD 또는 REVERSE.

distance

로봇이 주행한 거리입니다. 이 값은 integer (소수점 이하 1개),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 (소수점 이하 1개),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

로봇이 향해야 할 방향을 도 단위로 지정합니다. 이 값은 integer 또는 -359에서 359 사이의 소수(float)일 수 있습니다.

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도 회전하면 720도보다 360도가 작기 때문에 왼쪽으로 한 번 회전합니다.

이 프로젝트는 로봇이 회전을 완료할 때까지 기다린 후 다음 코드 줄을 실행합니다.

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 은 로봇의 현재 헤딩 값을 새로운 헤딩 값으로 변경합니다.

예를 들어, 로봇이 오른쪽을 향하도록 회전한 상태에서 방향을 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 , 2, 3) 정수 또는 소수(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 또는 10진수(실수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 is_done 로봇의 이동이 완료되었는지 여부를 부울 값으로 반환합니다. 이 값은 로봇의 움직임에 따라 다른 동작의 타이밍을 제어하는 ​​데 사용할 수 있습니다.

  • True — 로봇의 이동이 완료되었습니다.

  • False — 로봇은 여전히 ​​움직이고 있습니다.

이 방법은 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))

운동#

플링은 흡입 모터를 사용하여 공을 끌어들이거나 배출합니다. 투석기 및 투석기 팔 장력 모터는 공을 발사하며, 장력에 따라 공의 비행 거리가 달라집니다.

각 모터는 고유한 방향 동작을 가지고 있습니다. 방향 설명은 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 모터를 특정 거리만큼 회전시킵니다. 회전 거리는 모터의 현재 위치를 기준으로 합니다. 프로젝트는 모터 회전이 완료될 때까지 기다린 후 다음 코드를 실행합니다.

사용법:
아래 그림과 같이 사용 가능한 세 가지 모터 객체 중 하나를 이 방법과 함께 사용할 수 있습니다.

모터

명령

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 모터를 특정 위치로 회전시킵니다.

모터의 위치는 회전한 정도를 DEGREES 회전 또는 TURNS으로 측정합니다. 1회전은 360도와 같습니다. 프로젝트 시작 시 모터 위치는 0도로 설정됩니다. 모터 위치는 set_position 메서드를 사용하여 설정할 수도 있습니다.

위치 값은 절대값입니다. 즉, 회전 방향은 모터의 현재 위치에 따라 달라집니다.

예를 들어, 모터가 0도에서 시작하여 720도까지 회전하면 정방향으로 두 바퀴 회전합니다. 그런 다음 360도까지 회전하면 720도보다 360도가 작으므로 역방향으로 한 바퀴 회전합니다.

사용법:
아래 그림과 같이 사용 가능한 세 가지 모터 객체 중 하나를 이 방법과 함께 사용할 수 있습니다.

모터

명령

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)

돌연변이체#

위치 설정#

모터의 위치는 회전한 정도를 나타내며, DEGREES 회전 또는 TURNS으로 측정됩니다. 1회전은 360도입니다. set_position 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 모터의 회전 속도를 지정합니다. 백분율이 높을수록 모터 회전 속도가 빨라지고, 백분율이 낮을수록 모터 회전 속도가 느려집니다.

모든 프로젝트는 기본적으로 각 모터가 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 , 2, 3) 정수 또는 소수(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 모터의 움직임이 완료되었는지 여부를 부울 값으로 반환합니다. 이 값은 모터의 움직임에 따라 다른 동작의 타이밍을 제어하는 ​​데 사용할 수 있습니다.

  • True — 모터가 회전을 멈췄습니다.

  • False — 모터는 여전히 움직이고 있습니다.

이 방법은 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 모터가 회전하는지 여부를 나타내는 부울 값을 반환합니다. 이 값은 모터의 움직임에 따라 다른 동작의 타이밍을 제어하는 ​​데 사용할 수 있습니다.

  • True — 모터가 회전하고 있습니다.

  • False — 모터가 회전하지 않습니다.

이 방법은 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으로 측정됩니다. 1회전은 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 콘솔, 콘솔과 "Hello, robot!" 텍스트가 표시됩니다.

뇌.화면.다음_행#

brain.screen.next_row 콘솔에서 커서를 다음 행의 첫 번째 열로 이동합니다. 다음에 출력될 값은 해당 행에 나타납니다.

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 콘솔, 콘솔과 첫 번째 줄에 "Row 1" 텍스트, 두 번째 줄에 "Row 2" 텍스트가 표시됩니다.

뇌.화면.화면지우기#

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 감지된 색상의 색조 값을 0에서 359까지의 십진수(float)로 반환합니다.

색조는 색상환을 중심으로 숫자를 사용하여 색을 설명하는 방법입니다.

원형 색상환은 둘레에 도수 값이 표시되어 있으며, 맨 위쪽 0도에서 30도씩 증가하여 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)