Bezwładnościowy#
Wstęp#
Mózg ma wbudowany czujnik bezwładności. Czujnik ten może mierzyć ruch lub obrót mózgu.
Czujnik bezwładnościowy wykorzystuje do tego celu dwie części. Żyroskop mierzy obroty, np. kierunek, w którym zwrócony jest mózg i jak daleko się obrócił. Akcelerometr mierzy zmiany ruchu, takie jak przyspieszenie, zwolnienie lub nagłe zatrzymanie podczas zderzenia.
Metody bezwładnościowe można stosować do śledzenia zakrętów, resetowania wartości kursu lub obrotu, pomiaru przechyłu, pochylenia i odchylenia oraz raportowania przyspieszenia.
Istnieje wiele sposobów kodowania czujnika inercyjnego. Poniżej znajduje się lista wszystkich metod inercyjnych:
Orientacja — powrót i ustawienie kierunku, w którym skierowany jest mózg, w którym się obraca lub przechyla.
get_heading— Zwraca kierunek, w którym zwrócony jest mózg, od 0 do 359 stopni.get_rotation— Zwraca, jak daleko obrócił się Mózg.get_yaw— Zwraca wartość określającą, o ile mózg obrócił się w lewo lub w prawo od pozycji początkowej.get_roll— Zwraca wartość określającą, o ile mózg jest pochylony w lewo lub w prawo.get_pitch— Zwraca wartość określającą, o ile mózg jest pochylony do przodu lub do tyłu.calibrate— Kalibruje czujnik bezwładnościowy mózgu.reset_heading— Resetuje aktualny kierunek Mózgu do 0 stopni.reset_rotation— Resetuje aktualny obrót mózgu do 0 stopni.set_heading— Ustawia bieżący nagłówek mózgu na nową wartość nagłówka.set_rotation— Ustawia aktualny obrót mózgu na nową wartość obrotu.
Ruch — pokaż, jak porusza się mózg.
get_acceleration— Zwraca wartość informującą o tym, jak szybko mózg przyspiesza lub zwalnia na wybranej osi.
Orientacja#
get_heading#
Kierunek to kierunek, w którym zwrócony jest Mózg, mierzony w stopniach od 0 do 359. get_heading zwraca aktualny kierunek Mózgu.
Początkowy kurs wynosi 0 stopni. Jeśli Brain przekroczy 359 stopni, kurs powróci do 0 stopni.
Usage:
inertial.get_heading()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
get_rotation#
Obrót to wartość obrotu mózgu, mierzona w stopniach. W przeciwieństwie do kierunku, obrót może przekroczyć 359 stopni lub zmniejszyć się poniżej 0 stopni. Na początku projektu wartość obrotu jest ustawiona na 0 stopni. get_rotation zwraca aktualny obrót mózgu.
Skręt w prawo zwiększa obrót, a skręt w lewo zmniejsza. Na przykład, wykonanie dwóch pełnych obrotów w prawo spowoduje obrót o 720 stopni. Jeden pełny obrót w lewo od 0 stopni spowoduje obrót o -360 stopni.
Usage:
inertial.get_rotation()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
get_yaw#
Odchylenie określa kąt, o jaki mózg obrócił się w lewo lub w prawo od pozycji początkowej, mierzony w stopniach. get_yaw zwraca aktualną wartość odchylenia mózgu.
Skręt w prawo zwiększa wartość odchylenia, a skręt w lewo zmniejsza ją. Odchylenie jest przydatne do sprawdzania skrętów w lewo i w prawo bez użycia wartości zawiniętego kursu.
Usage:
inertial.get_yaw()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
get_roll#
Przechylenie Mózgu w lewo lub w prawo, mierzone w stopniach. get_roll zwraca aktualną wartość przechyłu Mózgu.
Gdy mózg jest skierowany do przodu, pochylenie w lewo zwiększa wartość przechyłu, a pochylenie w prawo zmniejsza wartość przechyłu.
Usage:
inertial.get_roll()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
get_pitch#
Wysokość dźwięku określa, o ile mózg pochyla się do przodu lub do tyłu, mierzoną w stopniach. get_pitch zwraca aktualną wartość wysokości dźwięku mózgu.
Gdy mózg jest skierowany do przodu, pochylenie do przodu zwiększa wartość wysokości dźwięku, a pochylenie do tyłu zmniejsza wartość wysokości dźwięku.
Usage:
inertial.get_pitch()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
calibrate#
calibrate kalibruje czujnik bezwładnościowy mózgu.
Kalibracja pomaga czujnikowi bezwładnościowemu prawidłowo mierzyć zakręty. Podczas kalibracji należy utrzymać Brain w bezruchu przez około 2 sekundy. Jeśli Brain poruszy się podczas kalibracji, wartości kierunku, obrotu, odchylenia, przechyłu i pochylenia mogą być niepoprawne.
Projekt zaczeka na zakończenie kalibracji przed uruchomieniem kolejnej linii kodu.
Usage:
inertial.calibrate()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
reset_heading#
Kierunek to kierunek, w którym zwrócony jest Mózg, mierzony w stopniach. reset_heading resetuje aktualny kierunek Mózgu do 0 stopni.
Po zastosowaniu tej metody aktualny kierunek Mózgu staje się nowym kursem 0 stopni.
Usage:
inertial.reset_heading()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
reset_rotation#
Obrót to wartość, o jaką obrócił się mózg, mierzona w stopniach. reset_rotation resetuje aktualny obrót mózgu do 0 stopni.
Po zastosowaniu tej metody Brain śledzi przyszłe obroty od nowej wartości obrotu 0 stopni.
Usage:
inertial.reset_rotation()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
set_heading#
Kierunek to kierunek, w którym zwrócony jest Mózg, mierzony w stopniach od 0 do 359. set_heading zmienia bieżący kierunek Mózgu na nową wartość kierunku.
Na przykład, jeśli Mózg obrócił się w prawo, ustawienie kierunku na 0 stopni sprawi, że ta pozycja skierowana w prawo stanie się nowym 0 stopniem. Wtedy Mózg może śledzić inne kierunki na podstawie tego nowego kierunku.
Usage:
inertial.set_heading(heading)
Parametry |
Opis |
|---|---|
|
Wartość nagłówka (w stopniach), którą należy ustawić dla Brain. Może to być liczba całkowita od 0 do 359. |
set_rotation#
Obrót to wartość, o jaką obrócił się mózg, mierzona w stopniach. W przeciwieństwie do kierunku, obrót może przekroczyć 359 stopni lub zmniejszyć się poniżej 0 stopni. Na początku projektu wartość obrotu jest ustawiona na 0 stopni. set_rotation zmienia aktualny obrót mózgu na nową wartość.
Na przykład, jeśli Mózg wykonał dwa pełne obroty w prawo, jego wartość obrotu wyniesie 720 stopni. Ustawienie obrotu na 0 stopni zresetuje ten obrót z 720 do 0 stopni. Wtedy Mózg może śledzić obroty na podstawie tej nowej wartości.
Usage:
inertial.set_rotation(rotation)
Parametry |
Opis |
|---|---|
|
Wartość obrotu (w stopniach), którą należy ustawić dla Mózgu. Może to być liczba całkowita. |
Ruch#
get_acceleration#
Przyspieszenie określa szybkość, z jaką Mózg przyspiesza lub zwalnia. get_acceleration zwraca przyspieszenie Mózgu na wybranej osi w zakresie od -4,0 G do 4,0 G.
G to jednostka miary przyspieszenia. 1 G to przyspieszenie ziemskie odczuwane w pozycji siedzącej.
Wartość może być dodatnia lub ujemna w zależności od kierunku przyspieszenia na wybranej osi. Dostępne opcje osi to X, Yi Z.
Usage:
inertial.get_acceleration(axis)
Parametry |
Opis |
|---|---|
|
Oś, na której należy mierzyć przyspieszenie: |
# 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)