Traagheid#
Invoering#
De VEX AIM codeerrobot heeft een ingebouwde traagheidssensor. Deze sensor meet hoe de robot beweegt en draait.
De traagheidssensor gebruikt hiervoor twee onderdelen. De gyroscoop meet draaibewegingen, zoals de richting, rotatie, draaisnelheid en oriëntatie van de robot. De accelerometer meet veranderingen in beweging, zoals versnellen, vertragen of plotseling stoppen tijdens een botsing.
De traagheidsmeetblokken kunnen worden gebruikt om bochten te volgen, versnelling te meten, botsingen te detecteren en koers- of rotatiewaarden te resetten.
Hieronder vindt u een lijst van alle blokken:
Waarden — Rapporteer oriëntatie- en bewegingsgegevens.
kop — Geeft de kijkrichting van de robot weer, van 0 tot 359,99 graden.
rotatie — Geeft aan hoeveel de robot is gedraaid.
acceleration — Geeft aan hoe snel de robot versnelt of vertraagt op de geselecteerde as.
draaisnelheid ophalen — Rapporteert hoe snel de robot roteert om de geselecteerde as.
orientation — Rapporteert de rol-, stamp- of gierhoek van de robot.
Acties — Reageren op botsingen of de waarden voor de bochten resetten.
bij een botsing — Voert aangehechte blokken uit wanneer de robot een plotselinge botsing detecteert.
botsingsgevoeligheid instellen — Hiermee wordt de gevoeligheid van de botsingsdetectie voor botsingen aangepast.
richting resetten — Reset de richtingswaarde van de robot naar 0 graden.
rotatie resetten — Reset de rotatiewaarde van de robot naar 0 graden.
Waarden#
kop#
Een koers is de richting waarin de robot kijkt, gemeten in graden van 0 tot 359,99. Het koers-rapportblok geeft de huidige koers van de robot weer.
De beginrichting is 0 graden. Als de robot verder draait dan 359,99 graden, keert de richting terug naar 0 graden.
koers in graden
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeelden
wanneer gestart
[Turn right until the heading reaches 90 degrees.]
draai [rechts v]
wacht [0.05] seconden
wacht totdat <(koers in graden) [math_greater_than v] [90]>
stop alle beweging
wanneer gestart
[Display the robot's heading as it is rotated by hand.]
altijd
wis rij [1] op scherm
stel cursor in op rij [1] kolom [1] op scherm
druk (koers in graden) af op scherm ▶
wacht [0.05] seconden
rotatie#
Rotatie geeft aan hoeveel de robot is gedraaid, gemeten in graden. In tegenstelling tot de richting kan de rotatie groter worden dan 359,99 graden of kleiner dan 0 graden. Aan het begin van een project wordt de rotatiewaarde ingesteld op 0 graden. Het rotatie-rapportageblok geeft de huidige rotatie van de robot weer.
Naar rechts draaien vergroot de rotatie, naar links draaien verkleint de rotatie. Twee volledige draaien naar rechts resulteren bijvoorbeeld in een rotatie van 720 graden. Eén volledige draai naar links vanuit 0 graden resulteert in een rotatie van -360 graden.
(rotatie in graden)
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
wanneer gestart
[Print the rotation value as the robot turns.]
draai [rechts v] voor [480] graden ◀ en niet wachten
altijd
wis scherm
stel cursor in op rij [1] kolom [1] op scherm
druk (rotatie in graden) af op scherm ▶
versnelling#
Acceleratie geeft aan hoe snel de robot versnelt of vertraagt. Het acceleratie-rapportageblok geeft de acceleratie van de robot weer langs de geselecteerde as, van -4,00 G tot 4,00 G.
Een G is een eenheid die gebruikt wordt om versnelling te meten. 1 G is ongeveer de versnelling die je voelt door de zwaartekracht als je stilzit.
De waarde kan positief of negatief zijn, afhankelijk van de versnellingsrichting op de geselecteerde as. In AIM zijn de asopties benoemd naar de richtingen op de robot: vooruit, naar rechts en naar beneden.
(versnelling van [vooruit v] as in g :: custom-controller-inertial-timer)
Parameters |
Beschrijving |
|---|---|
as |
De as waarop de versnelling wordt gemeten:
|

Voorbeeld
wanneer gestart
[Show the change in acceleration as the robot begins to move.]
stel cursor in op rij [4] kolom [1] op scherm
druk (voeg [Resting: ] (versnelling van [naar rechts v] as in g :: custom-controller-inertial-timer) samen) af op scherm ▶
cursor naar volgende rij op scherm
wacht [0.5] seconden
beweeg [rechts v] voor [50] [mm v] ◀ en niet wachten
wacht [0.1] seconden
druk (voeg [Startup: ] (versnelling van [naar rechts v] as in g :: custom-controller-inertial-timer) samen) af op scherm ▶
bereken de omloopsnelheid#
De draaisnelheid geeft aan hoe snel de robot roteert. Het get turn rate-rapportageblok geeft de huidige rotatiesnelheid van de robot langs de geselecteerde as weer in graden per seconde \(dps\), als een geheel getal.
De waarde kan positief of negatief zijn, afhankelijk van de draairichting van de robot rond die as. In de onderstaande afbeelding worden pijlen gebruikt om de richting van positieve rotatie voor rollen, stampen en gieren aan te geven.

(haal draaisnelheid op van [yaw v] as in dps)
Parameters |
Beschrijving |
|---|---|
as |
De as waarop de draaisnelheid moet worden gerapporteerd:
|
Voorbeeld
wanneer gestart
[Observe the yaw turn rate as the robot turns.]
draai [rechts v] voor [180] graden ◀ en niet wachten
altijd
wis scherm
stel cursor in op rij [1] kolom [1] op scherm
druk (haal draaisnelheid op van [yaw v] as in dps) af op scherm ▶
oriëntatie#
De oriëntatie geeft de huidige hoek van de robot ten opzichte van een geselecteerde draai-as weer. Het oriëntatie-rapportageblok geeft de rol-, stamp- of gierhoek van de robot weer, van -180,00 tot 180,00 graden, als een decimaal getal.
Rollen, stampen en gieren beschrijven verschillende manieren waarop de robot kan kantelen of draaien. De afbeelding hieronder gebruikt pijlen om de richting van de positieve rotatie voor rollen, stampen en gieren aan te geven.

oriëntatie van [yaw v] in graden
Parameters |
Beschrijving |
|---|---|
as |
De oriëntatie-as die moet worden gerapporteerd:
|
Voorbeeld
wanneer gestart
[Display the robot's orientation as it is rotated by hand.]
altijd
wis rij [1] op scherm
stel cursor in op rij [1] kolom [1] op scherm
druk (oriëntatie van [roll v] in graden) af op scherm ▶
wacht [0.05] seconden
Acties#
toen het crashte#
Het wanneer gecrasht hoedblok voert de bijbehorende stack uit wanneer de robot een plotselinge impact of botsing detecteert. Botsingsdetectie maakt gebruik van de accelerometer en de huidige botsingsgevoeligheid.
bij botsing
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
wanneer gestart
[Start moving forward.]
stel beweegsnelheid in op [100]%
beweeg [vooruit v]
bij botsing
[Respond when a crash is detected.]
stop alle beweging
speel geluid [botsing v] ▶
crashgevoeligheid instellen#
Het stackblok set crash sensitivity past aan hoeveel plotselinge versnelling nodig is voordat de robot een botsing detecteert.
stel botsgevoeligheid in op [laag v]
Parameters |
Beschrijving |
|---|---|
gevoeligheid |
Hoe gevoelig de robot is bij het detecteren van botsingen:
|
Voorbeeld
wanneer gestart
[Move slowly with high crash sensitivity.]
stel beweegsnelheid in op [35]%
stel botsgevoeligheid in op [hoog v]
beweeg [vooruit v]
bij botsing
[Respond when a crash is detected.]
stop alle beweging
speel geluid [botsing v] ▶
koptekst opnieuw instellen#
Het stackblok richting resetten zet de huidige richting van de robot terug naar 0 graden. Nadat dit blok is uitgevoerd, wordt de richting waarin de robot momenteel kijkt de nieuwe richting van 0 graden.
reset koers
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
wanneer gestart
[Face left before turning around.]
draai naar koers [270] graden ▶
reset koers
wacht [1] seconden
draai naar koers [180] graden ▶
rotatie resetten#
Het rotatie resetten-blok zet de huidige rotatiewaarde van de robot terug naar 0 graden. Nadat dit blok is uitgevoerd, volgt de robot toekomstige bochten vanuit de nieuwe rotatiewaarde van 0 graden.
reset rotatie
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
wanneer gestart
[Turn for 480 degrees before resetting rotation.]
draai [rechts v] voor [480] graden ▶
reset rotatie
altijd
wis scherm
stel cursor in op rij [1] kolom [1] op scherm
druk (rotatie in graden) af op scherm ▶