Tröghets#
Introduktion#
Hjärnan har en inbyggd tröghetssensor. Denna sensor kan mäta hur hjärnan rör sig eller vrider sig.
Tröghetssensorn använder två delar för att göra detta. Gyrot mäter svängningar, såsom vilken riktning hjärnan är vänd i och hur långt den har svängt. Accelerometern mäter förändringar i rörelse, såsom att öka hastigheten, sakta ner eller att stanna plötsligt under en krock.
Tröghetsmetoderna kan användas för att spåra svängar, återställa kurs- eller rotationsvärden, mäta rullning, lutning och girning samt rapportera acceleration.
Det finns många sätt att koda tröghetssensorn. Nedan följer en lista över alla tröghetsmetoder:
Orientering — Gå tillbaka och ange hur hjärnan är vänd, vriden eller lutande.
get_heading— Returnerar riktningen hjärnan är vänd mot, från 0 till 359 grader.get_rotation— Returnerar hur långt hjärnan har vridit sig.get_yaw— Returnerar hur mycket hjärnan har vridit sig åt vänster eller höger från sin startposition.get_roll— Returnerar hur mycket hjärnan lutar åt vänster eller höger.get_pitch— Returnerar hur mycket hjärnan lutar framåt eller bakåt.calibrate— Kalibrerar hjärnans tröghetssensor.reset_heading— Återställer hjärnans aktuella riktning till 0 grader.reset_rotation— Återställer hjärnans aktuella rotation till 0 grader.set_heading— Ställer in hjärnans aktuella kurs till ett nytt kursvärde.set_rotation— Ställer in hjärnans aktuella rotation till ett nytt rotationsvärde.
Rörelse — Visar hur hjärnan rör sig.
get_acceleration— Returnerar hur snabbt hjärnan accelererar eller saktar ner på den valda axeln.
Orientering#
get_heading#
En kurs är den riktning hjärnan är vänd i, mätt i grader från 0 till 359. get_heading returnerar hjärnans aktuella kurs.
Startriktningen är 0 grader. Om hjärnan svänger mer än 359 grader, vänder riktningen tillbaka till 0 grader.
Usage:
inertial.get_heading()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
get_rotation#
Rotation är hur mycket hjärnan har vridit sig, mätt i grader. Till skillnad från riktning kan rotationen öka över 359 grader eller minska under 0 grader. I början av ett projekt sätts rotationsvärdet till 0 grader. get_rotation returnerar hjärnans aktuella rotation.
Om du vrider åt höger ökar rotationen och om du vrider åt vänster minskar den. Om du till exempel gör två hela varv åt höger ger du en rotation på 720 grader. Om du vrider ett helt varv åt vänster från 0 grader ger du en rotation på -360 grader.
Usage:
inertial.get_rotation()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
get_yaw#
Girning är hur mycket hjärnan har vridit sig åt vänster eller höger från sin startposition, mätt i grader. get_yaw returnerar hjärnans aktuella girningsvärde.
Att svänga åt höger ökar girvärdet, och att svänga åt vänster minskar girvärdet. Gigning är användbart för att kontrollera vänster- och högersväng utan att använda det omslutna kursvärdet.
Usage:
inertial.get_yaw()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
get_roll#
Roll är hur mycket hjärnan lutar åt vänster eller höger, mätt i grader. get_roll returnerar hjärnans aktuella rollvärde.
Med hjärnan vänd framåt ökar lutningen åt vänster rullvärdet, och lutningen åt höger minskar rullvärdet.
Usage:
inertial.get_roll()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
get_pitch#
Tonhöjd är hur mycket hjärnan lutar framåt eller bakåt, mätt i grader. get_pitch returnerar hjärnans aktuella tonhöjdsvärde.
Med hjärnan vänd framåt ökar tonhöjden om du lutar framåt, och om du lutar bakåt minskar den tonhöjden.
Usage:
inertial.get_pitch()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
calibrate#
calibrate kalibrerar hjärnans tröghetssensor.
Kalibrering hjälper tröghetssensorn att mäta vridningen korrekt. Håll hjärnan stilla i cirka 2 sekunder under kalibreringen. Om hjärnan rör sig under kalibreringen kan det hända att värdena för kurs, rotation, girning, rullning och lutning inte mäts korrekt.
Projektet väntar tills kalibreringen är klar innan nästa kodrad körs.
Usage:
inertial.calibrate()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
reset_heading#
En kurs är den riktning hjärnan är vänd mot, mätt i grader. reset_heading återställer hjärnans aktuella kurs till 0 grader.
Efter att den här metoden har använts blir hjärnans nuvarande riktning den nya 0-gradersriktningen.
Usage:
inertial.reset_heading()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
reset_rotation#
Rotation är hur mycket hjärnan har roterat, mätt i grader. reset_rotation återställer hjärnans nuvarande rotation till 0 grader.
Efter att den här metoden har använts spårar hjärnan framtida svängar från det nya rotationsvärdet på 0 grader.
Usage:
inertial.reset_rotation()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
set_heading#
En kurs är den riktning hjärnan är vänd i, mätt i grader från 0 till 359. set_heading ändrar hjärnans nuvarande kurs till ett nytt kursvärde.
Om hjärnan till exempel har vänt sig åt höger, och om man ställer in kursen på 0 grader, blir den högervända positionen den nya 0 grader. Då kan hjärnan spåra andra kurser baserat på den nya riktningen.
Usage:
inertial.set_heading(heading)
Parametrar |
Beskrivning |
|---|---|
|
Kursvärdet, i grader, som ska ställas in för hjärnan. Detta kan vara ett heltal från 0 till 359. |
set_rotation#
Rotation är hur mycket hjärnan har vridit sig, mätt i grader. Till skillnad från riktning kan rotation öka över 359 grader eller minska under 0 grader. I början av ett projekt sätts rotationsvärdet till 0 grader. set_rotation ändrar hjärnans aktuella rotation till ett nytt värde.
Om hjärnan till exempel har gjort två hela varv åt höger, blir dess rotationsvärde 720 grader. Om rotationen ställs in på 0 grader återställs rotationen från 720 till 0 grader. Då kan hjärnan spåra rotationer baserat på det nya värdet.
Usage:
inertial.set_rotation(rotation)
Parametrar |
Beskrivning |
|---|---|
|
Rotationsvärdet, i grader, som ska ställas in för hjärnan. Detta kan vara ett heltal. |
Rörelse#
get_acceleration#
Acceleration är hur snabbt hjärnan ökar eller saktar ner. get_acceleration returnerar hjärnans acceleration på den valda axeln, från -4,0 G till 4,0 G.
En G är en enhet som används för att mäta acceleration. 1 G motsvarar den acceleration du känner från gravitationen när du sitter stilla.
Värdet kan vara positivt eller negativt beroende på accelerationsriktningen på den valda axeln. Axelalternativen är X, Yoch Z.
Usage:
inertial.get_acceleration(axis)
Parametrar |
Beskrivning |
|---|---|
|
Axeln att mäta acceleration på: |
# 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)