Bezwładnościowy#
Wstęp#
Robot kodujący VEX AIM ma wbudowany czujnik bezwładnościowy. Czujnik ten mierzy ruch i skręt robota.
Czujnik bezwładnościowy wykorzystuje do tego celu dwie części. Żyroskop mierzy obroty, takie jak kierunek, obrót, prędkość skrętu i orientację robota. Akcelerometr mierzy zmiany ruchu, takie jak przyspieszenie, zwolnienie lub nagłe zatrzymanie podczas zderzenia.
Bloki bezwładnościowe można wykorzystać do śledzenia zakrętów, pomiaru przyspieszenia, wykrywania kolizji i resetowania wartości kierunku lub obrotu.
Poniżej znajduje się lista wszystkich bloków:
Wartości — Raportuj dane dotyczące orientacji i ruchu.
heading — Raportuje kierunek, w którym zwrócony jest robot, od 0 do 359,99 stopnia.
obrót — Raportuje, jak daleko obrócił się robot.
przyspieszenie — Raportuje, jak szybko robot przyspiesza lub zwalnia na wybranej osi.
pobierz szybkość obrotu — Raportuje, jak szybko robot obraca się wokół wybranej osi.
orientacja — Raportuje kąt przechyłu, pochylenia lub odchylenia robota.
Akcje — reaguj na awarie lub resetuj wartości tur.
w przypadku awarii — Uruchamia dołączone bloki, gdy robot wykryje nagłe uderzenie.
ustaw czułość wykrywania kolizji — Dostosowuje czułość wykrywania kolizji na uderzenia.
reset heading — Resetuje wartość kierunku robota do 0 stopni.
resetuj obrót — Resetuje wartość obrotu robota do 0 stopni.
Wartości#
nagłówek#
Kierunek to kierunek, w którym zwrócony jest robot, mierzony w stopniach od 0 do 359,99. Blok raportujący kierunek informuje o aktualnym kierunku robota.
Początkowy kurs wynosi 0 stopni. Jeśli robot obróci się o 359,99 stopnia, kurs powróci do 0 stopni.
kurs w stopniach
Parametry |
Opis |
|---|---|
Ten blok nie ma żadnych parametrów. |
Przykłady
gdy uruchomiony
[Turn right until the heading reaches 90 degrees.]
skręć [w prawo v]
czekaj [0.05] sekund
czekaj dopóki <(kurs w stopniach) [math_greater_than v] [90]>
zatrzymaj wszystkie ruchy
gdy uruchomiony
[Display the robot's heading as it is rotated by hand.]
zawsze
wyczyść wiersz [1] na ekranie
ustaw kursor na wiersz [1] kolumnę [1] na ekranie
wydrukuj (kurs w stopniach) na ekranie ▶
czekaj [0.05] sekund
obrót#
Obrót to wartość, o jaką robot wykonał obrót, mierzona w stopniach. W przeciwieństwie do kierunku, obrót może wzrosnąć powyżej 359,99 stopnia lub spaść poniżej 0 stopni. Na początku projektu wartość obrotu jest ustawiona na 0 stopni. Blok raportujący obrót raportuje aktualny obrót robota.
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.
(obrót w stopniach)
Parametry |
Opis |
|---|---|
Ten blok nie ma żadnych parametrów. |
Przykład
gdy uruchomiony
[Print the rotation value as the robot turns.]
skręć [w prawo v] o [480] stopni ◀ i nie czekaj
zawsze
wyczyść ekran
ustaw kursor na wiersz [1] kolumnę [1] na ekranie
wydrukuj (obrót w stopniach) na ekranie ▶
przyśpieszenie#
Przyspieszenie to szybkość, z jaką robot przyspiesza lub zwalnia. Blok raportujący przyspieszenie raportuje przyspieszenie robota wzdłuż wybranej osi, od -4,00 G do 4,00 G.
G to jednostka miary przyspieszenia. 1 G to przyspieszenie, jakie odczuwasz pod wpływem grawitacji, siedząc nieruchomo.
Wartość może być dodatnia lub ujemna w zależności od kierunku przyspieszenia na wybranej osi. W systemie AIM opcje osi są nazwane zgodnie z kierunkami ruchu robota: do przodu, w prawo i w dół.
(przyspieszenie osi [do przodu v] w g :: custom-controller-inertial-timer)
Parametry |
Opis |
|---|---|
oś |
Oś pomiaru przyspieszenia:
|

Przykład
gdy uruchomiony
[Show the change in acceleration as the robot begins to move.]
ustaw kursor na wiersz [4] kolumnę [1] na ekranie
wydrukuj (połącz [Resting: ] (przyspieszenie osi [w prawo v] w g :: custom-controller-inertial-timer)) na ekranie ▶
ustaw kursor na następny wiersz na ekranie
czekaj [0.5] sekund
leć [w prawo v] przez [50] [mm v] ◀ i nie czekaj
czekaj [0.1] sekund
wydrukuj (połącz [Startup: ] (przyspieszenie osi [w prawo v] w g :: custom-controller-inertial-timer)) na ekranie ▶
uzyskaj szybkość obrotu#
Prędkość obrotu to szybkość, z jaką obraca się robot. Blok raportujący pobierz prędkość obrotu podaje aktualną prędkość obrotu robota wzdłuż wybranej osi w stopniach na sekundę \(dps\), jako liczbę całkowitą.
Wartość może być dodatnia lub ujemna, w zależności od kierunku obrotu robota wokół danej osi. Na poniższym rysunku strzałkami pokazano kierunek dodatniego obrotu dla przechyłu, pochylenia i odchylenia.

(pobierz prędkość obrotu osi [yaw v] w dps)
Parametry |
Opis |
|---|---|
oś |
Oś, w której raportowana jest prędkość skrętu:
|
Przykład
gdy uruchomiony
[Observe the yaw turn rate as the robot turns.]
skręć [w prawo v] o [180] stopni ◀ i nie czekaj
zawsze
wyczyść ekran
ustaw kursor na wiersz [1] kolumnę [1] na ekranie
wydrukuj (pobierz prędkość obrotu osi [yaw v] w dps) na ekranie ▶
orientacja#
Orientacja to aktualny kąt robota względem wybranej osi obrotu. Blok raportujący orientację raportuje przechylenie, pochylenie lub odchylenie robota w zakresie od -180,00 do 180,00 stopni w formacie dziesiętnym.
Przechylenie, pochylenie i odchylenie opisują różne sposoby, w jakie robot może się przechylać lub skręcać. Poniższy rysunek przedstawia strzałki, pokazujące kierunek dodatniego obrotu dla przechylenia, pochylenia i odchylenia.

orientacja [yaw v] w stopniach
Parametry |
Opis |
|---|---|
oś |
Oś orientacji do zgłoszenia:
|
Przykład
gdy uruchomiony
[Display the robot's orientation as it is rotated by hand.]
zawsze
wyczyść wiersz [1] na ekranie
ustaw kursor na wiersz [1] kolumnę [1] na ekranie
wydrukuj (orientacja [roll v] w stopniach) na ekranie ▶
czekaj [0.05] sekund
Akcje#
kiedy się rozbił#
Blok „w przypadku zderzenia” uruchamia dołączony stos, gdy robot wykryje nagłe uderzenie lub kolizję. Wykrywanie zderzeń wykorzystuje akcelerometr i aktualną czułość na zderzenia.
gdy zderzenie
Parametry |
Opis |
|---|---|
Ten blok nie ma żadnych parametrów. |
Przykład
gdy uruchomiony
[Start moving forward.]
ustaw prędkość ruchu na [100]%
jedź [do przodu v]
gdy zderzenie
[Respond when a crash is detected.]
zatrzymaj wszystkie ruchy
odtwórz dźwięk [zderzenie v] ▶
ustaw czułość zderzenia#
Blok stosu ustaw czułość zderzenia reguluje, jak duże nagłe przyspieszenie jest potrzebne, aby robot wykrył zderzenie.
ustaw czułość zderzenia na [niski v]
Parametry |
Opis |
|---|---|
wrażliwość |
Czułość robota na wykrywanie zderzeń:
|
Przykład
gdy uruchomiony
[Move slowly with high crash sensitivity.]
ustaw prędkość ruchu na [35]%
ustaw czułość zderzenia na [wysoki v]
jedź [do przodu v]
gdy zderzenie
[Respond when a crash is detected.]
zatrzymaj wszystkie ruchy
odtwórz dźwięk [zderzenie v] ▶
zresetuj nagłówek#
Blok stosu Resetuj kierunek resetuje aktualny kierunek robota do 0 stopni. Po uruchomieniu tego bloku kierunek, w którym aktualnie zwrócony jest robot, staje się nowym kierunkiem 0 stopni.
zresetuj kurs
Parametry |
Opis |
|---|---|
Ten blok nie ma żadnych parametrów. |
Przykład
gdy uruchomiony
[Face left before turning around.]
skręć do kursu [270] stopni ▶
zresetuj kurs
czekaj [1] sekund
skręć do kursu [180] stopni ▶
zresetuj obrót#
Blok stosu resetuj obrót resetuje bieżącą wartość obrotu robota do 0 stopni. Po uruchomieniu tego bloku robot śledzi przyszłe obroty od nowej wartości obrotu 0 stopni.
zresetuj obrót
Parametry |
Opis |
|---|---|
Ten blok nie ma żadnych parametrów. |
Przykład
gdy uruchomiony
[Turn for 480 degrees before resetting rotation.]
skręć [w prawo v] o [480] stopni ▶
zresetuj obrót
zawsze
wyczyść ekran
ustaw kursor na wiersz [1] kolumnę [1] na ekranie
wydrukuj (obrót w stopniach) na ekranie ▶