Inerciāls#
Ievads#
Smadzenēm ir iebūvēts inerciālais sensors. Šis sensors var izmērīt, kā smadzenes kustas vai griežas.
Inerciālais sensors šim nolūkam izmanto divas daļas. Žiroskops mēra pagriezienu, piemēram, kurā virzienā ir vērstas smadzenes un cik tālu tās ir pagriezušās. Akselerometrs mēra kustības izmaiņas, piemēram, paātrinājumu, palēninājumu vai pēkšņu apstāšanos avārijas laikā.
Inerciālās metodes var izmantot, lai izsekotu pagriezienus, atiestatītu kursa vai rotācijas vērtības, mērītu rullīti, slīpumu un novirzi, kā arī ziņotu par paātrinājumu.
Inerciālo sensoru var kodēt daudzos veidos. Zemāk ir visu inerciālo metožu saraksts:
Orientācija — atgriezieties un iestatiet, kā smadzenes ir pavērstas, pagrieztas vai noliektas.
get_heading— Atgriež virzienu, kurā atrodas smadzenes, no 0 līdz 359 grādiem.get_rotation— Atgriež, cik tālu smadzenes ir pagriezušās.get_yaw— Atgriež, cik daudz smadzenes ir pagriezušās pa kreisi vai pa labi no sākuma pozīcijas.get_roll— Atgriež, cik lielā mērā smadzenes ir sasvērušās pa kreisi vai pa labi.get_pitch— Atgriež, cik lielā mērā smadzenes ir sasvērušās uz priekšu vai atpakaļ.calibrate— Kalibrē smadzeņu inerciālo sensoru.reset_heading— Atiestata smadzeņu pašreizējo virzienu uz 0 grādiem.reset_rotation— Atiestata smadzeņu pašreizējo rotāciju uz 0 grādiem.set_heading— Iestata smadzeņu pašreizējo virsrakstu uz jaunu virsraksta vērtību.set_rotation— Iestata smadzeņu pašreizējo rotāciju uz jaunu rotācijas vērtību.
Kustība — Atgrieziet, kā kustas smadzenes.
get_acceleration— Atgriež, cik ātri smadzenes paātrinās vai palēninās pa atlasīto asi.
Orientācija#
get_heading#
Virziens ir virziens, kurā smadzenes ir pavērstas, mērot grādos no 0 līdz 359. get_heading atgriež smadzeņu pašreizējo virzienu.
Sākuma virziens ir 0 grādi. Ja smadzenes pagriežas vairāk nekā 359 grādus, virziens atgriežas pie 0 grādiem.
Usage:
inertial.get_heading()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
get_rotation#
Rotācija ir tas, cik daudz smadzenes ir pagriezušās, mērot grādos. Atšķirībā no virziena, rotācija var palielināties virs 359 grādiem vai samazināties zem 0 grādiem. Projekta sākumā rotācijas vērtība ir iestatīta uz 0 grādiem. get_rotation atgriež smadzeņu pašreizējo rotāciju.
Pagriežoties pa labi, rotācija palielinās, bet pagriežoties pa kreisi, tā samazinās. Piemēram, veicot divus pilnus pagriezienus pa labi, rotācija būs 720 grādi. Pagriežoties vienu pilnu pagriezienu pa kreisi no 0 grādiem, rotācija būs -360 grādi.
Usage:
inertial.get_rotation()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
get_yaw#
Novirze norāda, cik daudz smadzenes ir pagriezušās pa kreisi vai pa labi no sākuma pozīcijas, mērot grādos. get_yaw atgriež smadzeņu pašreizējo novirzes vērtību.
Pagriežoties pa labi, pagrieziena vērtība palielinās, bet pagriežoties pa kreisi, tā samazinās. Pagrieziena vērtība ir noderīga, lai pārbaudītu pagriezienu pa kreisi un pa labi, neizmantojot ietītā virziena vērtību.
Usage:
inertial.get_yaw()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
get_roll#
Roll (ritinājums) ir smadzeņu sasvēršanās pa kreisi vai pa labi, mērot grādos. get_roll atgriež smadzeņu pašreizējo metiena vērtību.
Ar smadzenēm vērstām uz priekšu, noliecot pa kreisi, palielinās ripošanas vērtība, bet noliecot pa labi, tā samazinās.
Usage:
inertial.get_roll()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
get_pitch#
Slīpums norāda, cik lielā mērā smadzenes nosveras uz priekšu vai atpakaļ, mērot grādos. get_pitch atgriež smadzeņu pašreizējo slīpuma vērtību.
Kad smadzenes ir vērstas uz priekšu, noliecoties uz priekšu, skaņas toņa vērtība palielinās, bet, noliecoties atpakaļ, tā samazinās.
Usage:
inertial.get_pitch()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
calibrate#
calibrate kalibrē smadzeņu inerciālo sensoru.
Kalibrēšana palīdz inerciālajam sensoram pareizi izmērīt pagriezienus. Kalibrēšanas laikā smadzenes nekustīgi turiet apmēram 2 sekundes. Ja smadzenes kalibrēšanas laikā kustas, virziena, rotācijas, novirzes, sānsveres un gareniskās vērtības var nebūt pareizi izmērītas.
Projekts gaidīs, līdz tiks pabeigta kalibrēšana, pirms tiks palaista nākamā koda rinda.
Usage:
inertial.calibrate()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
reset_heading#
Virziens ir virziens, kurā smadzenes ir pavērstas, mērot grādos. reset_heading atiestata smadzeņu pašreizējo virzienu uz 0 grādiem.
Pēc šīs metodes izmantošanas smadzeņu pašreizējais virziens kļūst par jauno 0 grādu kursu.
Usage:
inertial.reset_heading()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
reset_rotation#
Rotācija ir smadzeņu pagrieziena lielums, mērot grādos. reset_rotation atiestata smadzeņu pašreizējo rotāciju uz 0 grādiem.
Pēc šīs metodes izmantošanas smadzenes izseko turpmākos pagriezienus, sākot no jaunās 0 grādu rotācijas vērtības.
Usage:
inertial.reset_rotation()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
set_heading#
Virziens ir virziens, kurā smadzenes ir pavērstas, mērot grādos no 0 līdz 359. set_heading maina smadzeņu pašreizējo virzienu uz jaunu virziena vērtību.
Piemēram, ja smadzenes ir pagriezušās pa labi, virziena iestatīšana uz 0 grādiem padara šo labo pusi vērsto pozīciju par jauno 0 grādu. Pēc tam smadzenes var izsekot citiem virzieniem, pamatojoties uz šo jauno virzienu.
Usage:
inertial.set_heading(heading)
Parametri |
Apraksts |
|---|---|
|
Virziena vērtība grādos, kas jāiestata smadzenēm. Tas var būt vesels skaitlis no 0 līdz 359. |
set_rotation#
Rotācija ir tas, cik daudz smadzenes ir pagriezušās, mērot grādos. Atšķirībā no virziena, rotācija var palielināties virs 359 grādiem vai samazināties zem 0 grādiem. Projekta sākumā rotācijas vērtība ir iestatīta uz 0 grādiem. set_rotation maina smadzeņu pašreizējo rotāciju uz jaunu vērtību.
Piemēram, ja smadzenes ir veikušas divus pilnus pagriezienus pa labi, to rotācijas vērtība būs 720 grādi. Iestatot rotāciju uz 0 grādiem, šī rotācija tiks atiestatīta no 720 uz 0 grādiem. Pēc tam smadzenes var izsekot rotācijām, pamatojoties uz šo jauno vērtību.
Usage:
inertial.set_rotation(rotation)
Parametri |
Apraksts |
|---|---|
|
Smadzeņu rotācijas vērtība grādos. Tā var būt vesels skaitlis. |
Kustība#
get_acceleration#
Paātrinājums norāda, cik ātri smadzenes paātrinās vai palēninās. get_acceleration atgriež smadzeņu paātrinājumu pa atlasīto asi no -4,0 G līdz 4,0 G.
G ir mērvienība, ko izmanto paātrinājuma mērīšanai. 1 G apzīmē paātrinājumu, ko jūtat no gravitācijas, sēžot mierā.
Vērtība var būt pozitīva vai negatīva atkarībā no paātrinājuma virziena uz izvēlētās ass. Asu opcijas ir X, Yun Z.
Usage:
inertial.get_acceleration(axis)
Parametri |
Apraksts |
|---|---|
|
Ass, uz kuras mērīt paātrinājumu: |
# 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)