자이로#
소개#
자이로 센서는 단일 축을 중심으로 한 회전을 감지하는 모션 센서입니다. 로봇이 얼마나 회전했는지 측정하여 방향과 진행 방향을 추적할 수 있습니다.
이 페이지에서는 예시 자이로 센서 이름으로 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)
매개변수 |
설명 |
|---|---|
값 |
설정할 헤더 값입니다. |
단위 |
선택 사항입니다. 새 제목을 나타내는 데 사용되는 단위는 다음과 같습니다.
|
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)
set_rotation#
set_rotation 자이로 센서의 회전을 특정 값으로 설정합니다.
Usage:
set_rotation(value, units)
매개변수 |
설명 |
|---|---|
|
설정할 헤더 값입니다. |
|
선택 사항입니다. 새 회전 값을 나타내는 단위는 다음과 같습니다.
|
# 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)
매개변수 |
설명 |
|---|---|
|
선택 사항입니다. 제목을 나타내는 단위는 다음과 같습니다.
|
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())
rotation#
rotation 자이로 센서의 현재 회전 값을 반환합니다.
Usage:
rotation(units)
매개변수 |
설명 |
|---|---|
|
선택 사항입니다. 회전을 나타내는 단위는 다음과 같습니다.
|
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())
rate#
rate 지정된 단위로 자이로 센서 회전의 현재 변화율을 반환합니다.
Usage:
rate(units)
매개변수 |
설명 |
|---|---|
|
선택 사항입니다. 자이로 회전율을 나타내는 단위는 다음과 같습니다.
|
# 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)
매개변수 |
설명 |
|---|---|
|
자이로 센서의 방향이 변경될 때 호출될 콜백 함수입니다. |
|
선택 사항입니다. 콜백 함수에 전달할 인자 튜플입니다. |
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)
매개변수 |
설명 |
|---|---|
|
자이로 센서가 연결된 스마트 포트는 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)