Pochopení dat inerciálního senzoru z mozku VEX IQ (2. generace).

VEX IQ (2. generace) Brain má zabudovaný inerciální senzor. Inerciální senzor hlásí data o směru, rotaci, orientaci a zrychlení na palubní desce senzoru a ve VEXcode IQ. V tomto článku se podíváme na to, jaká data jsou prezentována na přístrojové desce senzoru.

Další informace o přístupu k řídicímu panelu senzoru naleznete v tomto článku. 

inertial_sensor_dashboard_blank.png


Nadpis

inertial_sensor_heading.png

Směr je směr, kterým míří mozek, a je hlášen ve stylu kompasu pomocí stupňů od 0 do 359,99.  Bod 0 lze nastavit pomocí příkazů ve VEXcode IQ nebo kalibrací VEX IQ (2. generace) Brain. Tyto informace lze také použít k otočení vašeho robota čelem k určitému místu, když používáte hnací ústrojí.

dashboard_with_heading_callout.png

Na panelu senzoru na obrazovce Brain je nadpis první uvedenou hodnotou. Pokud na této obrazovce pohnete mozkem, uvidíte, jak se hodnoty aktualizují v reálném čase.

Screen_Shot_2021-11-04_at_12.15.49_PM.png

Toto je nastaveno na 0 stupňů, když je Brain zapnutý a inerciální senzor se zkalibruje. Pokud chcete resetovat směr vašeho mozku, vyberte zaškrtávací tlačítko na mozku. Tím se změní směr a rotace na 0 stupňů a všechna data na přístrojové desce senzoru inerciálního senzoru budou založena na tomto novém výchozím místě.

VEXcode IQ bloky VEXcode IQ Python
bloky nadpisů.png
drivetrain.turn_to_heading(90, DEGREES)
VEXcode IQ C++
int main()
{
Drivetrain.turnToHeading(90, stupňů);
}

Ve VEXcode IQ lze blok [Otočit na nadpis], turn_to_headingPython příkaz a turnToHeading C++ použít k otočení robota na konkrétní nadpis.

VEXcode IQ bloky VEXcode IQ Python
bloky nadpisů 2.png
drivetrain.set_heading(0, DEGREES)
VEXcode IQ C++
int main()
{
Hnací ústrojí.setHeading(0, stupně);
}

Podobně jako u možnosti kalibrace na řídicím panelu senzoru lze záhlaví nastavit během běhu projektu pomocí bloku [Set drive header], příkazu set_heading Pythonu nebo příkazu setHeading C++.


Otáčení

nadpis_270__rotace_-90.png

Rotace je hlášena, když se robot otáčí kolem středové osy mozku. Počet stupňů hlášený na přístrojové desce snímače udává směr zatáčky a hodnotu stupňů zatáček, které Brain dokončil od kalibrace. Na rozdíl od nadpisu nejsou číselné hodnoty omezeny na 0-359,99 stupňů. Robot se může otáčet proti směru hodinových ručiček pro zápornou hodnotu nebo ve směru hodinových ručiček pro kladnou hodnotu a bude pokračovat ve zvyšování hodnoty stupňů, aby odpovídal počtu otáček inerciálního senzoru v hlášeních Mozku. 

Rotation_calout.png

Na panelu senzoru na obrazovce Brain je rotace druhou uvedenou hodnotou. Pokud na této obrazovce otočíte Mozkem, uvidíte, jak se hodnoty aktualizují v reálném čase. 

Screen_Shot_2021-11-04_at_12.15.49_PM.png

Toto je nastaveno na 0 stupňů, když je Brain zapnutý a inerciální senzor se zkalibruje. Pokud chcete resetovat rotaci vašeho robota, vyberte zaškrtávací tlačítko na mozku. Tím se změní směr a rotace na 0 stupňů a všechna data na přístrojové desce senzoru inerciálního senzoru budou založena na tomto novém výchozím místě.

VEXcode IQ bloky VEXcode IQ Python
rotace bloků1.png
drivetrain.turn_to_rotation(90, DEGREES)
VEXcode IQ C++
int main()
{
Drivetrain.turnToRotation(90, stupňů);
}

Ve VEXcode IQ lze k otočení robota o určitý počet stupňů použít blok [Turn to rotation], turn_to_rotation Python příkaz a turnToRotation C++.

VEXcode IQ bloky VEXcode IQ Python
rotace bloků2.png
drivetrain.set_rotation(0, DEGREES)
VEXcode IQ C++
int main()
{
Hnací ústrojí.setRotation(0, stupně);
}

Podobně jako u možnosti kalibrace na řídicím panelu senzoru lze hodnotu rotace nastavit během běhu projektu pomocí bloku [Set drive rotation], set_rotationPython příkazu nebo setRotation C++.


Pitch, Roll a Yaw

IQ_Gen2_Basebot_Pitch_copy.png

Pitch, roll a yaw jsou úhel orientace mozku podél zadané osy. Pitch představuje osu x a úhel naklánění robota dopředu a dozadu. Hodnoty sklonu se pohybují od -90 stupňů do 90 stupňů. 

IQ_Gen2_Basebot_Roll_copy.png

Roll představuje osu y a úhel naklánění robota doleva a doprava. Hodnoty pro náklon se pohybují od -180 stupňů do 180 stupňů. 

IQ_Gen2_Basebot_Yaw_copy.png

Yaw představuje osu z a úhlovou rotaci robota. Hodnoty vybočení se pohybují od -180 stupňů do 180 stupňů.

roll_pitch_yaw_calout.png

Naklonění, náklon a stáčení jsou zobrazeny na palubní desce snímače pod kurzem a rotací.

Screen_Shot_2021-11-04_at_2.31.36_PM.png

Příkladový projekt Pitch, Roll, Yaw ve VEXcode IQ lze použít k ukázce, jak detekovat úhel orientace mozku podél os x, ya z. Dotyková LED dioda bude mít různé barvy v závislosti na tom, jak se změní úhel orientace mozku, aby indikoval sklon, náklon a stáčení.

Informace o tom, jak otevřít ukázkový projekt ve VEXcode IQ, najdete v jednom z následujících článků.


Zrychlení na osách x, y a z

accel_x__y__z.png

Zrychlení sekce na přístrojové desce senzoru hlásí hodnotu zrychlení inerciálního senzoru podél zadané osy. Zrychlení podél os x, ya z je zobrazeno na přístrojové desce snímače vpravo pomocí zkratek „ax“, „ay“ a „az“. Každý z těchto údajů uvádí rozsah od -4,0 do 4,0 Gs.

Zatímco mozek spočívá na povrchu, uvidíte hodnotu zhruba -1,0 Gs. je to způsobeno gravitační silou působící na mozek v klidu.

Screen_Shot_2021-11-04_at_2.51.22_PM.png

Ukázkový projekt Detecting Acceleration ve VEXcode IQ lze použít k ukázce, jak detekovat zrychlení mozku podél os x, y, a z. Dotyková LED bude zobrazovat různé barvy v závislosti na ose nakloněného mozku.

Informace o tom, jak otevřít ukázkový projekt ve VEXcode IQ, najdete v jednom z následujících článků.


Rychlost otáčení na osách x, yaz

rotace_x__y__z.png

Rychlost gyroskopu sekce na přístrojové desce senzoru hlásí hodnotu rychlosti rotace inerciálního senzoru podél zadané osy. Rychlost otáčení podél os x, ya z je zobrazena na přístrojové desce snímače vpravo pomocí zkratek „gx“, „gy“ a „gz“. Každý z nich hlásí rozsah od -1000,0 do 1000,0 stupňů za sekundu.

VEXcode IQ bloky VEXcode IQ Python
mozkový gyroskop.png
brain_inertial.gyro_rate(AxisType.XAXIS, VelocityUnits.DPS)
VEXcode IQ C++
int main()
{
BrainInertial.gyroRate(xaxis, dps)
}

Ve VEXcode IQ lze blok (Gyro rate), gyro_ratePython příkaz a gyroRate C++ použít k hlášení rychlosti rotace konkrétní osy, když běží projekt.

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

Last Updated: