자이로#

소개#

자이로 센서는 단일 축을 중심으로 한 회전을 감지하는 모션 센서입니다. 로봇이 얼마나 회전했는지 측정하여 방향과 진행 방향을 추적할 수 있습니다.

이 페이지에서는 예시 자이로 센서 이름으로 drivetrain_gyro 사용합니다. 필요에 따라 구성된 이름으로 교체하십시오.

아래는 사용 가능한 모든 방법의 목록입니다.

작업 — 자이로 센서의 방향 및 회전을 보정하거나 조정합니다.

  • calibrate — 안정적인 방향 추적을 위해 자이로 센서를 보정합니다.

  • set_heading — 자이로 센서의 방향을 지정된 값으로 설정합니다.

  • set_rotation — 자이로 센서의 회전 값을 설정합니다.

  • reset_heading — 자이로 센서의 헤딩을 0으로 설정합니다.

  • reset_rotation — 자이로 센서의 회전을 0으로 설정합니다.

게터 — 자이로 센서의 방향, 회전 및 상태를 읽습니다.

  • heading — 현재 제목을 반환합니다.

  • rotation — 누적 회전을 반환합니다.

  • rate — x, y 또는 z 축을 중심으로 한 각속도를 반환합니다.

  • is_calibrating — 자이로 센서가 보정 중인지 여부를 반환합니다.

  • installed — 자이로 센서가 브레인에 연결되어 있는지 여부를 반환합니다.

콜백 함수 — 자이로 센서가 움직임이나 변화를 감지했을 때 코드를 실행합니다.

  • changed — 자이로 센서가 변경을 감지할 때 호출할 함수를 등록합니다.

생성자 — 자이로 센서를 수동으로 초기화하고 구성합니다.

  • Gyro — 자이로 센서를 생성합니다.

행위#

calibrate#

calibrate 센서를 보정합니다. 이후의 모든 줄은 보정이 완료될 때까지 기다린 후 실행됩니다. 보정은 지정된 기간 동안 센서 노이즈와 드리프트를 측정하고 보정하는 내부 절차입니다. 이 시간 동안 자이로 센서는 완전히 정지된 상태(즉, 외부 움직임이 없는 안정적인 표면)를 유지해야 합니다. 보정 중에 움직임이 발생하면 부정확한 결과가 나옵니다.

Usage:
calibrate()

매개변수

설명

이 메서드에는 매개변수가 없습니다.

# Start Gyro Sensor calibration
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
    wait(0.1, SECONDS)
brain.screen.print("Done!")

set_heading#

set_heading 은 자이로 센서의 방향을 특정 값으로 설정합니다.

Usage:
set_heading(value, units)

매개변수

설명

값

설정할 헤더 값입니다.

단위

선택 사항입니다. 새 제목을 나타내는 데 사용되는 단위는 다음과 같습니다.

  • DEGREES (기본값)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)

set_rotation#

set_rotation 자이로 센서의 회전을 특정 값으로 설정합니다.

Usage:
set_rotation(value, units)

매개변수

설명

value

설정할 헤더 값입니다.

units

선택 사항입니다. 새 회전 값을 나타내는 단위는 다음과 같습니다.

  • DEGREES (기본값)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)

reset_heading#

reset_heading 은 자이로 센서의 방향을 0으로 재설정합니다.

Usage:
reset_heading()

매개변수

설명

이 메서드에는 매개변수가 없습니다.

# Turn the robot before and after resetting the heading
drivetrain.turn_to_heading(90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_heading()
drivetrain.turn_to_heading(90, DEGREES)

reset_rotation#

reset_rotation 자이로 센서의 회전값을 0으로 초기화합니다.

Usage:
reset_rotation()

매개변수

설명

이 메서드에는 매개변수가 없습니다.

# Turn the robot before and after resetting the rotation
drivetrain.turn_to_rotation(-90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_rotation()
drivetrain.turn_to_rotation(-90, DEGREES)

게터스#

heading#

heading 자이로 센서의 현재 방향을 반환합니다.

Usage:
heading(units)

매개변수

설명

units

선택 사항입니다. 제목을 나타내는 단위는 다음과 같습니다.

  • DEGREES (기본값)
  • TURNS
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())

rotation#

rotation 자이로 센서의 현재 회전 값을 반환합니다.

Usage:
rotation(units)

매개변수

설명

units

선택 사항입니다. 회전을 나타내는 단위는 다음과 같습니다.

  • DEGREES (기본값)
  • TURNS
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())

rate#

rate 지정된 단위로 자이로 센서 회전의 현재 변화율을 반환합니다.

Usage:
rate(units)

매개변수

설명

units

선택 사항입니다. 자이로 회전율을 나타내는 단위는 다음과 같습니다.

  • DPS (기본값)
  • RPM
  • PERCENT
# Display the rate of change of 
# rotation while turning
drivetrain.turn(RIGHT)
wait(1, SECONDS)
brain.screen.print(drivetrain_gyro.rate())
drivetrain.stop()

is_calibrating#

is_calibrating 자이로 센서가 현재 보정 중인지 확인합니다.

  • True — 자이로 센서가 보정 중입니다.

  • False — 자이로 센서가 보정 중이 아닙니다.

Usage:
is_calibrating()

매개변수

설명

이 메서드에는 매개변수가 없습니다.

# Start Gyro Sensor calibration.
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
    wait(0.1, SECONDS)
brain.screen.print("Done!")

installed#

installed 자이로 센서가 브레인에 연결되었는지 여부를 나타내는 부울 값을 반환합니다.

  • True — 자이로 센서가 두뇌에 연결되어 있습니다.

  • False — 자이로 센서는 뇌에 연결되어 있지 않습니다.

Usage:
installed()

매개변수

설명

이 메서드에는 매개변수가 없습니다.

# Display a message if the Gyro Sensor is
# installed.
if drivetrain_gyro.installed():
    brain.screen.print("Installed!")

콜백#

changed#

changed 자이로 센서의 방향이 변경될 때 호출될 콜백 함수를 등록합니다.

Usage:
changed(callback, arg)

매개변수

설명

callback

자이로 센서의 방향이 변경될 때 호출될 콜백 함수입니다.

arg

선택 사항입니다. 콜백 함수에 전달할 인자 튜플입니다.

def gyro_changed():
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Heading: ")
    brain.screen.print(drivetrain_gyro.heading()) 
# Display the heading when the gyro detects a change
drivetrain.turn_for(RIGHT, 90, DEGREES, wait=False)
drivetrain_gyro.changed(gyro_changed)

건설업자#

생성자는 VEXcode 외부에서 자이로 센서를 구성하는 데 필요한 Gyro 객체를 수동으로 생성하는 데 사용됩니다.

Gyro#

Gyro 자이로 센서를 생성합니다.

Usage:
Gyro(smartport)

매개변수

설명

smartport

자이로 센서가 연결된 스마트 포트는 PORTx 형식으로 표기하며, 여기서 x는 포트 번호입니다.

# Create the Brain
brain = Brain()
# When constructing Gyro Sensor "drivetrain_gyro" with a 
# SmartDrive "drivetrain"
drivetrain_gyro = Gyro(Ports.PORT1)
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, drivetrain_gyro, 200)

drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)