Drivlina#
Introduktion#
Drivlinan styr hur VR-roboten kör och svänger. Drivlinan kan röra sig framåt eller bakåt, svänga vänster eller höger, följa kursriktningar och spåra sin rotation.
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 är vänd mot en specifik kurs.
vrid till rotation — Vrider roboten till en specifik rotation.
stoppa körning — Stoppar robotens rörelse.
Inställningar — Justera drivlinans inställningar.
ställ in körhastighet — Anger för roboten hur snabbt den ska köra.
ställ in svänghastighet — Anger för roboten hur snabbt den ska svänga.
ställ in körriktning — Ändrar robotens aktuella kurs till en ny kurs.
ställ in drivrotation — Ändrar robotens aktuella rotation till en ny rotation.
ställ in körtidsgräns — Ställer in hur många sekunder roboten ska försöka slutföra en rörelse.
Värden — Kontrollera rörelsestatus.
körningen är klar — Rapporterar om roboten är klar med sin rörelse.
drivenheten rör sig — Rapporterar om roboten rör sig.
körriktning — Rapporterar robotens aktuella riktning från 0 till 359,99 grader.
drivrotation — Rapporterar robotens aktuella rotation.
Å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 :: hat events
[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 :: hat events
[Drive forward.]
kör [framå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 :: hat events
[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 :: hat events
[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 |
Robotens riktning ska vara mellan -359 och 359 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 :: hat events
[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.
Projektet väntar tills roboten är klar med att snurra innan nästa block i stacken körs.
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 :: hat events
[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 :: hat events
[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) [% v]
Parametrar |
Beskrivning |
|---|---|
hastighet |
Hastigheten att köra med från 0 % till 100 %. |
enhet |
Hastighetsenheten: % |
Exempel
när startad :: hat events
[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) [% v]
kör [framåt v] i (100) [mm v] ▶
vänta (1) sekunder
[Move faster.]
ställ in körhastighet till (100) [% v]
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) [% v]
Parametrar |
Beskrivning |
|---|---|
hastighet |
Hastigheten att rotera med från 0 % till 100 %. |
enhet |
Hastighetsenheten: % |
Exempel
när startad :: hat events
[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 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. |
Exempel
när startad :: hat events
[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 :: hat events
[Spin counterclockwise two times.]
ställ in körrotation till (720) grader
sväng till rotation (0) grader ▶
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 :: hat events
[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 ▶
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.
Det här blocket fungerar tillsammans med drivlineblock som har parametern och vänta inte.
<körning klar?>
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
när startad :: hat events
[Start spinning when the drive is complete.]
kör [framåt v] i (200) [mm v] ◀ och vänta inte
vänta tills <körning klar?>
sväng [höger v] i (360) grader ▶
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.
Det här blocket fungerar tillsammans med drivlineblock som har parametern och vänta inte.
<körning pågår?>
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
när startad :: hat events
[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?>
skriv ut [Still Moving...] ▶
vänta (0.1) sekunder
rensa skärm
avsluta
skriv ut [Done!] ▶
körriktning#
En kurs är den riktning roboten är vänd i, mätt i grader. Rapporteringsblocket körkurs rapporterar den kursen från 0 till 359,99 grader.
Robotens startriktning är 0 grader.
(körriktning i grader)
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
när startad :: hat events
[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 :: hat events
[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