Inercinis#

Įvadas#

Smegenys turi įmontuotą inercinį jutiklį. Šis jutiklis gali matuoti, kaip smegenys juda arba sukasi.

Inercinis jutiklis tam naudoja dvi dalis. Giroskopas matuoja posūkius, pavyzdžiui, į kurią pusę yra pasukęs smegenys ir kiek jos pasisuko. Akselerometras matuoja judėjimo pokyčius, pavyzdžiui, pagreitėjimą, sulėtėjimą ar staigų sustojimą avarijos metu.

Inerciniai metodai gali būti naudojami posūkiams sekti, krypties ar sukimosi reikšmėms iš naujo nustatyti, riedėjimui, polinkiui ir posūkiui matuoti bei pagreičiui pranešti.

Yra daug būdų, kaip koduoti inercinį jutiklį. Žemiau pateikiamas visų inercinių metodų sąrašas:

Orientacija – grįžkite ir nustatykite, į kurią pusę yra nukreiptos, sukasi ar pakreipiamos smegenys.

  • get_heading — Grąžina smegenų kryptį nuo 0 iki 359 laipsnių.

  • get_rotation — Grąžina, kiek pasisuko smegenys.

  • get_yaw — Grąžina, kiek smegenys pasisuko į kairę arba į dešinę nuo pradinės padėties.

  • get_roll — Grąžina, kiek smegenys pakreiptos į kairę arba į dešinę.

  • get_pitch — Grąžina, kiek smegenys pakreiptos į priekį arba atgal.

  • calibrate – Kalibruoja smegenų inercinį jutiklį.

  • reset_heading – Atkuria dabartinę smegenų kryptį į 0 laipsnių.

  • reset_rotation — Atkuria dabartinį smegenų sukimąsi į 0 laipsnių.

  • set_heading — Nustato dabartinę smegenų antraštę į naują antraštės reikšmę.

  • set_rotation — Nustato dabartinį smegenų sukimąsi į naują sukimosi reikšmę.

Judėjimas – grąžina, kaip juda smegenys.

  • get_acceleration — Grąžina, kaip greitai smegenys greitėja arba lėtėja pasirinktoje ašyje.

Orientacija#

get_heading#

Kryptis yra smegenų judėjimo kryptis, matuojama laipsniais nuo 0 iki 359. get_heading grąžina dabartinę smegenų judėjimo kryptį.

Pradinė kryptis yra 0 laipsnių. Jei smegenys pasisuka daugiau nei 359 laipsnius, kryptis grįžta į 0 laipsnių.

Usage:
inertial.get_heading()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

get_rotation#

Rotacija rodo, kiek smegenų pasisuko, matuojant laipsniais. Skirtingai nuo krypties, rotacija gali padidėti virš 359 laipsnių arba sumažėti žemiau 0 laipsnių. Projekto pradžioje rotacijos reikšmė nustatoma į 0 laipsnių. get_rotation grąžina dabartinį smegenų pasukimą.

Sukant į dešinę, sukimasis padidėja, o sukant į kairę – sumažėja. Pavyzdžiui, padarius du pilnus apsisukimus į dešinę, pasisukimas bus 720 laipsnių. Pasukus vieną pilną apsisukimą į kairę nuo 0 laipsnių, pasisukimas bus -360 laipsnių.

Usage:
inertial.get_rotation()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

get_yaw#

Nukrypimas nuo kurso (Yaw) rodo, kiek smegenų (Brain) pasisuko į kairę arba į dešinę nuo pradinės padėties, matuojant laipsniais. get_yaw grąžina dabartinę smegenų (Brain) nukrypimo nuo kurso (Yaw) reikšmę.

Posūkis į dešinę padidina posūkio krypties reikšmę, o posūkis į kairę – sumažina. Posūkio kryptis naudinga norint patikrinti posūkį į kairę ir į dešinę nenaudojant apvyniotos krypties reikšmės.

Usage:
inertial.get_yaw()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

get_roll#

„Roll“ (ritinys) nurodo, kiek smegenų (Brain) pakrypsta į kairę arba į dešinę, matuojant laipsniais. get_roll grąžina dabartinę smegenų (Brain) metimo vertę.

Smegenims esant nukreiptoms į priekį, pakreipimas į kairę padidina riedėjimo vertę, o pakreipimas į dešinę sumažina.

Usage:
inertial.get_roll()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

get_pitch#

„Pitch“ (aukštis) nurodo, kiek smegenų pakrypsta į priekį arba atgal, matuojamas laipsniais. get_pitch grąžina dabartinę smegenų aukščio reikšmę.

Kai smegenys yra nukreiptos į priekį, pakreipimas į priekį padidina garso aukštį, o pakreipimas atgal sumažina.

Usage:
inertial.get_pitch()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

calibrate#

calibrate kalibruoja smegenų inercinį jutiklį.

Kalibravimas padeda inerciniam jutikliui teisingai išmatuoti posūkius. Kalibravimo metu laikykite smegenis nejudėdami maždaug 2 sekundes. Jei smegenys kalibravimo metu pajuda, krypties, sukimosi, posūkio, riedėjimo ir polinkio vertės gali būti išmatuotos neteisingai.

Projektas lauks, kol bus atliktas kalibravimas, prieš paleidžiant kitą kodo eilutę.

Usage:
inertial.calibrate()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

reset_heading#

Kryptis yra smegenų kryptis, matuojama laipsniais. reset_heading atstato dabartinę smegenų kryptį į 0 laipsnių.

Panaudojus šį metodą, dabartinė smegenų kryptis tampa nauja 0 laipsnių pozicija.

Usage:
inertial.reset_heading()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

reset_rotation#

Sukimas rodo, kiek smegenų pasisuko, matuojant laipsniais. reset_rotation atstato dabartinį smegenų sukimąsi į 0 laipsnių.

Panaudojus šį metodą, smegenys seka būsimus posūkius nuo naujos 0 laipsnių sukimosi vertės.

Usage:
inertial.reset_rotation()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

set_heading#

Kryptis yra smegenų kryptis, matuojama laipsniais nuo 0 iki 359. set_heading pakeičia dabartinę smegenų kryptį į naują krypties reikšmę.

Pavyzdžiui, jei smegenys pasisuko į dešinę, nustačius kryptį į 0 laipsnių, ta dešinėn nukreipta pozicija tampa nauja 0 laipsnių. Tada smegenys gali sekti kitas kryptis, remdamosi ta nauja kryptimi.

Usage:
inertial.set_heading(heading)

Parametrai

Aprašymas

heading

Smegenims nustatyta krypties reikšmė laipsniais. Tai gali būti sveikasis skaičius nuo 0 iki 359.

set_rotation#

Rotacija rodo, kiek smegenų pasisuko, matuojant laipsniais. Skirtingai nuo krypties, rotacija gali padidėti virš 359 laipsnių arba sumažėti žemiau 0 laipsnių. Projekto pradžioje rotacijos reikšmė nustatoma į 0 laipsnių. set_rotation pakeičia dabartinę smegenų rotaciją į naują reikšmę.

Pavyzdžiui, jei smegenys atliko du pilnus posūkius į dešinę, jų sukimosi vertė bus 720 laipsnių. Nustačius sukimąsi į 0 laipsnių, tas sukimasis bus atstatytas iš 720 į 0 laipsnių. Tada smegenys galės sekti sukimus pagal tą naują vertę.

Usage:
inertial.set_rotation(rotation)

Parametrai

Aprašymas

rotation

Smegenims nustatyta pasukimo vertė laipsniais. Tai gali būti sveikasis skaičius.

Judesys#

get_acceleration#

Pagreitis rodo, kaip greitai smegenys greitėja arba lėtėja. get_acceleration grąžina smegenų pagreitį pasirinktoje ašyje nuo -4,0 G iki 4,0 G.

G yra vienetas, naudojamas pagreičiui matuoti. 1 G yra maždaug tas pagreitis, kurį jaučiate dėl gravitacijos sėdėdami vietoje.

Reikšmė gali būti teigiama arba neigiama, priklausomai nuo pasirinktos ašies pagreičio krypties. Ašių parinktys yra X, Yir Z.

Usage:
inertial.get_acceleration(axis)

Parametrai

Aprašymas

axis

Ašis, kurioje matuojamas pagreitis: X, Yarba Z.

# Build Used: Super Code Base 2.0
def main():
    # Display the acceleration after moving.
    drivetrain.set_drive_velocity(100)
    console.print("Resting: ")
    console.print(inertial.get_acceleration(X), precision=2)
    console.new_line()
    wait(1, SECONDS)
    drivetrain.drive_for(FORWARD, 500, MM, wait=False)
    wait(0.20, SECONDS)
    console.print("Startup: ")
    console.print(inertial.get_acceleration(X), precision=2)

# Start threads — Do not delete
start_thread(main)