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.

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.

Rubrikreporterblocket.#
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.

Rotationsreporterblocket.#
(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.

Accelerationsreporterblocket.#
(acceleration på [framåt v]-axeln i g :: custom-controller-inertial-timer)

Parametrar

Beskrivning

axel

Axeln att mäta accelerationen på:

  • framåt
  • höger
  • nedåt

En VEX-sensorenhet visas med tre markerade färgade pilar som anger riktning. En röd pil märkt HÖGER pekar diagonalt uppåt till vänster, en grön pil märkt FRAMÅT pekar diagonalt uppåt till höger och en blå pil märkt NERÅT pekar direkt nedåt från mitten.

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.

En VEX-sensor visas med tre markerade färgade pilar som anger dess rotationsaxlar. En röd pil märkt Pitch pekar diagonalt uppåt åt vänster, en grön pil märkt Roll pekar diagonalt uppåt åt höger och en pil märkt Yaw pekar direkt nedåt från mitten.

Blocket för att hämta turfrekvens.#
(hämta varvhastighet för [yaw v]-axeln i dps)

Parametrar

Beskrivning

axel

Axeln att rapportera vridhastighet på:

  • rullning
  • lutning
  • girning

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.

En VEX-sensor visas med tre markerade färgade pilar som anger dess rotationsaxlar. En röd pil märkt Pitch pekar diagonalt uppåt åt vänster, en grön pil märkt Roll pekar diagonalt uppåt åt höger och en pil märkt Yaw pekar direkt nedåt från mitten.

Blocket för orienteringsreportern.#
orientering av [yaw v] i grader

Parametrar

Beskrivning

axel

Orienteringsaxeln att rapportera:

  • rullning
  • stigning
  • girning

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.

Hattblocket När kraschade.#
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.

Det inställda stackblocket för kraschkänslighet.#
ställ in krockkänslighet till [låg v]

Parametrar

Beskrivning

känslighet

Hur känslig roboten är vid detektering av krascher:

  • låg — Detekterar endast kraftigare stötar.
  • medel — Detekterar måttliga stötar.
  • hög — Detekterar mindre stötar.

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.

Stackblocket för Återställ rubrik.#
å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.

Blocket Återställ rotationsstack.#
å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 ▶