Inertiaalinen#
Johdanto#
Aivoissa on sisäänrakennettu inertia-anturi. Tämä anturi voi mitata, miten aivot liikkuvat tai pyörivät.
Inertia-anturi käyttää tähän kahta osaa. Gyro mittaa kääntymistä, kuten mihin suuntaan aivot osoittavat ja kuinka paljon ne ovat kääntyneet. Kiihtyvyysanturi mittaa liikkeen muutoksia, kuten kiihtymistä, hidastumista tai äkillistä pysähtymistä törmäyksen aikana.
Inertiamenetelmiä voidaan käyttää käännösten seuraamiseen, suunta- tai pyörimisarvojen nollaamiseen, rullauksen, kallistuksen ja suuntakulman mittaamiseen sekä kiihtyvyyden raportointiin.
Inertia-anturin koodaamiseen on monia tapoja. Alla on luettelo kaikista inertiamenetelmistä:
Suunta — Palaa ja aseta aivojen suunta, kääntymissuunta tai kallistus.
get_heading— Palauttaa aivojen suunnan 0–359 astetta.get_rotation— Palauttaa aivojen kääntymisasteen.get_yaw— Palauttaa, kuinka paljon aivot ovat kääntyneet vasemmalle tai oikealle lähtöasennostaan.get_roll— Palauttaa aivojen kallistuskulman vasemmalle tai oikealle.get_pitch— Palauttaa aivojen kallistuskulman eteen- tai taaksepäin.calibrate— Kalibroi aivojen inertia-anturin.reset_heading— Palauttaa aivojen nykyisen suunnan 0 asteeseen.reset_rotation— Palauttaa aivojen nykyisen kiertoliikkeen 0 asteeseen.set_heading— Asettaa aivojen nykyisen otsikon uuteen otsikkoarvoon.set_rotation— Asettaa aivojen nykyisen rotaation uuteen rotaatioarvoon.
Liike — Palauta, miten aivot liikkuvat.
get_acceleration— Palauttaa, kuinka nopeasti aivot kiihtyvät tai hidastuvat valitulla akselilla.
Suuntautuminen#
get_heading#
Suunta on aivojen suunta, mitattuna asteina välillä 0 - 359. get_heading palauttaa aivojen nykyisen suunnan.
Lähtösuunta on 0 astetta. Jos aivot kääntyvät yli 359 asteen, suunta palautuu takaisin 0 asteeseen.
Usage:
inertial.get_heading()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
get_rotation#
Rotaatio ilmaisee aivojen kääntymismäärän asteina. Toisin kuin suunnanvaihdossa, rotaatio voi kasvaa yli 359 asteen tai laskea alle 0 asteen. Projektin alussa rotaatioarvoksi asetetaan 0 astetta. get_rotation palauttaa aivojen nykyisen rotaation.
Kääntyminen oikealle lisää kiertoa ja kääntäminen vasemmalle vähentää sitä. Esimerkiksi kaksi täyttä kierrosta oikealle palauttaa 720 asteen kiertoa. Yksi täysi kierros vasemmalle 0 asteesta palauttaa -360 asteen kiertoa.
Usage:
inertial.get_rotation()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
get_yaw#
Suuntakulma (Yaw) ilmaisee, kuinka paljon aivot ovat kääntyneet vasemmalle tai oikealle lähtöasennostaan, mitattuna asteina. get_yaw palauttaa aivojen nykyisen suuntakulman arvon.
Oikealle kääntyminen lisää suuntauskulman arvoa ja vasemmalle kääntyminen vähentää suuntauskulman arvoa. Suuntauskulma on hyödyllinen vasemmalle ja oikealle kääntymisen tarkistamiseen ilman kierretyn suuntakulman arvoa.
Usage:
inertial.get_yaw()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
get_roll#
Roll (Kierto) on aivojen kallistus vasemmalle tai oikealle asteina. get_roll palauttaa aivojen nykyisen heittoarvon.
Kun aivot osoittavat eteenpäin, vasemmalle kallistaminen lisää vierintäarvoa ja oikealle kallistaminen vähentää sitä.
Usage:
inertial.get_roll()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
get_pitch#
Kallistus (Pitch) ilmaisee aivojen kallistuskulman eteen- tai taaksepäin asteina. get_pitch palauttaa aivojen nykyisen äänenkorkeuden.
Kun aivot osoittavat eteenpäin, eteenpäin kallistuminen lisää äänenkorkeuden arvoa ja taaksepäin kallistuminen vähentää sitä.
Usage:
inertial.get_pitch()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
calibrate#
calibrate kalibroi aivojen inertia-anturin.
Kalibrointi auttaa inertia-anturia mittaamaan käännökset oikein. Pidä aivot paikallaan noin 2 sekuntia kalibroinnin aikana. Jos aivot liikkuvat kalibroinnin aikana, suunta-, rotaatio-, suuntaus-, rulla- ja kallistuskulma-arvot eivät välttämättä mittaudu oikein.
Projekti odottaa kalibroinnin valmistumista ennen seuraavan koodirivin suorittamista.
Usage:
inertial.calibrate()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
reset_heading#
Suunta on aivojen suunta asteina mitattuna. reset_heading nollaa aivojen nykyisen suunnan 0 asteeseen.
Tämän menetelmän käytön jälkeen aivojen nykyisestä suunnasta tulee uusi 0 asteen suunta.
Usage:
inertial.reset_heading()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
reset_rotation#
Rotaatio ilmaisee aivojen kääntymismäärän asteina. reset_rotation nollaa aivojen nykyisen pyörimisliikkeen arvoon 0 astetta.
Tämän menetelmän käytön jälkeen aivot seuraavat tulevia käännöksiä uudesta 0 asteen kiertoarvosta.
Usage:
inertial.reset_rotation()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
set_heading#
Suunta on aivojen suunta, mitattuna asteina 0 - 359. set_heading muuttaa aivojen nykyisen suunnan uuteen suunta-arvoon.
Jos aivot ovat esimerkiksi kääntyneet oikealle, suunnan asettaminen 0 asteeseen tekee tuosta oikealle suunnatusta asennosta uuden 0 asteen. Tämän jälkeen aivot voivat seurata muita suuntia tämän uuden suunnan perusteella.
Usage:
inertial.set_heading(heading)
Parametrit |
Kuvaus |
|---|---|
|
Brainille asetettava suunta-arvo asteina. Tämä voi olla kokonaisluku väliltä 0–359. |
set_rotation#
Rotaatio kuvaa sitä, kuinka paljon aivot ovat kääntyneet asteina. Toisin kuin suunnanvaihdossa, rotaatio voi kasvaa yli 359 asteen tai laskea alle 0 asteen. Projektin alussa rotaatioarvoksi asetetaan 0 astetta. set_rotation muuttaa aivojen nykyisen rotaation uuteen arvoon.
Esimerkiksi, jos aivot ovat tehneet kaksi täyttä käännöstä oikealle, sen kiertoarvo on 720 astetta. Kierron asettaminen 0 asteeseen palauttaa kiertoarvon 720 asteesta 0 asteeseen. Tämän jälkeen aivot voivat seurata kiertoja tämän uuden arvon perusteella.
Usage:
inertial.set_rotation(rotation)
Parametrit |
Kuvaus |
|---|---|
|
Aivoille asetettava kiertoarvo asteina. Tämä voi olla kokonaisluku. |
Liike#
get_acceleration#
Kiihtyvyys kuvaa sitä, kuinka nopeasti aivot kiihtyvät tai hidastuvat. get_acceleration palauttaa aivojen kiihtyvyyden valitulla akselilla välillä -4,0 G - 4,0 G.
G on kiihtyvyyden yksikkö. 1 G on suunnilleen painovoiman aiheuttama kiihtyvyys, jonka tunnet paikallasi istuessasi.
Arvo voi olla positiivinen tai negatiivinen valitun akselin kiihtyvyyden suunnasta riippuen. Akseleiden vaihtoehdot ovat X, Yja Z.
Usage:
inertial.get_acceleration(axis)
Parametrit |
Kuvaus |
|---|---|
|
Kiihtyvyyden mittausakseli: |
# 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)