Giroszkóp#

Bevezetés#

A giroszkóp egy mozgásérzékelő, amely egyetlen tengely körüli forgást érzékel. Mérni tudja, hogy a robot mennyit fordult el, lehetővé téve a tájékozódás és az irány követését.

Ez az oldal drivetrain_gyro értéket használja példaként a giroszkóp érzékelő nevére. Szükség szerint cserélje ki a saját konfigurált névre.

Az alábbiakban felsoroljuk az összes elérhető módszert:

Műveletek — A giroszkóp irányának és forgásának kalibrálása vagy beállítása.

  • calibrate — Kalibrálja a giroszkópot a stabil iránykövetés érdekében.

  • set_heading — Beállítja a giroszkóp érzékelő irányát egy megadott értékre.

  • set_rotation — Beállítja a giroszkóp forgatási értékét.

  • reset_heading — A giroszkóp érzékelő irányát 0-ra állítja.

  • reset_rotation — A giroszkóp érzékelő forgását 0-ra állítja.

Getterek – Olvassák le a giroszkóp irányát, forgását és állapotát.

  • heading — Visszaadja az aktuális címsort.

  • rotation — Visszaadja az összesített forgatást.

  • rate — Visszaadja az x, y vagy z tengely körüli szögsebességet.

  • is_calibrating — Visszaadja, hogy a giroszkóp kalibrál-e vagy sem.

  • installed — Visszaadja, hogy van-e giroszkóp az agyhoz csatlakoztatva.

Visszahívás — Kód futtatása, amikor a giroszkóp mozgást vagy változást érzékel.

  • changed — Regisztrál egy függvényt, amelyet akkor hív meg, amikor a giroszkóp változást észlel.

Konstruktorok – Giroszkóp manuális inicializálása és konfigurálása.

  • Gyro — Giroszkóp érzékelőt hoz létre.

Műveletek#

calibrate#

calibrate kalibrálja a giroszkópot. Az összes további sor a kalibrálás befejezésére vár a végrehajtás előtt. A kalibrálás egy belső eljárás, amely egy meghatározott időszakon belül méri és kompenzálja az érzékelő zaját és sodródását. Ez idő alatt a giroszkópnak teljesen mozdulatlanul kell maradnia (azaz stabil felületen, külső mozgás nélkül). A kalibrálás közbeni mozgás pontatlan eredményeket eredményez.

Usage:
calibrate()

Paraméter

Leírás

Ennek a metódusnak nincsenek paraméterei.

# 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 A giroszkóp érzékelőjének irányát egy adott értékre állítja be.

Usage:
set_heading(value, units)

Paraméterek

Leírás

érték

A beállítandó címsorérték.

egységek

Opcionális. Az új irány ábrázolására használt mértékegység:

  • DEGREES (alapértelmezett)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)

set_rotation#

set_rotation A giroszkóp érzékelő forgását egy adott értékre állítja be.

Usage:
set_rotation(value, units)

Paraméterek

Leírás

value

A beállítandó címsorérték.

units

Opcionális. Az új forgatási érték ábrázolására használt mértékegység:

  • DEGREES (alapértelmezett)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)

reset_heading#

reset_heading visszaállítja a giroszkóp érzékelő irányát 0-ra.

Usage:
reset_heading()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

# 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 visszaállítja a giroszkóp érzékelő forgását 0-ra.

Usage:
reset_rotation()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

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

Getterek#

heading#

heading visszaadja a giroszkóp aktuális irányát.

Usage:
heading(units)

Paraméterek

Leírás

units

Opcionális. A haladási irány ábrázolására használt mértékegység:

  • DEGREES (alapértelmezett)
  • TURNS
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())

rotation#

rotation visszaadja a giroszkóp aktuális forgását.

Usage:
rotation(units)

Paraméterek

Leírás

units

Opcionális. A forgatás ábrázolására használt mértékegység:

  • DEGREES (alapértelmezett)
  • TURNS
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())

rate#

rate A giroszkóp forgásának aktuális változási sebességét adja vissza a megadott egységekben.

Usage:
rate(units)

Paraméterek

Leírás

units

Opcionális. A giroszkóp fordulatszámának ábrázolására használt mértékegység:

  • DPS (alapértelmezett)
  • 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 ellenőrzi, hogy a giroszkóp kalibrálása folyamatban van-e.

  • True — A giroszkóp kalibrálás alatt áll.

  • False — A giroszkóp nem kalibrál.

Usage:
is_calibrating()

Paraméter

Leírás

Ennek a metódusnak nincsenek paraméterei.

# 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 egy logikai értéket ad vissza, amely azt jelzi, hogy a giroszkóp csatlakoztatva van-e az agyhoz.

  • True — A giroszkóp az agyhoz van csatlakoztatva.

  • False — A giroszkóp nincs csatlakoztatva az agyhoz.

Usage:
installed()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

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

Visszahívás#

changed#

changed egy visszahívó függvényt regisztrál, amely jelzi, ha a giroszkóp érzékelő iránya megváltozik.

Usage:
changed(callback, arg)

Paraméterek

Leírás

callback

A giroszkóp érzékelőjének fejlécének megváltozásakor meghívandó visszahívó függvény.

arg

Opcionális. A visszahívó függvénynek átadandó argumentumok tuple-je.

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)

Konstruktorok#

A konstruktorokat Gyro objektumok manuális létrehozására használjuk, amelyek szükségesek egy Gyro érzékelő VEXcode-on kívüli konfigurálásához.

Gyro#

Gyro létrehoz egy giroszkópot.

Usage:
Gyro(smartport)

Paraméter

Leírás

smartport

Az az intelligens port, amelyhez a giroszkóp csatlakozik, PORTx-ként írva, ahol x a port száma.

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