Tröghets#
Introduktion#
VEX AIM-kodningsroboten har en inbyggd tröghetssensor. Denna sensor mäter hur roboten rör sig och vrider sig.
Tröghetssensorn använder två delar för att göra detta. Gyroskopet mäter svängningar, såsom robotens kurs, rotation, svänghastighet och orientering. 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öghetsblocken kan användas för att spåra svängar, mäta acceleration, upptäcka krascher och återställa kurs- eller rotationsvärden.
Nedan följer en lista över alla block:
Värden — Rapportera orienterings- och rörelsedata.
riktning — Rapporterar den riktning roboten är vänd i, från 0 till 359,99 grader.
rotation — Rapporterar hur långt roboten har roterat.
acceleration — Rapporterar hur snabbt roboten ökar eller saktar ner på den valda axeln.
hämta rotationshastighet — Rapporterar hur snabbt roboten roterar på den valda axeln.
orientering — Rapporterar robotens rullnings-, lutnings- eller girningsvinkel.
Åtgärder — Reagera på krascher eller återställ svängvärden.
vid krasch — Kör bifogade block när roboten upptäcker en plötslig stöt.
ställ in kraschkänslighet — Justerar hur känslig kraschdetektering är för stötar.
återställ kurs — Återställer robotens kursvärde till 0 grader.
återställ rotation — Återställer robotens rotationsvärde till 0 grader.
Värden#
rubrik#
En kurs är den riktning roboten är vänd i, mätt i grader från 0 till 359,99. Rapporteringsblocket kurs rapporterar robotens aktuella kurs.
Startkursen är 0 grader. Om roboten svänger mer än 359,99 grader, återgår kursen till 0 grader.
riktning i grader
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
när startad
[Turn right until the heading reaches 90 degrees.]
sväng [höger v]
vänta [0.05] sekunder
vänta tills <(riktning i grader) [math_greater_than v] [90]>
stoppa all rörelse
när startad
[Display the robot's heading as it is rotated by hand.]
för alltid
rensa rad [1] på skärmen
ställ markör på rad [1] kolumn [1] på skärmen
skriv ut (riktning i grader) på skärmen ▶
vänta [0.05] sekunder
rotation#
Rotation är hur mycket roboten har roterat, mätt i grader. Till skillnad från kurs kan rotationen öka över 359,99 grader eller minska under 0 grader. I början av ett projekt sätts rotationsvärdet till 0 grader. Rapportblocket rotation rapporterar robotens 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 rapporteras en rotation på 720 grader. Om du vrider ett helt varv åt vänster från 0 grader rapporteras en rotation på -360 grader.
(rotation i grader)
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
när startad
[Print the rotation value as the robot turns.]
sväng [höger v] i [480] grader ◀ och vänta inte
för alltid
rensa skärm
ställ markör på rad [1] kolumn [1] på skärmen
skriv ut (rotation i grader) på skärmen ▶
acceleration#
Acceleration är hur snabbt roboten ökar eller saktar ner. Accelerationsrapporteringsblocket rapporterar robotens acceleration längs den valda axeln, från -4,00 G till 4,00 G.
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. I AIM är axelalternativen namngivna efter riktningar på roboten: framåt, höger och nedåt.
(acceleration på [framåt v]-axeln i g :: custom-controller-inertial-timer)
Parametrar |
Beskrivning |
|---|---|
axel |
Axeln att mäta accelerationen på:
|

Exempel
när startad
[Show the change in acceleration as the robot begins to move.]
ställ markör på rad [4] kolumn [1] på skärmen
skriv ut (sätt ihop [Resting: ] (acceleration på [åt höger v]-axeln i g :: custom-controller-inertial-timer)) på skärmen ▶
flytta markör till nästa rad på skärmen
vänta [0.5] sekunder
rör [höger v] i [50] [mm v] ◀ och vänta inte
vänta [0.1] sekunder
skriv ut (sätt ihop [Startup: ] (acceleration på [åt höger v]-axeln i g :: custom-controller-inertial-timer)) på skärmen ▶
få turfrekvens#
Rotationshastighet anger hur snabbt roboten roterar. Rapporteringsblocket hämta rotationshastighet rapporterar robotens aktuella rotationshastighet längs den valda axeln i grader per sekund \(dps\), som ett heltal.
Värdet kan vara positivt eller negativt beroende på vilken riktning roboten roterar på den axeln. Bilden nedan använder pilar för att visa den positiva rotationsriktningen för rullning, lutning och girning.

(hämta varvhastighet för [yaw v]-axeln i dps)
Parametrar |
Beskrivning |
|---|---|
axel |
Axeln att rapportera vridhastighet på:
|
Exempel
när startad
[Observe the yaw turn rate as the robot turns.]
sväng [höger v] i [180] grader ◀ och vänta inte
för alltid
rensa skärm
ställ markör på rad [1] kolumn [1] på skärmen
skriv ut (hämta varvhastighet för [yaw v]-axeln i dps) på skärmen ▶
orientering#
Orientering är robotens aktuella vinkel på en vald rotationsaxel. Blocket orientering rapporterar robotens rullning, lutning eller girning, från -180,00 till 180,00 grader som ett decimaltal.
Rulla, lutning och girning beskriver olika sätt roboten kan luta eller vrida sig på. Bilden nedan använder pilar för att visa riktningen för positiv rotation för rullning, lutning och girning.

orientering av [yaw v] i grader
Parametrar |
Beskrivning |
|---|---|
axel |
Orienteringsaxeln att rapportera:
|
Exempel
när startad
[Display the robot's orientation as it is rotated by hand.]
för alltid
rensa rad [1] på skärmen
ställ markör på rad [1] kolumn [1] på skärmen
skriv ut (orientering av [roll v] i grader) på skärmen ▶
vänta [0.05] sekunder
Åtgärder#
när den kraschade#
Blocket vid krasch kör den anslutna stacken när roboten detekterar en plötslig stöt eller kollision. Kraschdetektering använder accelerometern och aktuell kraschkänslighet.
vid krock
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
när startad
[Start moving forward.]
ställ in rörelsehastighet till [100]%
rör [framåt v]
vid krock
[Respond when a crash is detected.]
stoppa all rörelse
spela ljud [krock v] ▶
ställ in kraschkänslighet#
Stackblocket ställ in krockkänslighet justerar hur mycket plötslig acceleration som behövs för att roboten ska upptäcka en krock.
ställ in krockkänslighet till [låg v]
Parametrar |
Beskrivning |
|---|---|
känslighet |
Hur känslig roboten är vid detektering av krascher:
|
Exempel
när startad
[Move slowly with high crash sensitivity.]
ställ in rörelsehastighet till [35]%
ställ in krockkänslighet till [hög v]
rör [framåt v]
vid krock
[Respond when a crash is detected.]
stoppa all rörelse
spela ljud [krock v] ▶
återställ rubrik#
Blocket återställ kurs återställer robotens aktuella kurs till 0 grader. Efter att detta block körts blir den riktning roboten för närvarande är vänd mot den nya 0-graderskursen.
återställ riktning
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
när startad
[Face left before turning around.]
sväng till riktning [270] grader ▶
återställ riktning
vänta [1] sekunder
sväng till riktning [180] grader ▶
återställ rotationen#
Stackblocket återställ rotation återställer robotens nuvarande rotationsvärde till 0 grader. Efter att detta block körts spårar roboten framtida svängar från det nya 0-graders rotationsvärdet.
återställ rotation
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
när startad
[Turn for 480 degrees before resetting rotation.]
sväng [höger v] i [480] grader ▶
återställ rotation
för alltid
rensa skärm
ställ markör på rad [1] kolumn [1] på skärmen
skriv ut (rotation i grader) på skärmen ▶