Giroskopas#

Įvadas#

Giroskopinis jutiklis yra judesio jutiklis, kuris aptinka sukimąsi aplink vieną ašį. Jis gali išmatuoti, kiek robotas pasisuko, leisdamas jam sekti orientaciją ir kryptį.

Šiame puslapyje kaip giroskopinio jutiklio pavadinimo pavyzdys naudojamas drivetrain_gyro Jei reikia, pakeiskite jį savo sukonfigūruotu pavadinimu.

Žemiau pateikiamas visų galimų metodų sąrašas:

Veiksmai – kalibruoti arba reguliuoti giroskopinio jutiklio kryptį ir sukimąsi.

  • calibrate – Kalibruoja giroskopinį jutiklį stabiliam krypties sekimui.

  • set_heading — Nustato giroskopinio jutiklio kryptį į nurodytą reikšmę.

  • set_rotation — Nustato giroskopinio jutiklio sukimosi vertę.

  • reset_heading — Giroskopo jutiklio kryptis nustatoma į 0.

  • reset_rotation — Giroskopo jutiklio sukimąsi nustato į 0.

Geteris – nuskaito giroskopo jutiklio kryptį, sukimąsi ir būseną.

  • heading — Grąžina dabartinę antraštę.

  • rotation — Grąžina sukauptą rotaciją.

  • rate — Grąžina kampinį greitį aplink x, y arba z ašį.

  • is_calibrating — Grąžina, ar giroskopinis jutiklis kalibruojamas.

  • installed — Grąžina, ar prie smegenų prijungtas giroskopinis jutiklis.

Atgalinis iškvietimas – paleisti kodą, kai giroskopinis jutiklis aptinka judėjimą arba pokytį.

  • changed — Registruoja funkciją, kuri bus iškviesta, kai giroskopinis jutiklis aptiks pokytį.

Konstruktoriai – rankiniu būdu inicijuokite ir konfigūruokite giroskopinį jutiklį.

  • Gyro – Sukuria giroskopinį jutiklį.

Veiksmai#

calibrate#

calibrate kalibruoja giroskopinį jutiklį. Visos tolesnės eilutės lauks, kol bus baigtas kalibravimas, prieš vykdant kalibravimą. Kalibravimas yra vidinė procedūra, kuri matuoja ir kompensuoja jutiklio triukšmą ir poslinkį per tam tikrą laikotarpį. Šiuo laikotarpiu giroskopinis jutiklis turi būti visiškai nejudantis (t. y. ant stabilaus paviršiaus be jokio išorinio judėjimo). Judėjimas kalibravimo metu duos netikslius rezultatus.

Usage:
calibrate()

Parametras

Aprašymas

Šis metodas neturi parametrų.

# 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 nustato giroskopinio jutiklio antraštę į konkrečią reikšmę.

Usage:
set_heading(value, units)

Parametrai

Aprašymas

vertė

Antraštės reikšmė, kurią reikia nustatyti.

vienetai

Pasirinktinai. Vienetas, naudojamas naujai pozicijai nurodyti:

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

set_rotation#

set_rotation nustato giroskopinio jutiklio sukimąsi iki konkrečios vertės.

Usage:
set_rotation(value, units)

Parametrai

Aprašymas

value

Antraštės reikšmė, kurią reikia nustatyti.

units

Pasirinktinai. Vienetas, naudojamas naujai sukimosi vertei pavaizduoti:

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

reset_heading#

reset_heading atstato giroskopinio jutiklio kryptį į 0.

Usage:
reset_heading()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

# 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 atstato giroskopinio jutiklio sukimąsi į 0.

Usage:
reset_rotation()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

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

Getteriai#

heading#

heading grąžina dabartinę giroskopinio jutiklio kryptį.

Usage:
heading(units)

Parametrai

Aprašymas

units

Pasirinktinai. Vienetas, naudojamas kursui nurodyti:

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

rotation#

rotation grąžina dabartinį giroskopinio jutiklio sukimąsi.

Usage:
rotation(units)

Parametrai

Aprašymas

units

Pasirinktinai. Vienetas, naudojamas sukimui pavaizduoti:

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

rate#

rate grąžina dabartinį giroskopinio jutiklio sukimosi kitimo greitį nurodytais vienetais.

Usage:
rate(units)

Parametrai

Aprašymas

units

Pasirinktinai. Giroskopo greičiui pavaizduoti naudojamas vienetas:

  • DPS (numatytasis)
  • 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 patikrina, ar giroskopinis jutiklis šiuo metu kalibruojamas.

  • True — Giroskopo jutiklis kalibruojamas.

  • False — Giroskopo jutiklis nekalibruojamas.

Usage:
is_calibrating()

Parametras

Aprašymas

Šis metodas neturi parametrų.

# 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 grąžina loginę reikšmę, nurodančią, ar giroskopinis jutiklis yra prijungtas prie smegenų.

  • True — Giroskopinis jutiklis prijungtas prie smegenų.

  • False — Giroskopo jutiklis neprijungtas prie smegenų.

Usage:
installed()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

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

Atgalinis skambutis#

changed#

changed registruoja atgalinio iškvietimo funkciją, kai pasikeičia giroskopo jutiklio kryptis.

Usage:
changed(callback, arg)

Parametrai

Aprašymas

callback

Atgalinio iškvietimo funkcija, kuri bus iškviesta, kai pasikeis giroskopo jutiklio antraštė.

arg

Pasirinktinai. Argumentų rinkinys, kuris bus perduotas atgalinio iškvietimo funkcijai.

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)

Konstruktoriai#

Konstruktoriai naudojami rankiniu būdu sukurti Gyro objektus, kurie yra būtini giroskopo jutiklio konfigūravimui už VEX kodo ribų.

Gyro#

Gyro sukuria giroskopinį jutiklį.

Usage:
Gyro(smartport)

Parametras

Aprašymas

smartport

Išmanusis prievadas, prie kurio prijungtas giroskopinis jutiklis, rašomas kaip PORTx, kur x yra prievado numeris.

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