Gyro#

Zavedení#

Gyroskopický senzor je pohybový senzor, který detekuje rotaci kolem jedné osy. Dokáže měřit, o kolik se robot otočil, což mu umožňuje sledovat orientaci a směr.

Tato stránka používá jako příklad názvu gyroskopického senzoru drivetrain_gyro V případě potřeby jej nahraďte vlastním nakonfigurovaným názvem.

Níže je uveden seznam všech dostupných metod:

Akce – Kalibrace nebo úprava směru a rotace gyroskopického senzoru.

  • calibrate — Kalibruje gyroskopický senzor pro stabilní sledování směru.

  • set_heading — Nastaví směr gyroskopu na zadanou hodnotu.

  • set_rotation — Nastaví hodnotu rotace gyroskopického senzoru.

  • reset_heading — Nastaví směr gyroskopu na 0.

  • reset_rotation — Nastaví rotaci gyroskopického senzoru na 0.

Gettery – Čtou směr, rotaci a stav gyroskopického senzoru.

  • heading — Vrátí aktuální nadpis.

  • rotation — Vrátí kumulativní rotaci.

  • rate — Vrátí úhlovou rychlost kolem osy x, y nebo z.

  • is_calibrating — Vrací, zda se gyroskop kalibruje, či nikoli.

  • installed — Vrátí, zda je gyroskopický senzor připojen k mozku.

Zpětné volání — Spustí kód, když gyroskop detekuje pohyb nebo změnu.

  • changed — Registruje funkci, která se má zavolat, když gyroskop detekuje změnu.

Konstruktory – Ruční inicializace a konfigurace gyroskopického senzoru.

  • Gyro — Vytvoří gyroskopický senzor.

Akce#

calibrate#

calibrate kalibruje gyroskopický senzor. Všechny následující řádky budou čekat na dokončení kalibrace, než je provedou. Kalibrace je interní procedura, která měří a kompenzuje šum a drift senzoru po stanovenou dobu. Během této doby musí gyroskopický senzor zůstat zcela v klidu (tj. na stabilním povrchu bez jakéhokoli vnějšího pohybu). Pohyb během kalibrace povede k nepřesným výsledkům.

Usage:
calibrate()

Parametr

Popis

Tato metoda nemá žádné parametry.

# 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 nastaví směr gyroskopu na specifickou hodnotu.

Usage:
set_heading(value, units)

Parametry

Popis

hodnota

Hodnota záhlaví, která se má nastavit.

jednotky

Volitelné. Jednotka použitá k vyjádření nového směru:

  • DEGREES (výchozí)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)

set_rotation#

set_rotation nastaví rotaci gyroskopického senzoru na specifickou hodnotu.

Usage:
set_rotation(value, units)

Parametry

Popis

value

Hodnota záhlaví, která se má nastavit.

units

Volitelné. Jednotka použitá k vyjádření nové hodnoty natočení:

  • DEGREES (výchozí)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)

reset_heading#

reset_heading resetuje směr gyroskopu na 0.

Usage:
reset_heading()

Parametry

Popis

Tato metoda nemá žádné parametry.

# 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 resetuje rotaci gyroskopického senzoru na 0.

Usage:
reset_rotation()

Parametry

Popis

Tato metoda nemá žádné parametry.

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

Gettery#

heading#

heading vrací aktuální směr gyroskopu.

Usage:
heading(units)

Parametry

Popis

units

Volitelné. Jednotka použitá k vyjádření směru:

  • DEGREES (výchozí)
  • TURNS
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())

rotation#

rotation vrací aktuální rotaci gyroskopického senzoru.

Usage:
rotation(units)

Parametry

Popis

units

Volitelné. Jednotka použitá k vyjádření rotace:

  • DEGREES (výchozí)
  • TURNS
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())

rate#

rate vrací aktuální rychlost změny rotace gyroskopického senzoru v zadaných jednotkách.

Usage:
rate(units)

Parametry

Popis

units

Volitelné. Jednotka použitá k vyjádření rychlosti gyroskopu:

  • DPS (výchozí)
  • 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 kontroluje, zda se gyroskopický senzor aktuálně kalibruje.

  • True — Gyroskopický senzor se kalibruje.

  • False — Gyroskopický senzor se nekalibruje.

Usage:
is_calibrating()

Parametr

Popis

Tato metoda nemá žádné parametry.

# 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 vrací booleovskou hodnotu označující, zda je gyroskopický senzor připojen k mozku.

  • True — Gyroskopický senzor je připojen k mozku.

  • False — Gyroskopický senzor není připojen k mozku.

Usage:
installed()

Parametry

Popis

Tato metoda nemá žádné parametry.

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

Zpětné volání#

changed#

changed registruje funkci zpětného volání pro případ změny směru gyroskopického senzoru.

Usage:
changed(callback, arg)

Parametry

Popis

callback

Funkce zpětného volání, která se má volat při změně směru gyroskopického senzoru.

arg

Volitelné. N-tice argumentů, které se mají předat funkci zpětného volání.

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)

Konstruktéři#

Konstruktory se používají k ručnímu vytvoření objektů Gyro , které jsou nezbytné pro konfiguraci gyroskopického senzoru mimo VEXcode.

Gyro#

Gyro vytvoří gyroskopický senzor.

Usage:
Gyro(smartport)

Parametr

Popis

smartport

Inteligentní port, ke kterému je připojen gyroskopický senzor, zapsaný jako PORTx, kde x je číslo portu.

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