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ö:
|
# 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 |
|---|---|
|
Asetettava otsikon arvo. |
|
Valinnainen. Uuden kiertoarvon esittämiseen käytetty yksikkö:
|
# 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 |
|---|---|
|
Valinnainen. Suunnan esittämiseen käytetty yksikkö:
|
# 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 |
|---|---|
|
Valinnainen. Kierron esittämiseen käytetty yksikkö:
|
# 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 |
|---|---|
|
Valinnainen. Gyroskoopin nopeuden esittämiseen käytetty yksikkö:
|
# 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 |
|---|---|
|
Takaisinkutsufunktio, jota kutsutaan, kun gyroskooppianturin suunta muuttuu. |
|
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 |
|---|---|
|
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)