Rörelse#

Introduktion#

VEX AIM-kodningsroboten använder en holonomisk drivlina för att röra sig framåt, bakåt, åt vänster, höger eller i en vinkel, samtidigt som den kan vrida sig oberoende. Rörelseblock styr hur roboten rör sig och vrider sig, hur snabbt den rör sig och hur dess x- och y-position spåras.

Cirkulär kompassratt från 0–315 grader runt en mörkgrå skärm med marinblå skärm. Robotens framsida är vänd mot 0 grader på kompassratten.

Nedan följer en lista över alla block:

Åtgärder — Flytta och vrid roboten.

  • flytta — Flyttar roboten framåt, bakåt, åt vänster eller höger för alltid.

  • rörelse i vinkel — Flyttar roboten i en specifik vinkel för alltid.

  • flytta för — Flyttar roboten i en specifik riktning över ett visst avstånd.

  • rör dig i vinkel för — Flyttar roboten i en specifik vinkel för ett specifikt avstånd.

  • sväng — Svänger roboten åt vänster eller höger för alltid.

  • vrid för — Svänger roboten åt vänster eller höger ett visst antal grader.

  • vänd mot kurs — Vrider roboten så att den är vänd mot en specifik kurs.

  • rörelse med kontrollenhet — Gör att roboten kan köras med hjälp av kontrollenheten.

  • stoppa all rörelse — Stoppar all robotrörelse.

Inställningar — Justera rörelse- och svänghastigheter.

Position — Spåra och modifiera robotens position.

  • position — Rapporterar robotens aktuella x- eller y-koordinat.

  • ställ in robotposition — Ändrar robotens nuvarande x- och y-position till nya värden.

Värden — Kontrollera rörelsestatus.

  • rörelse aktiv? — Rapporterar om roboten rör sig.

  • aktiveras? — Rapporterar om roboten roterar.

  • stoppad? — Rapporterar om roboten varken rör sig eller roterar.

Åtgärder#

flytta#

Blocket rörelse flyttar roboten framåt, bakåt, vänster eller höger för alltid med hjälp av den aktuella rörelsehastigheten. Roboten fortsätter att röra sig tills den får en annan åtgärd, som att röra sig i en annan riktning, vända eller stanna.

flytta framåt stackblock#
rör [framåt v]

Parametrar

Beskrivning

riktning

Robotens riktning:

  • framåt
  • bakåt
  • vänster
  • höger

Exempel

När du har börjat, gå framåt#
när startad
[Move forward]
rör [framåt v]

röra sig i vinkel#

Stackblocket rörelse i vinkel flyttar roboten för alltid i en specifik vinkel med hjälp av den aktuella rörelsehastigheten. Vinkeln är relativ till robotens aktuella position. Roboten fortsätter att röra sig tills den får en annan åtgärd, som att röra sig i en annan riktning, vända eller stanna.

flytta vid 90 graders stapelblock#
rör vid (90) grader

Parametrar

Beskrivning

vinkel

Vinkeln, i grader, som roboten rör sig. Detta kan vara ett heltal eller ett decimaltal från -360 till 360.

Exempel

När den startas rör sig den åt höger vid 90 grader, väntar 1 sekund, rör sig sedan framåt vid 0 grader, väntar 1 sekund och stoppar all rörelse.#
när startad
[Move right, then move forward and stop.]
rör vid (90) grader
vänta (1) sekunder
rör vid (0) grader
vänta (1) sekunder
stoppa all rörelse

När den startas, rör sig den diagonalt åt höger i 45,33 grader, väntar 1 sekund och stoppar sedan all rörelse.#
när startad
[Move diagonally to the right and stop.]
rör vid (45.33) grader
vänta (1) sekunder
stoppa all rörelse

flytta för#

Blocket flytta för flyttar roboten framåt, bakåt, åt vänster eller höger ett visst avstånd med hjälp av den aktuella rörelsehastigheten. Riktningen är relativ till robotens aktuella position. Projektet väntar tills roboten är klar med att röra sig innan nästa block i stacken körs.

flytta framåt för 200 mm stapelblock#
rör [framåt v] i (200) [mm v] ▶

Parametrar

Beskrivning

riktning

Robotens riktning:

  • framåt
  • bakåt
  • vänster
  • höger

avstånd

Avståndet roboten rör sig. Detta kan vara ett heltal eller ett decimaltal.

enhet

Avståndsenheten: mm (millimeter) eller tum.

och vänta inte

Välj pilen ( ▶ ) för att expandera blocket till och vänta inte, så att nästa block i stapeln körs direkt.

Exempel

när du har börjat, gå framåt för 200 mm stapelblock#
när startad
[Move forward for 200 mm]
rör [framåt v] i (200) [mm v] ▶

rör dig i vinkel för#

Blocket rör dig i vinkel för flyttar roboten i en specifik vinkel för ett specifikt avstånd med hjälp av den aktuella rörelsehastigheten. Vinkeln är relativ till robotens aktuella position. Projektet väntar tills roboten är klar med att röra sig innan nästa block i stacken körs.

rör dig i vinkel för stapelblock#
rör vid (45) grader i (200) [mm v] ▶

Parametrar

Beskrivning

vinkel

Vinkeln, i grader, som roboten rör sig. Detta kan vara ett heltal eller ett decimaltal från -360 till 360.

avstånd

Avståndet roboten rör sig. Detta kan vara ett heltal eller ett decimaltal.

enhet

Avståndsenheten: mm (millimeter) eller tum.

och vänta inte

Välj pilen ( ▶ ) för att expandera blocket till och vänta inte, så att nästa block i stapeln körs direkt.

Exempel

Vid start rör sig den åt höger i 90 grader i 50 mm, sedan framåt i 0 grader i 100 mm.#
när startad
[Move right, then move forward.]
rör vid (90) grader i (50) [mm v] ▶
rör vid (0) grader i (100) [mm v] ▶

Vid start körs den framåt i 0 grader i 100 mm medan alla lysdioder blinkar rött.#
när startad
[Drive forward and blink all LEDs red.]
rör vid (0) grader i (100) [mm v] ◀ och vänta inte
ställ in [lightall v] LED-färg till [röd v]
vänta (0.5) sekunder
ställ in [lightall v] LED-färg till [av v]
vänta (0.5) sekunder
ställ in [lightall v] LED-färg till [röd v]
vänta (0.5) sekunder
ställ in [lightall v] LED-färg till [av v]
vänta (0.5) sekunder

sväng#

Blocket sväng vrider roboten åt vänster eller höger för alltid med hjälp av den aktuella svänghastigheten. Roboten fortsätter att rotera tills den får en annan åtgärd, som att flytta eller stanna.

sväng höger stapelblock#
sväng [höger v]

Parametrar

Beskrivning

riktning

Riktningen roboten svänger: vänster eller höger.

Exempel

När den startas, svänger den vänster, väntar 1 sekund och stoppar sedan all rörelse.#
när startad
[Turn left, then stop.]
sväng [vänster v]
vänta (1) sekunder
stoppa all rörelse

vänd dig för#

Stackblocket sväng för vrider roboten åt vänster eller höger ett specifikt antal grader med hjälp av den aktuella svänghastigheten. Svängen är relativ till den aktuella riktningen som roboten är vänd i. Projektet väntar tills roboten är klar med att vrida innan nästa block i stacken körs.

sväng höger för 90 graders stapelblock#
sväng [höger v] i (90) grader ▶

Parametrar

Beskrivning

riktning

Riktningen roboten svänger: vänster eller höger.

vinkel

Antalet grader som roboten roterar. Detta kan vara ett heltal eller ett decimaltal.

och vänta inte

Välj pilen ( ▶ ) för att expandera blocket till och vänta inte, så att nästa block i stapeln körs direkt.

Exempel

När den startat, svänger vänster i 90 grader, svänger sedan höger i 180 grader.#
när startad
[Turn left, then turn around to the right.]
sväng [vänster v] i (90) grader ▶
sväng [höger v] i (180) grader ▶

Vid start svänger den åt höger i 180 grader medan alla lysdioder blinkar blått.#
när startad
[Turn right and blink all LEDs blue.]
sväng [höger v] i (180) grader ◀ och vänta inte
ställ in [lightall v] LED-färg till [blå v]
vänta (0.5) sekunder
ställ in [lightall v] LED-färg till [av v]
vänta (0.5) sekunder
ställ in [lightall v] LED-färg till [blå v]
vänta (0.5) sekunder
ställ in [lightall v] LED-färg till [av v]
vänta (0.5) sekunder

vänd dig till rubriken#

En kurs är den riktning roboten är vänd i, mätt i grader. Stackblocket sväng till kurs vänder roboten mot en specifik kurs med hjälp av den aktuella svänghastigheten. Roboten kommer att svänga den kortaste riktningen för att nå målkursen.

Robotens startriktning är 0 grader.

Projektet väntar tills roboten är klar med att snurra innan nästa block i stacken körs.

vänd mot riktning 90 graders stapelblock#
sväng till riktning (270) grader ▶

Parametrar

Beskrivning

rubrik

Robotens riktning ska vara mellan -360 och 360 grader.

och vänta inte

Välj pilen ( ▶ ) för att expandera blocket till och vänta inte, så att nästa block i stapeln körs direkt.

Exempel

när startad
[Turn to face each cardinal direction.]
sväng till riktning (90) grader ▶
vänta (2) sekunder
sväng till riktning (180) grader ▶
vänta (2) sekunder
sväng till riktning (270) grader ▶
vänta (2) sekunder
sväng till riktning (0) grader ▶
vänta (2) sekunder

Vid start vrids den snabbt till 180 grader medan alla lysdioder blinkar grönt.#
när startad
[Turn around quickly and blink all LEDs green.]
sväng till riktning (180) grader ◀ och vänta inte
ställ in [lightall v] LED-färg till [grön v]
vänta (0.5) sekunder
ställ in [lightall v] LED-färg till [av v]
vänta (0.5) sekunder
ställ in [lightall v] LED-färg till [grön v]
vänta (0.5) sekunder
ställ in [lightall v] LED-färg till [av v]
vänta (0.5) sekunder

rör dig med handkontrollen#

Blocket rör dig med styrenhet låter dig styra roboten med hjälp av enspaksstyrenheten. Blocket läser bara styrenhetens inmatning en gång, såvida det inte placeras inuti en loop, till exempel en för alltid-loop. Om loopen stannar och det inte finns några andra block som säger åt roboten att röra sig, kommer roboten att fortsätta i den riktning du senast tryckte på joysticken.

rör med styrdon

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

när startad
[Drive with the controller for five seconds.]
återställ timer
medan <(timer i sekunder) [math_less_than v] [5]>
rör med styrdon
avsluta
stoppa all rörelse

stoppa all rörelse#

Stackblocket stoppa all rörelse stoppar all robotens rörelse.

stoppa all rörelse stackblock#
stoppa all rörelse

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

När den startas, svänger den åt höger, väntar 1 sekund och stoppar sedan all rörelse.#
när startad
[Turn right, then stop.]
sväng [höger v]
vänta (1) sekunder
stoppa all rörelse

Inställningar#

ställ in rörelsehastighet#

Stackblocket inställd rörelsehastighet anger hur snabbt roboten ska röra sig. En högre procentandel gör att roboten rör sig snabbare och en lägre procentandel gör att roboten rör sig långsammare.

Varje projekt börjar med att roboten rör sig med 50 % hastighet som standard.

En rörelsehastighet på 100 % motsvarar 200 millimeter per sekund (mmps).

ställ in rörelsehastigheten till 50 % av stackblocket#
ställ in rörelsehastighet till (50)%

Parametrar

Beskrivning

hastighet

Hastigheten att röra sig med från 0 % till 100 %.

Exempel

när startad
[Move forward at the default velocity.]
ställ in rörelsehastighet till (50)%
rör vid (0) grader i (100) [mm v] ▶
vänta (1) sekunder
[Move slower.]
ställ in rörelsehastighet till (20)%
rör vid (0) grader i (100) [mm v] ▶
vänta (1) sekunder
[Move faster.]
ställ in rörelsehastighet till (100)%
rör vid (0) grader i (100) [mm v] ▶
vänta (1) sekunder

ställ in svänghastighet#

Stackblocket inställd svänghastighet anger hur snabbt roboten ska svänga. En högre procentandel gör att roboten svänger snabbare och en lägre procentandel gör att roboten svänger långsammare.

Varje projekt börjar med att roboten roterar med 50 % hastighet som standard.

En svänghastighet på 100 % motsvarar 150 grader per sekund \(dps\).

ställ in svänghastigheten till 50 % av stackblocket#
ställ in svänghastighet till (50)%

Parametrar

Beskrivning

hastighet

Hastigheten att rotera med från 0 % till 100 %.

Exempel

när startad
[Turn around at default velocity.]
ställ in svänghastighet till (50)%
sväng [höger v] i (180) grader ▶
vänta (1) sekunder
[Turn around slower.]
ställ in svänghastighet till (20)%
sväng [höger v] i (180) grader ▶
vänta (1) sekunder
[Turn around faster.]
ställ in svänghastighet till (100)%
sväng [höger v] i (180) grader ▶
vänta (1) sekunder

Placera#

placera#

Blocket position rapporterar robotens aktuella x- eller y-koordinat.

I början av ett projekt sätts robotens x- och y-positioner till 0. Positionsvärdena ändras när roboten rör sig och kan ställas in med hjälp av blocket set robot position.

x-position i mm-reporterblock#
[x v] position i [mm v]

Parametrar

Beskrivning

samordna

Koordinataxeln som ska rapporteras: x eller y.

enhet

Positionsenheten: mm (millimeter) eller tum.

Exempel

Vid start rör sig den framåt 200 mm, återställer positionen, rör sig diagonalt i 45 grader i 200 mm och skriver ut de uppdaterade X- och Y-koordinaterna på skärmen.#
när startad
rör vid (0) grader i (200) [mm v] ▶
[Move forward and print the new coordinate and heading.]
ställ in robotposition x: [0] y: [0]
rör vid (45) grader i (200) [mm v] ▶
skriv ut ([x v] position i [mm v]) på skärmen ▶
flytta markör till nästa rad på skärmen
skriv ut ([y v] position i [mm v]) på skärmen ▶

ställ in robotpositionen#

Stackblocket ställ in robotposition ändrar robotens nuvarande x- och y-position till nya värden.

Om roboten till exempel har rört sig bort från sin startpunkt, och om x sätts till 0 och y sätts till 0, blir robotens nuvarande position den nya 0,0-positionen. Då kan roboten spåra framtida positioner baserat på det nya värdet.

ange positionsstackblock#
ställ in robotposition x: [0] y: [0]

Parametrar

Beskrivning

x

X-positionsvärdet som ska ställas in för roboten, i mm.

y

Y-positionsvärdet som ska ställas in för roboten, i mm.

Exempel

när startad
[Reset the robot's position after moving.]
rör [framåt v] i [60] [mm v] ▶
ställ in robotposition x: [0] y: [0]
skriv ut ([y v] position i [mm v]) på skärmen ▶

Värden#

rör dig aktivt#

Det booleska blocket rörelse aktiv rapporterar om roboten rör sig. Detta kan användas för att styra tidpunkten för andra beteenden baserat på robotens rörelse.

  • Sant — Roboten rör sig.

  • Falskt — Roboten rör sig inte.

Det här blocket fungerar tillsammans med rörelseblock som har parametern och vänta inte.

är ett aktivt reporterblock som flyttas#
<rörelse aktiv?>

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

Vid start rör sig roboten 200 mm framåt medan alla lysdioder blinkar rött. Lysdioderna tänds och släcks var 0,5:e sekund medan roboten rör sig och förblir sedan släckta efter att rörelsen har stoppats.#
när startad
[Blink all of the LEDs when the robot is moving.]
rör vid (0) grader i (200) [mm v] ◀ och vänta inte
medan <rörelse aktiv?>
ställ in [lightall v] LED-färg till [röd v]
vänta (0.5) sekunder
ställ in [lightall v] LED-färg till [av v]
vänta (0.5) sekunder
avsluta
ställ in [lightall v] LED-färg till [av v]

aktivera#

Det booleska blocket sväng aktiv rapporterar om roboten vrider sig. Detta kan användas för att styra tidpunkten för andra beteenden baserat på robotens rörelse.

  • Sant — Roboten snurrar.

  • Falskt — Roboten snurrar inte.

Det här blocket fungerar tillsammans med rörelseblock som har parametern och vänta inte.

aktivera reporterblocket#
<sväng aktiv?>

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

Vid start svänger den höger i 180 grader medan alla lysdioder blinkar rött. Lysdioderna blinkar var 0,5 sekund under svängning och släcks när svängningen är klar.#
när startad
[Blink all of the LEDs while the robot is turning.]
sväng [höger v] i (180) grader ◀ och vänta inte
medan <sväng aktiv?>
ställ in [lightall v] LED-färg till [röd v]
vänta (0.5) sekunder
ställ in [lightall v] LED-färg till [av v]
vänta (0.5) sekunder
avsluta
ställ in [lightall v] LED-färg till [av v]

stoppad#

Det booleska blocket stoppat rapporterar om roboten varken rör sig eller roterar. Detta kan användas för att styra tidpunkten för andra beteenden baserat på robotens rörelse.

  • Sant — Roboten varken rör sig eller roterar.

  • Falskt — Roboten rör sig eller snurrar.

är stoppad reporterblock#
<stoppad?>

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

När roboten startas rör sig den framåt 200 mm medan den utför en ljusshow, och svänger sedan åt höger i 180 grader medan den fortsätter ljusshowen. Lysdioderna växlar mellan grönt och lila var 0,5:e sekund medan roboten rör sig eller roterar. När roboten stannar avslutas ljusshowen och lysdioderna släcks.#
definiera light show
[Flash LEDs while the robot is moving or turning.]
upprepa tills <stoppad?>
ställ in [lightall v] LED-färg till [grön v]
vänta (0.5) sekunder
ställ in [lightall v] LED-färg till [lila v]
vänta (0.5) sekunder
avsluta


när startad
[Blink all the LEDs while the robot is moving or turning.]
rör vid (0) grader i (200) [mm v] ◀ och vänta inte
light show
sväng [höger v] i (180) grader ◀ och vänta inte
light show