Robotspecifika block#

Introduktion#

Hero Bot, Huey, har två motoralternativ, IQ AI-visionssensorn, den optiska sensorn och touch-LED-lampan.

Alla vanliga VEXcode VR-block finns tillgängliga för användning i IQ 25-26 Mix & Match Playground.

Nedan finns en lista över alla tillgängliga robotspecifika block:

Drivinstruktioner – Flytta och vrida roboten.

Rörelse – Flytta och spåra robotens motorer.

AI Vision – Fånga och analysera objekt med hjälp av IQ AI Vision-sensorn.

  • Åtgärder

    • hämta objektdata – Samlar in data för en specifik signatur, till exempel en detekterad AI-klassificering.

  • Inställningar

  • Värden

    • objektet finns - Returnerar om någon klassificering upptäcktes.

    • objektet är – Returnerar om en specifik klassificering har upptäckts.

    • antal objekt – Returnerar hur många objekt som upptäcktes.

    • objektegenskap - Returnerar bredd, höjd, centrumX, centrumY, ursprungX eller ursprungY.

Avkänning - Använd robotens olika sensorer.

Exemplen på den här sidan använder standardstartpositionen för Playground.

Drivlina#

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.

Å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

Vid start begränsas körtiden till 1 sekund och vrids sedan 90 grader.#
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

drivhastighet#

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

(körhastighet i [% v])

Parametrar

Beskrivning

enhet

Hastighetsenheten: %

Exempel

när startad :: hat events
[Display the velocity after driving.]
kör [framåt v] i (200) [mm v] ▶
skriv ut (körhastighet i [% v]) på skärmen ◀ och flytta markör till nästa rad

Rörelse#

Huey använder klomotorn för att öppna och stänga klon så att käglor och balkar kan plockas upp eller släppas. Lyftmotorn höjer och sänker käglor eller balkar så att de kan fästas vid varandra.

Varje motor har sina egna riktningsalternativ. Riktningsnamnen beskriver hur motorn rör sig på Huey.

Åtgärder#

snurrmotor#

Spinmotorns stackblock snurrar en motor i en av två riktningar för alltid. Motorn fortsätter att snurra tills den får en annan åtgärd, som att snurra i en annan riktning eller stanna.

snurra [ClawMotor v] [öppna v]

Parametrar

Beskrivning

motor

Motorn som ska snurra: Klomotor eller Lyftmotor.

riktning

Motorns rotationsriktning:

  • Klomotor — öppen eller stängd
  • Lyftmotor — upp eller ner

Exempel

när startad
[Place a pin atop another pin.]
snurra [LiftMotor v] [upp v] i [600] [grader v] ▶
kör [framåt v] i (140) [mm v] ▶
snurra [ClawMotor v] [öppna v]

rotationsmotor för#

Blocket snurra motor för roterar en motor en specifik sträcka. Rotationen är relativ till motorns aktuella position. Projektet väntar tills motorn har snurrat klart innan nästa block i stacken körs.

snurra [ClawMotor v] [öppna v] i (90) [grader v] ▶

Parametrar

Beskrivning

motor

Motorn som ska snurra: Klomotor eller Lyftmotor.

riktning

Motorns rotationsriktning:

  • Klomotor — öppen eller stängd
  • Lyftmotor — upp eller ner

avstånd

Avståndet som motorn roterar. Grader använder heltal. Varv kan använda heltal eller decimaler.

enhet

Avståndsenheten: grader eller varv.

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
[Place a pin atop another pin.]
snurra [LiftMotor v] [upp v] i [600] [grader v] ▶
kör [framåt v] i (140) [mm v] ▶
snurra [ClawMotor v] [öppna v]

snurra motorn till position#

Stackblocket snurra motorn till position snurrar en motor till en specifik position.

En motors position är hur långt den har snurrat, mätt i grader eller varv. Ett varv är lika med 360 grader. I början av ett projekt sätts motorpositionen till 0 grader. Motorpositionen kan också ställas in med hjälp av blocket set motor position.

Positionsvärdena är absoluta. Det betyder att rotationsriktningen beror på motorns aktuella position.

Om motorn till exempel startar vid 0 grader och snurrar till en position på 720 grader, snurrar den framåt två varv. Om den sedan snurrar till en position på 360 grader, snurrar den bakåt ett varv, eftersom 360 är mindre än 720.

snurra [ClawMotor v] till position (90) [grader v] ▶

Parametrar

Beskrivning

motor

Motorn som ska snurra: Klomotor eller Lyftmotor.

placera

Positionsvärdet som motorn roterar till. Grader använder heltal. Varv kan använda heltal eller decimaler.

enhet

Positionsenheten: grader eller varv.

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
[Place a pin atop another pin.]
snurra [LiftMotor v] till position [-2] [varv v] ▶
kör [framåt v] i (140) [mm v] ▶
snurra [ClawMotor v] [öppna v]

stoppa motorn#

Stackblocket stoppa motor stoppar den valda motorn.

stoppa [ClawMotor v]

Parametrar

Beskrivning

motor

Motorn som ska stoppas: Klomotor eller Lyftmotor.

Exempel

när startad
[Raise the lift for 2 seconds, then stop.]
snurra [LiftMotor v] [upp v]
vänta (2) sekunder
stoppa [LiftMotor v]

Inställningar#

inställd motorhastighet#

Stackblocket inställd motorhastighet anger hur snabbt motorn ska snurra. En högre procentandel gör att motorn snurrar snabbare och en lägre procentandel gör att motorn snurrar långsammare.

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

Obs! En högre hastighet gör att motorn snurrar snabbare, men den kan vara mindre exakt. En lägre hastighet gör att motorn snurrar långsammare, men den kan vara mer exakt.

ställ in [ClawMotor v] hastighet till (50) [% v]

Parametrar

Beskrivning

motor

Motorn för att ställa in hastigheten för: Klomotor eller Lyftmotor.

hastighet

Den hastighet som motorn snurrar med. Procent använder heltal från 0 % till 100 %.

enhet

Hastighetsenheten: %.

Exempel

när startad
[Raise the lift at full speed.]
ställ in [LiftMotor v] hastighet till [100] [% v]
snurra [LiftMotor v] [upp v] i [600] [grader v] ▶

ställ in motorns timeout#

Stackblocket ställ in motortimeout anger hur lång tid en motor ska försöka slutföra en rörelse. Om motorn 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 motorn fastnar i en rörelse.

ställ in [ClawMotor v] timeout till (1) sekunder

Parametrar

Beskrivning

motor

Motorn att ställa in timeout för: Klomotor eller Lyftmotor.

tid

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

Exempel

när startad
ställ in [LiftMotor v] timeout till [2] sekunder
snurra [LiftMotor v] [upp v] i [5] [varv v] ▶

Placera#

motorposition#

En motors position är hur långt den har snurrat, mätt i grader eller varv. Ett varv är lika med 360 grader. Rapporteringsblocket motorposition rapporterar motorns aktuella position.

I början av ett projekt är motorpositionen inställd på 0 grader. Om motorn snurrar ett helt varv framåt blir positionen 360 grader eller 1 varv. Om motorn snurrar åt andra hållet blir positionen negativ.

([ClawMotor v] position i [grader v])

Parametrar

Beskrivning

motor

Motorn som ska rapportera positionen för: Klomotor eller Lyftmotor.

enhet

Enheten att rapportera motorpositionen i: grader eller varv.

Exempel

när startad
[Raise the lift until it reaches 600 degrees.]
snurra [LiftMotor v] [upp v]
vänta tills <([LiftMotor v] position i [grader v]) [math_less_than v] [-600]>
stoppa [LiftMotor v]

ställ in motorposition#

En motors position är hur långt den har snurrat, mätt i grader eller varv. Ett varv är lika med 360 grader. Stackblocket set motor position ändrar motorns aktuella position till ett nytt värde.

Om till exempel en motor har snurrat 180 grader, kommer en position som ställs in på 0 grader att återställas från 180 grader till 0 grader. Motorn kan sedan snurra till positioner baserat på det nya värdet.

ställ in [ClawMotor v] position till (0) [grader v]

Parametrar

Beskrivning

motor

Motorn för att ställa in positionen för: Klomotor eller Lyftmotor.

placera

Positionsvärdet som ska ställas in för motorn. Grader använder heltal. Varv kan använda heltal eller decimaler.

enhet

Positionsenheten: grader eller varv.

Exempel

när startad
ställ in [LiftMotor v] position till [100] [grader v]
snurra [LiftMotor v] till position [-500] [grader v] ▶

Värden#

motorn är klar#

Det booleska blocket motorn är klar rapporterar om motorn är klar med att röra sig. Detta kan användas för att styra tidpunkten för andra beteenden baserat på motorns rörelse.

  • Sant — Motorn är klar med att röra sig.

  • Falskt — Motorn rör sig fortfarande.

Detta block fungerar tillsammans med följande rörelseblock som har parametern och vänta inte: snurra motorn för och snurra motorn till position.

<[ClawMotor v] klar?>

Parametrar

Beskrivning

motor

Motorn som rapporterar om den är klar med rörelsen: Klomotor eller Lyftmotor.

Exempel

när startad
[Flash the Touch LED while the lift is moving.]
snurra [LiftMotor v] [upp v] i [600] [grader v] ◀ och vänta inte
vänta [0.1] sekunder
upprepa tills <[LiftMotor v] klar?>
ställ in [TouchLED v] färg till [röd v]
vänta [0.5] sekunder
ställ in [TouchLED v] färg till [ingen v]
vänta [0.5] sekunder
avsluta

motorn snurrar#

Det booleska blocket motorn snurrar rapporterar om motorn snurrar. Detta kan användas för att styra tidpunkten för andra beteenden baserat på motorns rörelse.

  • Sant — Motorn snurrar.

  • Falskt — Motorn snurrar inte.

Detta block fungerar tillsammans med följande rörelseblock som har parametern och vänta inte: snurra motorn för och snurra motorn till position.

<[ClawMotor v] snurrar?>

Parametrar

Beskrivning

motor

Motorn som rapporterar om den snurrar: Klomotor eller Lyftmotor.

Exempel

när startad
[Flash the Touch LED while the lift is spinning.]
snurra [LiftMotor v] [upp v] i [600] [grader v] ◀ och vänta inte
vänta [0.1] sekunder
upprepa tills <inte <[LiftMotor v] snurrar?>>
ställ in [TouchLED v] färg till [röd v]
vänta [0.5] sekunder
ställ in [TouchLED v] färg till [ingen v]
vänta [0.5] sekunder
avsluta

motorhastighet#

Blocket motorhastighet rapporterar hur snabbt motorn snurrar, som en procentandel från -100 % till 100 %.

([ClawMotor v] hastighet i [% v] :: custom-motion)

Parametrar

Beskrivning

motor

Motorn som ska rapportera hastigheten för: Klomotor eller Lyftmotor.

enhet

Enheten att rapportera motorhastigheten i: %.

Exempel

när startad
ställ in [LiftMotor v] hastighet till [100] [% v]
snurra [LiftMotor v] [upp v] i [600] [grader v] ◀ och vänta inte
vänta [0.5] sekunder
skriv ut ([LiftMotor v] hastighet i [% v] :: custom-motion) ▶

AI-vision#

Åtgärder#

hämta objektdata#

Blocket hämta objektdata filtrerar data från IQ AI Vision Sensor-ramen till en enda signatur – en sparad beskrivning av något som sensorn kan känna igen, till exempel ett spelelement på planen.

Datasetet lagrar objekt sorterade från störst till minst efter bredd, med början vid index 0. Varje objekts egenskaper kan nås med hjälp av blocket object property. En tom dataset returneras om inga matchande objekt upptäcks.

Blocket för att hämta objektdata.#
hämta [AI-klassificeringar v]-data från [AIVision v]

Parameter

Beskrivning

signatur

Filtrerar datamängden för att endast inkludera data från den givna signaturen. Tillgängliga signaturer är:

  • AI-klassificeringar - Detekterar strålar och blå, röda och orangea stift.

Exempel

när startad
[Place the Red Pin on the top left Blue Pin.]
snurra [LiftMotor v] [upp v] i [600] [grader v] ▶
sväng [vänster v] i [38] grader ▶
upprepa tills <([AIVision v]-objekt [bredd v]) [math_greater_than v] [48]>
hämta [AI-klassificeringar v]-data från [AIVision v]
kör [framåt v]
avsluta
kör [framåt v] i [160] [mm v] ▶
snurra [ClawMotor v] [öppna v]

Inställningar#

ange objektobjekt#

Blocket set object item anger vilket objekt i datamängden som ska användas.

Det inställda objektets objektstackblock.#
ställ in [AIVision v]-objektpost till [1]

Parametrar

Beskrivning

punkt

Numret på objektet i datauppsättningen som ska användas.

Exempel

när startad
[Find the object index of the nearest Orange Pin.]
ställ in [object_counter v] till [1]
hämta [AI-klassificeringar v]-data från [AIVision v]
upprepa (antal [AIVision v]-objekt)
ställ in [AIVision v]-objektpost till (object_counter)
om <[AIVision v] object is [Orange Pin v]> då
skriv ut (sätt ihop [Nearest Orange Pin is ] (object_counter)) ▶
annars
ändra [object_counter v] med [1]
avsluta
avsluta

Värden#

objektet finns#

Blocket objektet finns returnerar ett booleskt värde som anger om något objekt har upptäckts i datamängden.

  • Sant – Datasetet innehåller ett detekterat objekt.

  • Falskt - Datasetet innehåller inga upptäckta objekt.

AI Vision-objektet finns i ett booleskt block.#
<[AIVision v]-objekt finns?>

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

när startad
[Raise the Lift until a Pin or Beam is detected.]
upprepa tills <[AIVision v]-objekt finns?>
hämta [AI-klassificeringar v]-data från [AIVision v]
snurra [LiftMotor v] [upp v]
avsluta
stoppa [LiftMotor v]

objektet är#

Blocket objektet är returnerar ett booleskt värde som anger om ett detekterat objekt matchar en specifik klassificering.

  • Sant - Objektet i datamängden är det specifika objektet.

  • Falskt - Objektet i datamängden är inte det specifika objektet.

Objektet är ett booleskt block.#
<[AIVision v]-objekt är [Beam v]?>

Parameter

Beskrivning

objekt

Vilket objekt att jämföra objektet med:

  • Stråle
  • Blå stift
  • Röd stift
  • Orange stift

Exempel

när startad
[Find the object index of the nearest Orange Pin.]
ställ in [object_counter v] till [1]
hämta [AI-klassificeringar v]-data från [AIVision v]
upprepa (antal [AIVision v]-objekt)
ställ in [AIVision v]-objektpost till (object_counter)
om <[AIVision v] object is [Orange Pin v]> då
skriv ut (sätt ihop [Nearest Orange Pin is ] (object_counter)) ▶
annars
ändra [object_counter v] med [1]
avsluta
avsluta

objektantal#

Blocket objektantal returnerar antalet detekterade objekt i datamängden som ett heltal.

Rapporteringsblocket för objektantal.#
(antal [AIVision v]-objekt)

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

när startad
hämta [AI-klassificeringar v]-data från [AIVision v]
skriv ut (antal [AIVision v]-objekt) ▶

objektegenskap#

Det finns sex egenskaper som ingår i varje objekt som lagras efter att blocket get object data har använts.

Rapporteringsblocket för AI Vision-objektets egenskap.#
([AIVision v]-objekt [bredd v])

Alla egenskapsvärden beskriver det detekterade objektets position och storlek i IQ AI Vision Sensors vy vid det ögonblick då blocket hämta objektdata användes. Dessa värden mäts i pixlar, baserat på sensorns upplösning på 320 x 240 pixlar.

Parameter

Beskrivning

egendom

Vilken egenskap för det detekterade objektet som ska användas:

bredd#

Egenskapen width rapporterar bredden på det detekterade objektet i pixlar som ett heltal från 1 till 320.

AI Vision-objektets egenskapsreporterblock med vald bredd.#
([AIVision v]-objekt [bredd v])
höjd#

Egenskapen höjd rapporterar höjden på det detekterade objektet i pixlar som ett heltal från 1 till 240.

AI Vision-objektets egenskapsreporterblock med vald höjd.#
([AIVision v]-objekt [höjd v])
centerX#

Egenskapen centerX rapporterar x-koordinaten för det detekterade objektets centrum i pixlar som ett heltal från 0 till 320.

AI Vision-objektets egenskapsreporterblock med centerX valt.#
([AIVision v]-objekt [centerX v])
centerY#

Egenskapen centerY rapporterar y-koordinaten för det detekterade objektets centrum i pixlar som ett heltal från 0 till 240.

AI Vision-objektets egenskapsreporterblock med centerY valt.#
([AIVision v]-objekt [centerY v])
ursprungX#

Egenskapen originX rapporterar x-koordinaten för det övre vänstra hörnet av det detekterade objektets avgränsningsram i pixlar som ett heltal från 0 till 320.

AI Vision-objektets egenskapsreporterblock med originX valt.#
([AIVision v]-objekt [originX v])
ursprungY#

Egenskapen originY rapporterar y-koordinaten för det övre vänstra hörnet av det detekterade objektets avgränsningsram i pixlar som ett heltal från 0 till 240.

AI Vision-objektets egenskapsreporterblock med originY valt.#
([AIVision v]-objekt [originY v])

Avkänning#

Optisk#

Optisk hittade ett objekt#

Det booleska blocket Optiskt hittade ett objekt rapporterar om den optiska sensorn detekterar ett objekt inom räckhåll.

  • Sant — Den optiska sensorn detekterar ett objekt.

  • Falskt — Den optiska sensorn detekterar inget objekt.

<[Optical v] hittade ett objekt?>

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

när startad
[Place a pin atop another pin.]
snurra [LiftMotor v] [upp v] i [600] [grader v] ▶
kör [framåt v] i (140) [mm v] ▶
snurra [ClawMotor v] [öppna v]
vänta tills <inte <[Optical v] hittade ett objekt?>>
snurra [LiftMotor v] till position [0] [grader v] ▶

Optisk detektering av färg#

Det booleska blocket Optisk detekterar färg rapporterar om den optiska sensorn detekterar en specifik färg, baserat på det detekterade nyansvärdet.

  • Sant – Sensorn detekterar den angivna färgen.

  • Falskt – Sensorn detekterar inte den angivna färgen.

Obs! Den optiska sensorn letar efter nyansintervall som matchar den angivna färgen. För att upptäcka specifika nyansintervall, se Optisk nyans-blocket.

<[Optical v] detekterar [röd v]?>

Parametrar

Beskrivning

färg

Vilken färg man ska leta efter:

  • röd – Ett detekterat nyansvärde mellan 340° - 20°.
  • grön – Ett detekterat nyansvärde mellan 80° - 140°.
  • blå – Ett detekterat nyansvärde mellan 200° - 240°.
  • gul – Ett detekterat nyansvärde mellan 40° - 60°.
  • orange – Ett detekterat nyansvärde mellan 20° - 40°.
  • lila – Ett detekterat nyansvärde mellan 240° - 280°.

Exempel

när startad
[Place a pin atop another pin.]
snurra [LiftMotor v] [upp v] i [600] [grader v] ▶
kör [framåt v] i (140) [mm v] ▶
snurra [ClawMotor v] [öppna v]
vänta tills <[Optical v] detekterar [röd v]?>
snurra [LiftMotor v] till position [0] [grader v] ▶

Optisk ljusstyrka#

Blocket Optisk ljusstyrka rapporterar hur mycket ljus som reflekteras tillbaka till den optiska sensorn, som en procentandel från 0 % till 100 %.

En högre procentandel innebär att mer ljus reflekteras tillbaka till den optiska sensorn. En lägre procentandel innebär att mindre ljus reflekteras tillbaka.

([Optical v] ljusstyrka i %)

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Optisk nyans#

Blocket Optisk nyans returnerar nyansvärdet för den färg som detekteras av den optiska sensorn.

Nyans är ett sätt att beskriva färg med hjälp av siffror runt en färgcirkel.

En cirkulär färgcirkel som visar ett komplett spektrum av nyanser märkta med gradvärden runt omkretsen, ökande i 30-graders steg från 0 grader högst upp till 360 grader.

([Optical v] nyans i grader)

Parametrar

Beskrivning

Det här blocket har inga parametrar.

när optisk#

Hattblocket when Optical kör den bifogade stapeln av block när den optiska sensorn detekterar eller förlorar ett objekt.

när [Optical v] [detekterar v] ett objekt

Parametrar

Beskrivning

ange

När den bifogade blockstapeln körs: upptäcker körs när ett oupptäckt objekt detekteras, medan förlorar körs när ett detekterat objekt inte längre detekteras.

Exempel

när [Optical v] [tappar v] ett objekt
[Lower the lift when the object is no longer in the claw.]
snurra [LiftMotor v] till position [0] [grader v] ▶

Pek-LED#

ställ in TouchLED-färg#

Blocket ställ in TouchLED-färg ställer in färgen på Touch-LED:n.

ställ in [TouchLED v] färg till [ingen v]

Parametrar

Beskrivning

färg

Ställer in lysdiodens färg till:

  • ingen - Stänger av pekskärms-LED:
  • röd
  • grön
  • blå
  • vit
  • gul
  • orange
  • lila
  • röd violett
  • violett
  • blå violett
  • blågrön
  • gulgrön
  • gul orange
  • röd orange

Exempel

när startad
[Light the Touch LED while placing a pin.]
ställ in [TouchLED v] färg till [röd v]
snurra [LiftMotor v] [upp v] i [600] [grader v] ▶
kör [framåt v] i (140) [mm v] ▶
snurra [ClawMotor v] [öppna v]
ställ in [TouchLED v] färg till [ingen v]