Žiroskops#

Ievads#

Žirosensors ir kustības sensors, kas uztver rotāciju ap vienu asi. Tas var izmērīt, cik daudz robots ir pagriezies, ļaujot tam izsekot orientācijai un virzienam.

Šajā lapā kā žiroskopiskā sensora nosaukuma piemērs tiek izmantots drivetrain_gyro Ja nepieciešams, nomainiet to ar savu konfigurēto nosaukumu.

Zemāk ir visu pieejamo metožu saraksts:

Darbības — Kalibrējiet vai pielāgojiet žiroskopiskā sensora virzienu un rotāciju.

  • calibrate — Kalibrē žiroskopisko sensoru stabilai virziena izsekošanai.

  • set_heading — Iestata žiroskopiskā sensora virzienu uz norādīto vērtību.

  • set_rotation — Iestata žiroskopiskā sensora rotācijas vērtību.

  • reset_heading — Iestata žiroskopiskā sensora virzienu uz 0.

  • reset_rotation — Iestata žiroskopiskā sensora rotāciju uz 0.

Iegūtāji — nolasa žiroskopiskā sensora virzienu, rotāciju un statusu.

  • heading — Atgriež pašreizējo virsrakstu.

  • rotation — Atgriež kumulatīvo rotāciju.

  • rate — Atgriež leņķisko ātrumu ap x, y vai z asi.

  • is_calibrating — Atgriež, vai žiroskopiskais sensors kalibrējas.

  • installed — Atgriež, vai smadzenēm ir pievienots žiroskopiskais sensors.

Atzvanīšana — Palaist kodu, kad žiroskopiskais sensors konstatē kustību vai izmaiņas.

  • changed — Reģistrē funkciju, kas jāizsauc, kad žiroskopiskais sensors konstatē izmaiņas.

Konstruktori — Žiroskopiskā sensora manuāla inicializācija un konfigurēšana.

  • Gyro — Izveido žiroskopu sensoru.

Darbības#

calibrate#

calibrate kalibrē žiroskopisko sensoru. Visas nākamās rindas gaidīs kalibrēšanas pabeigšanu, pirms to izpildes. Kalibrēšana ir iekšēja procedūra, kas mēra un kompensē sensora troksni un nobīdi noteiktā laika periodā. Šajā laikā žiroskopiskajam sensoram jāpaliek pilnīgi nekustīgam (t. i., uz stabilas virsmas bez jebkādas ārējas kustības). Kustība kalibrēšanas laikā radīs neprecīzus rezultātus.

Usage:
calibrate()

Parametrs

Apraksts

Šai metodei nav parametru.

# 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 iestata žiroskopiskā sensora virsrakstu uz noteiktu vērtību.

Usage:
set_heading(value, units)

Parametri

Apraksts

vērtība

Iestatāmā virsraksta vērtība.

vienības

Pēc izvēles. Mērvienība, ko izmanto, lai attēlotu jauno virzienu:

  • DEGREES (pēc noklusējuma)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)

set_rotation#

set_rotation iestata žiroskopiskā sensora rotāciju uz noteiktu vērtību.

Usage:
set_rotation(value, units)

Parametri

Apraksts

value

Iestatāmā virsraksta vērtība.

units

Pēc izvēles. Vienība, ko izmanto, lai attēlotu jauno rotācijas vērtību:

  • DEGREES (pēc noklusējuma)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)

reset_heading#

reset_heading atiestata žiroskopiskā sensora virzienu uz 0.

Usage:
reset_heading()

Parametri

Apraksts

Šai metodei nav parametru.

# 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 atiestata žiroskopiskā sensora rotāciju uz 0.

Usage:
reset_rotation()

Parametri

Apraksts

Šai metodei nav parametru.

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

Getteri#

heading#

heading atgriež žiroskopiskā sensora pašreizējo virzienu.

Usage:
heading(units)

Parametri

Apraksts

units

Pēc izvēles. Vienība, ko izmanto virziena attēlošanai:

  • DEGREES (pēc noklusējuma)
  • TURNS
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())

rotation#

rotation atgriež žiroskopiskā sensora pašreizējo rotāciju.

Usage:
rotation(units)

Parametri

Apraksts

units

Pēc izvēles. Mērvienība, ko izmanto rotācijas attēlošanai:

  • DEGREES (pēc noklusējuma)
  • TURNS
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())

rate#

rate atgriež žiroskopiskā sensora rotācijas izmaiņu pašreizējo ātrumu norādītajās vienībās.

Usage:
rate(units)

Parametri

Apraksts

units

Pēc izvēles. Žiroskopiskā ātruma attēlošanai izmantotā mērvienība:

  • DPS (pēc noklusējuma)
  • 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 pārbauda, ​​vai žiroskopiskais sensors pašlaik kalibrējas.

  • True — Žiroskopiskais sensors kalibrējas.

  • False — Žiroskopiskais sensors nekalibrē.

Usage:
is_calibrating()

Parametrs

Apraksts

Šai metodei nav parametru.

# 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 atgriež Būla vērtību, kas norāda, vai žiroskopiskais sensors ir pievienots smadzenēm.

  • True — Žiroskopiskais sensors ir savienots ar smadzenēm.

  • False — Žiroskopiskais sensors nav savienots ar smadzenēm.

Usage:
installed()

Parametri

Apraksts

Šai metodei nav parametru.

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

Atzvans#

changed#

changed reģistrē atzvanīšanas funkciju, kad mainās žiroskopiskā sensora virziens.

Usage:
changed(callback, arg)

Parametri

Apraksts

callback

Atzvanīšanas funkcija, kas jāizsauc, mainoties žiroskopiskā sensora virsrakstam.

arg

Neobligāti. Argumentu kortežs, kas jānodod atzvanīšanas 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)

Konstruktori#

Konstruktori tiek izmantoti, lai manuāli izveidotu Gyro objektus, kas ir nepieciešami žiroskopiskā sensora konfigurēšanai ārpus VEXkoda.

Gyro#

Gyro izveido žiroskopa sensoru.

Usage:
Gyro(smartport)

Parametrs

Apraksts

smartport

Viedā pieslēgvieta, kurai ir pievienots žiroskopiskais sensors, tiek rakstīta kā PORTx, kur x ir pieslēgvietas numurs.

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