Drivlina#

Introduktion#

VEX IQ-roboten (1:a generationen) använder en drivlina för att köra och vrida. En drivlina består av motorer och hjul som samverkar för att förflytta roboten.

En konfigurerad drivlina använder en ansluten Gyrosensor för att hjälpa roboten att röra sig och vrida sig exakt. I början av varje projekt kalibrerar drivlinan gyrosensorn automatiskt. Håll roboten stilla i cirka 2 sekunder under kalibreringen, så att roboten kan röra sig och vrida sig korrekt.

Det finns många sätt att koda drivlinan. Nedan följer en lista över alla drivlineblock:

Åtgärder — Flytta och vrid roboten.

  • drive — Rör roboten framåt eller bakåt i all oändlighet.

  • kör för — Rör roboten framåt eller bakåt ett visst 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 möter en specifik kurs från -359 till 359 grader. Roboten kommer att svänga den kortaste riktningen för att nå målkursen.

  • vrid till rotation — Vrider roboten till en specifik rotation.

  • stoppa körning — Stoppar robotens rörelse.

Inställningar — Justera drivlinans inställningar.

Värden — Kontrollera rörelsestatus.

Åtgärder#

köra#

Kör-blocket flyttar roboten framåt eller bakåt för alltid. Roboten fortsätter att röra sig tills den får en annan åtgärd, som att vända eller stanna.

kör [framåt v]

Parametrar

Beskrivning

riktning

Robotens riktning: framåt eller bakåt.

Exempel

när startad
[Drive forward, then stop.]
kör [framåt v]
vänta (2) sekunder
stoppa körning

köra för#

Blocket drive for i stapeln flyttar roboten framåt eller bakåt en viss sträcka. Projektet väntar tills roboten är klar innan nästa block i stapeln körs.

kör [framåt v] i (200) [mm v] ▶

Parametrar

Beskrivning

riktning

Robotens riktning: framåt eller bakåt.

avstånd

Den sträcka roboten kör. 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 startad
[Drive backward 500 mm.]
kör [bakåt v] i (500) [mm v] ▶

sväng#

Blocket sväng vrider roboten åt vänster eller höger för alltid. Roboten fortsätter att vrida tills den får en annan åtgärd, som att köra eller stanna.

sväng [höger v]

Parametrar

Beskrivning

riktning

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

Exempel

när startad
[Turn right, then stop.]
sväng [höger v]
vänta (2) sekunder
stoppa körning

vänd dig för#

Blocket sväng för vrider roboten åt vänster eller höger ett visst antal grader. Svängen är relativ till robotens aktuella position. Projektet väntar tills roboten är klar med att vrida innan nästa block i stacken körs.

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 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 ▶

vänd dig till rubriken#

En kurs är den riktning roboten är vänd i, mätt i grader. Stackblocket vänd till kurs vänder roboten mot en specifik kurs från -359 till 359 grader. Roboten kommer att svänga den kortaste riktningen för att nå målkursen.

Startriktningen är 0 grader.

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

sväng till riktning (90) grader ▶

Parametrar

Beskrivning

rubrik

Riktningen roboten ska vara vänd mot, i grader. Detta kan vara ett heltal eller ett decimaltal från -359 till 359.

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 the cardinal directions.]
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

vrid till rotation#

Stackblocket vrid till rotation vrider roboten till en specifik rotation.

Rotation är hur mycket roboten har roterat, mätt i grader. I början av ett projekt sätts rotationsvärdet till 0 grader. Rotation kan också ställas in med hjälp av blocket set drive rotation.

Rotationsvärdena är absoluta. Det betyder att rotationsriktningen beror på robotens aktuella rotation. Att vrida åt höger ökar rotationen och att vrida åt vänster minskar rotationen.

Om roboten till exempel startar vid 0 grader och du roterar 720 grader, kommer den att svänga höger två gånger. Om du sedan roterar 360 grader, kommer den att svänga vänster en gång, eftersom 360 är mindre än 720.

sväng till rotation (90) grader ▶

Parametrar

Beskrivning

rotation

Rotationsvärdet, i grader, som roboten kommer att rotera till. 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 startad
[Turn left, then spin in a circle clockwise and face right.]
sväng till rotation (-90) grader ▶
vänta (2) sekunder
sväng till rotation (450) grader ▶

sluta köra#

Stackblocket stoppa körning stoppar robotens rörelse.

stoppa körning

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

när startad
[Drive forward, then stop.]
kör [framåt v]
vänta [4] sekunder
stoppa körning

Inställningar#

inställd drivhastighet#

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

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

Obs: En högre hastighet gör att roboten kör snabbare, men den kan vara mindre precis. En lägre hastighet gör att roboten kör långsammare, men den kan vara mer precis.

ställ in körhastighet till (50) %

Parametrar

Beskrivning

hastighet

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

Exempel

när startad
[Drive forward at the default velocity.]
kör [framåt v] i (100) [mm v] ▶
vänta (1) sekunder
[Move slower.]
ställ in körhastighet till (20) %
kör [framåt v] i (100) [mm v] ▶
vänta (1) sekunder
[Move faster.]
ställ in körhastighet till (100) %
kör [framåt v] 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.

Obs: En högre hastighet gör att roboten roterar snabbare, men den kan vara mindre exakt. En lägre hastighet gör att roboten roterar långsammare, men den kan vara mer exakt.

ställ in svänghastighet till (50)%

Parametrar

Beskrivning

hastighet

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

Exempel

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

ställ in drivstopp#

Stackblocket ställ in drivning som stoppar anger hur roboten ska stoppa rörelsen: genom att bromsa, frihjula eller hålla.

ställ in körbromsning till [broms v]

Parametrar

Beskrivning

stoppbeteende

Hur roboten kommer att stanna:

  • broms — Stannar omedelbart.
  • utrullning — Saktar ner till stopp.
  • håll — Stannar omedelbart och håller hjulens position.

Om detta block inte används kommer roboten att använda broms vid stopp.

Exempel

när startad
[Drive forward and coast to a stop.]
ställ in körhastighet till (100) %
ställ in körbromsning till [frihjul v]
kör [framåt v]
vänta (2) sekunder
stoppa körning

ställ in timeout för drivning#

Stackblocket set drive timeout anger hur många sekunder roboten ska försöka slutföra en rörelse. Om roboten inte kan slutföra inom den tiden kommer den att sluta försöka och gå vidare till nästa block i stacken. Detta förhindrar att roboten fastnar i en rörelse.

ställ in körtimeout till (1) sekunder

Parametrar

Beskrivning

tid

Antalet sekunder roboten kan försöka slutföra en rörelse. Detta kan vara ett heltal eller ett decimaltal.

Exempel

när startad
[Drive forward for 1 second, then turn.]
ställ in körtimeout till (1) sekunder
kör [framåt v] i (25) [tum v] ▶
sväng [höger v] i (90) grader ▶

ställ in körriktning#

En kurs är den riktning roboten är vänd i, mätt i grader. Stackblocket ställ in drivkurs ändrar robotens aktuella kurs till ett nytt kursvärde.

Om roboten till exempel har vänt sig åt höger och kursen ställs in på 0 grader, blir den högervända positionen den nya 0 grader. Roboten kan då vända sig till andra positioner baserat på den nya kursen.

ställ in körriktning till (0) grader

Parametrar

Beskrivning

rubrik

Kursvärdet, i grader, som ska ställas in för roboten. Detta kan vara ett heltal eller ett decimaltal från 0 till 359.

Exempel

när startad
[Turn to the left.]
ställ in körriktning till (90) grader
sväng till riktning (0) grader ▶

ställ in drivrotation#

Rotation är hur mycket roboten har roterat, mätt i grader. I början av ett projekt sätts rotationsvärdet till 0 grader. Stackblocket ställ in drivrotation ändrar robotens aktuella rotation till ett nytt värde.

Om roboten 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 den rotationen från 720 till 0 grader. Sedan kan roboten vända sig till rotationer baserat på det nya värdet.

ställ in körrotation till (0) grader

Parametrar

Beskrivning

rotation

Rotationsvärdet, i grader, som ska ställas in för roboten. Detta kan vara ett heltal eller ett decimaltal.

Exempel

när startad
[Spin counterclockwise two times.]
ställ in körrotation till (720) grader
sväng till rotation (0) grader ▶

Värden#

körningen är klar#

Det booleska blocket körningen är klar rapporterar om roboten är klar med sin rörelse. Detta kan användas för att styra tidpunkten för andra beteenden baserat på robotens rörelse.

  • Sant — Roboten är klar med sin rörelse.

  • Falskt — Roboten rör sig fortfarande.

Detta block fungerar tillsammans med följande drivlinablock som har parametern och vänta inte: drive for, turn for, turn to heading och turn to rotation.

<körning klar?>

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

när startad
[Start spinning when the drive is complete.]
kör [framåt v] i (200) [mm v] ◀ och vänta inte
för alltid
om <körning klar?> då
sväng [höger v] i (360) grader ▶
bryt
annars
ställ markör på rad (1) kolumn (1) på skärmen
skriv ut [Still Moving...] på skärmen ▶
vänta (0.1) sekunder
rensa skärm

drivningen rör sig#

Det booleska blocket drivenheten rör sig 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.

Detta block fungerar tillsammans med följande drivlinablock som har parametern och vänta inte: drive for, turn for, turn to heading och turn to rotation.

<körning pågår?>

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

när startad
[Print that the robot is moving while it is still driving.]
kör [framåt v] i (200) [mm v] ◀ och vänta inte
medan <körning pågår?>
ställ markör på rad (1) kolumn (1) på skärmen
skriv ut [Still Moving...] på skärmen ▶
vänta (0.1) sekunder
rensa skärm
avsluta
ställ markör på rad (1) kolumn (1) på skärmen
skriv ut [Done!] på skärmen ▶

körriktning#

Rapporteringsblocket körriktning rapporterar robotens aktuella riktning från 0 till 359 grader.

Robotens startriktning är 0 grader.

(körriktning i grader)

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

när startad
[Display the heading after turning.]
sväng [höger v] i (450) grader ▶
skriv ut (körriktning i grader) på skärmen ◀ och flytta markör till nästa rad

drivrotation#

Rotation är hur mycket roboten har roterat, mätt i grader. I början av ett projekt sätts rotationsvärdet till 0 grader. Rapporteringsblocket drivrotation rapporterar robotens aktuella rotation.

Att svänga åt höger ökar rotationen, och att svänga åt vänster minskar rotationen. Om man till exempel gör två hela varv åt höger rapporteras en rotation på 720 grader.

(körrotation i grader)

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

när startad
[Display the rotation after turning.]
sväng [höger v] i (450) grader ▶
skriv ut (körrotation i grader) på skärmen ◀ och flytta markör till nästa rad

drivhastighet#

Rapportblocket körhastighet rapporterar hur snabbt roboten kör.

Den kan rapportera hastighet som en procentandel från -100 % till 100 %, eller i varv/min från -127 varv/min till 127 varv/min. Ett positivt värde betyder att roboten kör framåt. Ett negativt värde betyder att roboten kör bakåt.

(körhastighet i [% v])

Parametrar

Beskrivning

enhet

Enheten att rapportera drivhastighet i:

  • % — Rapporterar hastighet från -100 % till 100 %.
  • rpm — Rapporterar hastighet från -127 rpm till 127 rpm.

Exempel

när startad
[Display the velocity as the robot is moving.]
kör [framåt v]
vänta (1) sekunder
skriv ut (körhastighet i [% v]) på skärmen ◀ och flytta markör till nästa rad
stoppa körning

drivström#

Blocket drivström rapporterar hur mycket elektrisk ström drivlinan använder, mätt i ampere (ampere) från 0,0 till 1,2 A. Strömmen är mängden elektricitet som flyter genom drivlinan.

Ett högre strömvärde innebär att drivlinan använder mer elektrisk ström. Detta kan hända när roboten trycker mot ett föremål eller försöker röra sig när den har fastnat.

Detta kan användas för att kontrollera om drivlinan har problem under en rörelse. Om strömmen förblir hög kan drivlinan bli varmare eller använda strömmen mindre effektivt.

(körström i [amps v])

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

när startad
[Display the current as the robot is moving.]
ställ in utskriftsprecision till [0.01 v] på skärmen
kör [framåt v]
vänta (1) sekunder
skriv ut (körström i [amps v]) på skärmen ◀ och flytta markör till nästa rad
stoppa körning