Zrozumienie danych czujnika inercyjnego z mózgu VEX IQ (2. generacji).

Mózg VEX IQ (2. generacji) ma wbudowany czujnik bezwładnościowy. Czujnik bezwładnościowy raportuje dane dotyczące kursu, obrotu, orientacji i przyspieszenia na panelu czujnika oraz w VEXcode IQ. W tym artykule omówiono, jakie dane są prezentowane na panelu czujnika.

Więcej informacji na temat uzyskiwania dostępu do panelu czujnika można znaleźć w tym artykule. 

Ekran mózgu jest wyświetlany z otwartym panelem czujników bezwładnościowych z menu Urządzenia. Wyświetlane są następujące informacje z czujnika bezwładnościowego: kurs, obrót, przechylenie, pochylenie, odchylenie, kalibracja, przyspieszenie na osiach x, y i z oraz prędkość obrotowa na osiach x, y i z.


Nagłówek

Schemat mózgu widziany z góry, otoczony okręgiem i zaznaczonymi wokół niego jednostkami stopni, wskazujący, że kierunek mózgu może mieścić się w przedziale od 0 do 359,99 stopni.

Kurs to kierunek, w którym zwrócony jest mózg, i jest podawany w sposób kompasowy przy użyciu stopni z zakresu 0-359,99.  Punkt 0 można ustawić za pomocą poleceń w VEXcode IQ lub kalibrując mózg VEX IQ (2. generacji). Informacje te można również wykorzystać do obrócenia robota w stronę określonego miejsca podczas korzystania z układu napędowego.

Ekran mózgu jest wyświetlany z otwartym panelem czujników bezwładnościowych i zaznaczoną wartością nagłówka.

W panelu czujnika na ekranie Braina nagłówek jest pierwszą wartością na liście. Jeśli poruszysz mózgiem na tym ekranie, zobaczysz aktualizację wartości w czasie rzeczywistym.

Na rysunku pokazano mózg z otwartym panelem czujników bezwładnościowych i zaznaczonym przyciskiem Sprawdź.

Wartość ta jest ustawiana na 0 stopni, gdy mózg jest włączony i kalibrowany jest czujnik bezwładnościowy. Jeśli chcesz zresetować nagłówek swojego mózgu, wybierz przycisk wyboru na mózgu. Spowoduje to zresetowanie kursu i obrotu do 0 stopni, a wszystkie dane na pulpicie czujnika czujnika bezwładnościowego będą oparte na nowej lokalizacji początkowej.

Bloki IQ VEXcode VEXcode IQ w Pythonie
VEXcode IQ Blok „Skręć w kierunku kierunku” zawierający napis „Skręć w kierunku kierunku 90 stopni”.
układ napędowy.turn_to_heading(90, STOPNIE)
VEXcode IQ C++
int main()
{
Drivetrain.turnToHeading(90, stopnie);
}

W VEXcode IQ blok [Turn to heading], turn_to_headingpolecenie Pythona i turnToHeading C++ mogą zostać użyte do skierowania robota w określonym kierunku.

Bloki IQ VEXcode VEXcode IQ w Pythonie
VEXcode IQ Ustaw blok kierunku napędu o treści Ustaw kierunek napędu na 0 stopni.
drivetrain.set_heading(0, STOPNIE)
VEXcode IQ C++
int main()
{
Drivetrain.setHeading(0, stopnie);
}

Podobnie jak w przypadku opcji kalibracji w panelu czujnika, nagłówek można ustawić podczas uruchamiania projektu za pomocą bloku [Ustaw nagłówek dysku], polecenia set_heading Pythona lub setHeading polecenia C++.


Obrót

Ekran mózgu jest wyświetlany z otwartym panelem czujników bezwładnościowych i zaznaczoną wartością obrotu. Wartość obrotu wynosi minus 90,13.

Obrót jest zgłaszany, gdy robot obraca się wokół środkowej osi mózgu. Liczba stopni wyświetlana na desce rozdzielczej czujnika wskazuje kierunek skrętu i wartość stopni skrętów, które Brain wykonał od czasu kalibracji. W przeciwieństwie do kursu, wartości liczbowe nie są ograniczone do zakresu 0-359,99 stopni. Robot może obracać się w kierunku przeciwnym do ruchu wskazówek zegara dla wartości ujemnej lub zgodnie z ruchem wskazówek zegara dla wartości dodatniej i będzie w dalszym ciągu zwiększał wartość stopnia, aby dopasować ją do liczby obrotów wskazanych przez czujnik bezwładnościowy w raportach mózgu. 

Ekran mózgu jest wyświetlany z otwartym panelem czujników bezwładnościowych i zaznaczoną wartością obrotu. Wartość obrotu wynosi 0,47.

Na panelu czujnika na ekranie Braina, drugą wartością na liście jest obrót. Jeśli obrócisz Brain na tym ekranie, zobaczysz aktualizację wartości w czasie rzeczywistym. 

Na rysunku pokazano mózg z otwartym panelem czujników bezwładnościowych i zaznaczonym przyciskiem Sprawdź.

Wartość ta jest ustawiana na 0 stopni, gdy mózg jest włączony i kalibrowany jest czujnik bezwładnościowy. Jeśli chcesz zresetować rotację swojego robota, wybierz przycisk wyboru na Brain. Spowoduje to zresetowanie kursu i obrotu do 0 stopni, a wszystkie dane na pulpicie czujnika czujnika bezwładnościowego będą oparte na nowej lokalizacji początkowej.

Bloki IQ VEXcode VEXcode IQ w Pythonie
Blok VEXcode IQ Obrót do obrotu o treści Obrót do obrotu o 90 stopni.
układ napędowy.turn_to_rotation(90, STOPNIE)
VEXcode IQ C++
int main()
{
Drivetrain.turnToRotation(90, stopnie);
}

W VEXcode IQ blok [Obróć do obrotu], komenda turn_to_rotation Python i turnToRotation C++ mogą zostać użyte do obrócenia robota o określoną liczbę stopni.

Bloki IQ VEXcode VEXcode IQ w Pythonie
VEXcode IQ Ustaw blok obrotu napędu o treści Ustaw obrót napędu na 0 stopni.
drivetrain.set_rotation(0, STOPNIE)
VEXcode IQ C++
int main()
{
Drivetrain.setRotation(0, stopnie);
}

Podobnie jak w przypadku opcji kalibracji w panelu czujnika, wartość obrotu można ustawić podczas uruchamiania projektu za pomocą bloku [Ustaw obrót dysku], polecenia set_rotationPythona lub setRotation polecenia C++.


Pochylenie, przechylenie i odchylenie

Schemat BaseBota z zakrzywioną strzałką wskazującą nachylenie. Kierunek nachylenia można sobie wyobrazić jako spojrzenie robota w górę lub w dół.

Pochylenie, przechylenie i odchylenie to kąt orientacji mózgu wzdłuż określonej osi. Nachylenie przedstawia oś y i kąt nachylenia robota do przodu i do tyłu. Wartości nachylenia mieszczą się w zakresie od -90 stopni do 90 stopni. 

Schemat BaseBota z zakrzywioną strzałką wskazującą jego obrót. Kierunek obrotu można sobie wyobrazić jako przewrócenie się robota na bok.

Obrót przedstawia oś x i kąt przechyłu robota w lewo i prawo. Wartości dla rolki mieszczą się w zakresie od -180 stopni do 180 stopni. 

Schemat BaseBota z zakrzywioną strzałką wskazującą jego odchylenie. Kierunek odchylenia można sobie wyobrazić jako robota patrzącego w lewo i prawo.

Odchylenie reprezentuje oś Z i obrót kątowy robota. Wartości odchylenia mieszczą się w zakresie od -180 stopni do 180 stopni.

Ekran mózgu jest pokazany z otwartym panelem czujników bezwładnościowych i wyróżnionymi wartościami przechyłu, pochylenia i odchylenia.

Pochylenie, przechylenie i odchylenie są wyświetlane na desce rozdzielczej czujników pod kierunkiem i obrotem.

Zrzut ekranu przykładowej miniatury projektu Pitch, Roll, Yaw.

Przykładowy projekt Pitch, Roll, Yaw w VEXcode IQ można wykorzystać do pokazania, jak wykryć kąt orientacji mózgu wzdłuż osi y, x i z. Dioda LED Touch będzie miała różne kolory w zależności od tego, jak zmienia się kąt orientacji mózgu, wskazując nachylenie, przechylenie i odchylenie.

Informacje na temat otwierania przykładowego projektu w VEXcode IQ można znaleźć w jednym z poniższych artykułów.


Przyspieszenie na osiach x, y i z

Ekran mózgu pokazany jest z otwartym panelem czujników bezwładnościowych i wyróżnionymi wartościami przyspieszenia na osiach x, y i z. Wartości te są oznaczone jako ax, ay i az w Panelu sterowania.

Przyspieszenie sekcji na panelu czujnika podaje wartość przyspieszenia czujnika bezwładnościowego wzdłuż określonej osi. Przyspieszenie wzdłuż osi x, y i z jest pokazane na desce rozdzielczej czujników po prawej stronie za pomocą skrótów „ax”, „ay” i „az”. Każdy z nich podaje zakres od -4,0 do 4,0 Gs.

Kiedy mózg spoczywa na powierzchni, zobaczysz wartość około -1,0 Gs. wynika to z siły grawitacji działającej na mózg w stanie spoczynku.

Zrzut ekranu miniatury przykładowego projektu wykrywania przyspieszenia.

Przykładowy projekt Detecting Acceleration w VEXcode IQ może zostać wykorzystany do pokazania, jak wykryć przyspieszenie mózgu wzdłuż osi x, y i z. Dotykowa dioda LED będzie wyświetlać różne kolory w zależności od osi, na której przechylony jest mózg.

Informacje na temat otwierania przykładowego projektu w VEXcode IQ można znaleźć w jednym z poniższych artykułów.


Prędkość obrotu wokół osi x, y i z

Ekran mózgu jest pokazany z otwartym panelem czujników bezwładnościowych i wyróżnionymi wartościami prędkości obrotu na osiach x, y i z. Wartości te są oznaczone w Panelu jako gx, gy i gz.

Sekcja prędkości żyroskopowej na desce rozdzielczej czujnika podaje wartość prędkości obrotowej czujnika bezwładnościowego wzdłuż określonej osi. Szybkość obrotu wzdłuż osi x, y i z jest pokazana na panelu czujnika po prawej stronie za pomocą skrótów „gx”, „gy” i „gz”. Każdy z nich podaje zakres od -1000,0 do 1000,0 stopni na sekundę.

Bloki IQ VEXcode VEXcode IQ w Pythonie
Blok prędkości żyroskopu VEXcode IQ odczytujący prędkość żyroskopu BrainInertial osi x.
brain_inertial.gyro_rate(AxisType.XAXIS, VelocityUnits.DPS)
VEXcode IQ C++
int main()
{
BrainInertial.gyroRate(xaxis, dps)
}

W VEXcode IQ blok (Gyro Rate), polecenie gyro_ratew języku Python i polecenie gyroRate C++ mogą być użyte do raportowania prędkości obrotowej określonej osi podczas działania projektu.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: