Gyroskooppi#

Johdanto#

Gyroskooppi on liiketunnistin, joka havaitsee pyörimisen yhden akselin ympäri. Se voi mitata, kuinka paljon robotti on kääntynyt, jolloin se voi seurata suuntaa ja kulkusuuntaa.

Tällä sivulla käytetään esimerkkinä gyroskooppianturin nimeä drivetrain_gyro Korvaa se tarvittaessa omalla määritetyllä nimelläsi.

Alla on luettelo kaikista käytettävissä olevista menetelmistä:

Toiminnot — Kalibroi tai säädä gyroskooppianturin suuntaa ja kiertoa.

  • calibrate — Kalibroi gyroskooppianturin vakaan suunnan seurannan varmistamiseksi.

  • set_heading — Asettaa gyroskooppianturin suunnan määritettyyn arvoon.

  • set_rotation — Asettaa gyroskooppianturin pyörimisarvon.

  • reset_heading — Asettaa gyroskooppianturin suunnaksi 0.

  • reset_rotation — Asettaa gyroskooppianturin pyörimisliikkeen arvoksi 0.

Getterit — Lukevat gyroskooppianturin suunnan, pyörimisen ja tilan.

  • heading — Palauttaa nykyisen otsikon.

  • rotation — Palauttaa kumulatiivisen rotaation.

  • rate — Palauttaa kulmanopeuden x-, y- tai z-akselin ympäri.

  • is_calibrating — Palauttaa, onko gyroskooppi kalibroimassa.

  • installed — Palauttaa tiedon siitä, onko gyroskooppi kytketty aivoihin.

Takaisinkutsu — Suorita koodi, kun gyroskooppi havaitsee liikettä tai muutosta.

  • changed — Rekisteröi funktion, jota kutsutaan, kun gyroskooppi havaitsee muutoksen.

Konstruktorit — Gyroskoopin manuaalinen alustaminen ja konfigurointi.

  • Gyro — Luo gyroskooppianturin.

Toiminnot#

calibrate#

calibrate kalibroi gyroskooppianturin. Kaikki seuraavat rivit odottavat kalibroinnin valmistumista ennen suorittamista. Kalibrointi on sisäinen toimenpide, joka mittaa ja kompensoi anturin kohinaa ja ajautumista tietyn ajanjakson ajan. Tänä aikana gyroskooppianturin on pysyttävä täysin paikallaan (eli vakaalla alustalla ilman ulkoista liikettä). Liike kalibroinnin aikana tuottaa epätarkkoja tuloksia.

Usage:
calibrate()

Parametri

Kuvaus

Tällä menetelmällä ei ole parametreja.

# 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 asettaa gyroskooppianturin suunnan tiettyyn arvoon.

Usage:
set_heading(value, units)

Parametrit

Kuvaus

arvo

Asetettava otsikon arvo.

yksiköitä

Valinnainen. Uuden suunnan esittämiseen käytetty yksikkö:

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

set_rotation#

set_rotation asettaa gyroskooppianturin pyörimisen tiettyyn arvoon.

Usage:
set_rotation(value, units)

Parametrit

Kuvaus

value

Asetettava otsikon arvo.

units

Valinnainen. Uuden kiertoarvon esittämiseen käytetty yksikkö:

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

reset_heading#

reset_heading nollaa gyroskooppianturin suunnan arvoon 0.

Usage:
reset_heading()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

# 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 nollaa gyroskooppianturin pyörimisen arvoon 0.

Usage:
reset_rotation()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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

Getterit#

heading#

heading palauttaa gyroskooppianturin nykyisen suunnan.

Usage:
heading(units)

Parametrit

Kuvaus

units

Valinnainen. Suunnan esittämiseen käytetty yksikkö:

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

rotation#

rotation palauttaa gyroskooppianturin nykyisen pyöritysnopeuden.

Usage:
rotation(units)

Parametrit

Kuvaus

units

Valinnainen. Kierron esittämiseen käytetty yksikkö:

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

rate#

rate palauttaa gyroskooppianturin pyörimisen nykyisen muutosnopeuden määritetyissä yksiköissä.

Usage:
rate(units)

Parametrit

Kuvaus

units

Valinnainen. Gyroskoopin nopeuden esittämiseen käytetty yksikkö:

  • DPS (oletus)
  • 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 tarkistaa, kalibroidaanko gyroskooppia parhaillaan.

  • True — Gyroskooppianturi kalibroituu.

  • False — Gyroskooppi ei kalibroidu.

Usage:
is_calibrating()

Parametri

Kuvaus

Tällä menetelmällä ei ole parametreja.

# 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 palauttaa totuusarvon, joka ilmaisee, onko gyroskooppianturi kytketty aivoihin.

  • True — Gyroskooppi on kytketty aivoihin.

  • False — Gyroskooppianturi ei ole kytketty aivoihin.

Usage:
installed()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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

Takaisinsoitto#

changed#

changed rekisteröi takaisinkutsufunktion, kun gyroskooppianturin suunta muuttuu.

Usage:
changed(callback, arg)

Parametrit

Kuvaus

callback

Takaisinkutsufunktio, jota kutsutaan, kun gyroskooppianturin suunta muuttuu.

arg

Valinnainen. Joukko argumentteja, jotka välitetään takaisinkutsufunktiolle.

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)

Rakentajat#

Konstruktoreita käytetään Gyro -objektien manuaaliseen luomiseen, jotka ovat välttämättömiä gyroskooppianturin konfiguroimiseksi VEXcoden ulkopuolella.

Gyro#

Gyro luo gyroskooppianturin.

Usage:
Gyro(smartport)

Parametri

Kuvaus

smartport

Gyroskooppianturin kytkennän sisältävä älyportti, joka kirjoitetaan muodossa PORTx, jossa x on portin numero.

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