Robotams skirti blokai#
Įvadas#
Didvyriškasis robotas „Flop“ turi įsiurbimo variklį, rankos variklį ir IQ AI regėjimo jutiklį.
Visi standartiniai VEXcode VR blokai yra prieinami IQ 26-27 lygio kėlimas žaidimų aikštelėje.
Žemiau pateikiamas visų galimų robotams skirtų blokų sąrašas:
Judėjimas – judinkite ir sekite roboto variklius.
Veiksmai
sukti variklį – Suka variklį viena iš jo krypčių amžinai.
sukti variklį – Suka variklį tam tikrą atstumą laipsniais arba posūkiais.
sukti variklį į poziciją – Suka variklį į konkrečią padėtį.
stop motor – Sustabdo variklio sukimąsi.
Nustatymai
nustatyti variklio greitį – Nurodo varikliui sukimosi greitį.
nustatyti variklio timeout – Nustato, kiek laiko variklis bandys užbaigti judesį.
Pozicija
variklio padėtis – Praneša apie dabartinę variklio padėtį.
nustatyti variklio padėtį – Pakeičia dabartinę variklio padėtį į naują reikšmę.
Vertės
variklis baigtas – Praneša, ar variklis baigė judėti.
variklis sukasi – Praneša, ar variklis sukasi.
variklio greitis – nurodo variklio sukimosi greitį procentais nuo -100 % iki 100 %.
AI vizija – fiksuokite ir analizuokite objektus naudodami IQ AI vizijos jutiklį.
Veiksmai
gauti objekto duomenis – fiksuoja konkretaus parašo duomenis, pvz., aptiktą dirbtinio intelekto klasifikaciją.
Nustatymai
nustatyti objekto elementą – Pasirenka konkretų objektą iš sąrašo.
Vertės
objektas egzistuoja – Grąžina, ar buvo aptikta kokia nors klasifikacija.
object is – Grąžina, ar aptikta konkreti klasifikacija.
object is AprilTag – Grąžina, ar aptiktas objektas yra AprilTag, atitinkantis konkretų ID.
objektų skaičius – Grąžina aptiktų objektų skaičių.
objekto ypatybė – Grąžina plotį, aukštį, centrą X, centrą Y, kilmę X arba kilmę Y.
Šiame puslapyje pateiktuose pavyzdžiuose naudojama numatytoji „Playground“ pradžios pozicija.
Judesys#
„Flop“ naudoja įsiurbimo variklį žaidimo elementams surinkti ir išstumti. Rankenos variklis pakelia ir nuleidžia ranką.
Kiekvienas variklis turi savo krypties parinktis. Krypties pavadinimai apibūdina, kaip variklis juda „Flop“ režimu.
Veiksmai#
sukimosi variklis#
Sukimosi variklio bloko funkcija suka variklį viena iš dviejų krypčių amžinai. Variklis suksis tol, kol jam bus duotas kitas veiksmas, pavyzdžiui, suktis kita kryptimi arba sustoti.
sukti [IntakeMotor v] [įsiurbimo v]
Parametrai |
Aprašymas |
|---|---|
variklis |
Sukamas variklis: Įsiurbimo variklis arba Svirties variklis. |
kryptis |
Variklio sukimosi kryptis:
|
Pavyzdys
kai pradėta
[Score a Bean Bag in a Blue Goal.]
sukti [kairėn v] per (90) laipsnių ▶
važiuoti [pirmyn v] per (35) [coliai v] ▶
sukti [dešinėn v] per (90) laipsnių ▶
sukti [ArmMotor v] [aukštyn v] per (1) [apsisukimai v] ▶
važiuoti [pirmyn v] per (40) [coliai v] ▶
sukti [IntakeMotor v] [išėmimas v]
sukimosi variklis#
Blokas „sukti variklį suka variklį tam tikrą atstumą. Sukimasis yra santykinis pagal dabartinę variklio padėtį. Projektas lauks, kol variklis baigs suktis, prieš paleidžiant kitą bloką bloke.
sukti [ArmMotor v] [aukštyn v] per (500) [laipsniai v] ▶
Parametrai |
Aprašymas |
|---|---|
variklis |
Sukamas variklis: Įsiurbimo variklis arba Svirties variklis. |
kryptis |
Variklio sukimosi kryptis:
|
atstumas |
Atstumas, kuriuo sukasi variklis. Laipsniai nurodomi sveikaisiais skaičiais. Posūkiai gali būti naudojami sveikaisiais arba dešimtainiais skaičiais. |
vienetas |
Atstumo vienetas: laipsniai arba posūkiai. |
ir nelauk |
Pasirinkite rodyklę (▶), kad išplėstumėte bloką, pavadindami ir nelaukite, kad kitas blokas krūvoje būtų paleistas iš karto. |
Pavyzdys
kai pradėta
[Score a Bean Bag in a Blue Goal.]
sukti [kairėn v] per (90) laipsnių ▶
važiuoti [pirmyn v] per (35) [coliai v] ▶
sukti [dešinėn v] per (90) laipsnių ▶
sukti [ArmMotor v] [aukštyn v] per (1) [apsisukimai v] ▶
važiuoti [pirmyn v] per (40) [coliai v] ▶
sukti [IntakeMotor v] [išėmimas v]
pasukite variklį į padėtį#
Sukite variklį į padėtį blokų rinkinys suka variklį į konkrečią padėtį.
Variklio padėtis rodo, kiek jis apsisuko, matuojant laipsniais arba apsūkiais. Vienas apsūkis lygus 360 laipsnių. Projekto pradžioje variklio padėtis nustatoma į 0 laipsnių. Variklio padėtį taip pat galima nustatyti naudojant bloką nustatyti variklio padėtį.
Padėties vertės yra absoliučios. Tai reiškia, kad sukimosi kryptis priklauso nuo dabartinės variklio padėties.
Pavyzdžiui, jei variklis užsiveda esant 0 laipsnių kampui ir sukasi iki 720 laipsnių padėties, jis suksis du apsisukimus į priekį. Jei jis tada suksis iki 360 laipsnių padėties, jis suksis vieną apsisukimą atgal, nes 360 yra mažiau nei 720.
sukti [ArmMotor v] į padėtį (500) [laipsniai v] ▶
Parametrai |
Aprašymas |
|---|---|
variklis |
Sukamas variklis: Įsiurbimo variklis arba Svirties variklis. |
pozicija |
Variklio sukimosi padėties vertė. Laipsniai naudojami sveikaisiais skaičiais. Apsūkiai gali būti naudojami sveikaisiais arba dešimtainiais skaičiais. |
vienetas |
Padėties vienetas: laipsniai arba posūkiai. |
ir nelauk |
Pasirinkite rodyklę (▶), kad išplėstumėte bloką, pavadindami ir nelaukite, kad kitas blokas krūvoje būtų paleistas iš karto. |
Pavyzdys
kai pradėta
[Score a Bean Bag in a Blue Goal.]
sukti [kairėn v] per (90) laipsnių ▶
važiuoti [pirmyn v] per (35) [coliai v] ▶
sukti [dešinėn v] per (90) laipsnių ▶
sukti [ArmMotor v] į padėtį (1) [apsisukimai v] ▶
važiuoti [pirmyn v] per (40) [coliai v] ▶
sukti [IntakeMotor v] [išėmimas v]
sustabdyti variklį#
Variklio sustabdymo blokų rinkinys sustabdo pasirinktą variklį.
sustabdyti [IntakeMotor v]
Parametrai |
Aprašymas |
|---|---|
variklis |
Variklis, kurį reikia sustabdyti: Įsiurbimo variklis arba Svirties variklis. |
Pavyzdys
kai pradėta
[Score a Bean Bag in a Blue Goal.]
sukti [kairėn v] per (90) laipsnių ▶
važiuoti [pirmyn v] per (35) [coliai v] ▶
sukti [dešinėn v] per (90) laipsnių ▶
sukti [ArmMotor v] [aukštyn v] per (1) [apsisukimai v] ▶
važiuoti [pirmyn v] per (40) [coliai v] ▶
sukti [IntakeMotor v] [išėmimas v]
laukti (1) sekundžių
sustabdyti [IntakeMotor v]
Nustatymai#
nustatytas variklio greitis#
Nustatyto variklio greičio blokų rinkinys nurodo varikliui, kokiu greičiu jis turi suktis. Didesnis procentas leidžia varikliui suktis greičiau, o mažesnis – lėčiau.
Kiekvienas projektas pradedamas, kai kiekvienas variklis pagal numatytuosius nustatymus sukasi 50 % greičiu.
Pastaba: Didesnis greitis leidžia varikliui sukasi greičiau, bet gali būti mažiau tikslus. Mažesnis greitis leidžia varikliui sukasi lėčiau, bet gali būti tiksliau.
nustatyti [IntakeMotor v] greitį į [50] [% v]
Parametrai |
Aprašymas |
|---|---|
variklis |
Variklis, skirtas nustatyti greitį: Įsiurbimo variklis arba Svirtis variklis. |
greitis |
Variklio sukimosi greitis. Procentai nurodomi sveikaisiais skaičiais nuo 0 % iki 100 %. |
vienetas |
Greičio vienetas: %. |
Pavyzdys
kai pradėta
[Score a Bean Bag in a Blue Goal.]
sukti [kairėn v] per (90) laipsnių ▶
važiuoti [pirmyn v] per (35) [coliai v] ▶
sukti [dešinėn v] per (90) laipsnių ▶
sukti [ArmMotor v] [aukštyn v] per (1) [apsisukimai v] ▶
važiuoti [pirmyn v] per (40) [coliai v] ▶
nustatyti [IntakeMotor v] greitį į [100] [% v]
sukti [IntakeMotor v] [išėmimas v]
nustatyti variklio laikmatį#
Variklio skirtojo laiko nustatymo blokas nustato, kiek laiko variklis bandys užbaigti judesį. Jei variklis negali užbaigti per tą laiką, jis nustos bandyti ir pereis prie kito bloko bloke. Tai neleidžia varikliui užstrigti ties judesiu.
nustatyti [ArmMotor v] laiko limitą į [1] sekundžių
Parametrai |
Aprašymas |
|---|---|
variklis |
Variklis, kurio skirtojo laiko reikšmę reikia nustatyti: Įsiurbimo variklis arba Svirties variklis. |
laikas |
Sekundžių skaičius, kurį variklis gali bandyti užbaigti judesį. Tai gali būti sveikasis skaičius arba dešimtainė trupmena. |
Pavyzdys
kai pradėta
[Score a Bean Bag in a Blue Goal.]
sukti [kairėn v] per (90) laipsnių ▶
važiuoti [pirmyn v] per (35) [coliai v] ▶
sukti [dešinėn v] per (90) laipsnių ▶
nustatyti [ArmMotor v] laiko limitą į [2] sekundžių
sukti [ArmMotor v] [aukštyn v] per (1) [apsisukimai v] ▶
važiuoti [pirmyn v] per (40) [coliai v] ▶
sukti [IntakeMotor v] [išėmimas v]
Pozicija#
variklio padėtis#
Variklio padėtis rodo, kiek jis apsisuko, matuojant laipsniais arba apsukų. Vienas apsūkis lygus 360 laipsnių. Variklio padėties pranešimo blokas praneša apie dabartinę variklio padėtį.
Projekto pradžioje variklio padėtis nustatyta į 0 laipsnių. Jei variklis sukasi vieną pilną apsisukimą į priekį, padėtis bus 360 laipsnių arba 1 apsisukimas. Jei variklis sukasi kita kryptimi, padėtis bus neigiama.
([ArmMotor v] padėtis [laipsniai v])
Parametrai |
Aprašymas |
|---|---|
variklis |
Variklis, kuris praneša apie Įsiurbimo variklio arba Svirties variklio padėtį. |
vienetas |
Variklio padėties matavimo vienetas: laipsniais arba apsukais. |
Pavyzdys
kai pradėta
[Score a Bean Bag in a Blue Goal.]
sukti [kairėn v] per (90) laipsnių ▶
važiuoti [pirmyn v] per (35) [coliai v] ▶
sukti [dešinėn v] per (90) laipsnių ▶
kol <([ArmMotor v] padėtis [laipsniai v]) [math_less_than v] [360]>
sukti [ArmMotor v] [aukštyn v]
laukti (0.002) sekundžių
pabaiga
sustabdyti [ArmMotor v]
važiuoti [pirmyn v] per (40) [coliai v] ▶
sukti [IntakeMotor v] [išėmimas v]
nustatyti variklio padėtį#
Variklio padėtis rodo, kiek jis apsisuko, matuojamas laipsniais arba apsukų. Vienas apsūkis lygus 360 laipsnių. Nustatyti variklio padėtį blokų rinkinys pakeičia dabartinę variklio padėtį į naują reikšmę.
Pavyzdžiui, jei variklis apsisuko iki 180 laipsnių, nustatant 0 laipsnių padėtį, ši padėtis bus atkurta iš 180 į 0 laipsnių. Tada variklis gali suktis į padėtis, pagrįstas ta nauja verte.
nustatyti [ArmMotor v] padėtį į (0) [laipsniai v]
Parametrai |
Aprašymas |
|---|---|
variklis |
Variklis, kuriuo reikia nustatyti padėtį: Įsiurbimo variklis arba Svirties variklis. |
pozicija |
Nustatoma pozicijos vertė. Laipsniai gali naudoti sveikuosius skaičius. Posūkiai gali naudoti sveikuosius arba dešimtainius skaičius. |
vienetas |
Padėties vienetas: laipsniai arba posūkiai. |
Pavyzdys
kai pradėta
[Score a Bean Bag in a Blue Goal.]
sukti [kairėn v] per (90) laipsnių ▶
važiuoti [pirmyn v] per (35) [coliai v] ▶
sukti [dešinėn v] per (90) laipsnių ▶
nustatyti [ArmMotor v] padėtį į [0] [laipsniai v]
sukti [ArmMotor v] [aukštyn v] per (1) [apsisukimai v] ▶
važiuoti [pirmyn v] per (40) [coliai v] ▶
sukti [IntakeMotor v] [išėmimas v]
Vertybės#
variklis baigtas#
Loginis blokas variklis baigė judėti praneša, ar variklis baigė judėti. Tai galima naudoti norint valdyti kitų veiksmų, pagrįstų variklio judėjimu, laiką.
Teisinga — Variklis nustojo judėti.
Netiesa — Variklis vis dar juda.
Šis blokas veikia kartu su šiais judesio blokais, turinčiais parametrą ir nelaukti: sukimosi variklis už ir sukimosi variklis į poziciją.
<[ArmMotor v] baigė?>
Parametrai |
Aprašymas |
|---|---|
variklis |
Variklis, kuris praneša, ar baigė judėti: ĮsiurbimoVariklis arba SvirtiesVariklis. |
Pavyzdys
kai pradėta
[Score a Bean Bag in a Blue Goal.]
sukti [kairėn v] per (90) laipsnių ▶
važiuoti [pirmyn v] per (35) [coliai v] ▶
sukti [dešinėn v] per (90) laipsnių ▶
sukti [ArmMotor v] į padėtį (1) [apsisukimai v] ◀ ir nelaukti
laukti kol <[ArmMotor v] baigė?>
važiuoti [pirmyn v] per (40) [coliai v] ▶
sukti [IntakeMotor v] [išėmimas v]
variklis sukasi#
Būlio blokas variklis sukasi praneša, ar variklis sukasi. Tai galima naudoti norint valdyti kitų veiksmų, pagrįstų variklio judėjimu, laiką.
Tiesa – Variklis sukasi.
Netiesa — Variklis nesisuka.
Šis blokas veikia kartu su šiais judesio blokais, turinčiais parametrą ir nelaukti: sukimosi variklis už ir sukimosi variklis į poziciją.
<[IntakeMotor v] sukasi?>
Parametrai |
Aprašymas |
|---|---|
variklis |
Variklis, kuris praneša, ar jis sukasi: ĮsiurbimoVariklis arba SvirtiesVariklis. |
Pavyzdys
kai pradėta
[Score a Bean Bag in a Blue Goal.]
sukti [kairėn v] per (90) laipsnių ▶
važiuoti [pirmyn v] per (35) [coliai v] ▶
sukti [dešinėn v] per (90) laipsnių ▶
sukti [ArmMotor v] [aukštyn v] per (1) [apsisukimai v] ▶
važiuoti [pirmyn v] per (40) [coliai v] ▶
sukti [IntakeMotor v] [išėmimas v]
laukti kol <ne <[IntakeMotor v] sukasi?>>
sustabdyti [IntakeMotor v]
variklio greitis#
Variklio greičio reporterio blokas nurodo variklio sukimosi greitį procentais nuo -100 % iki 100 %.
([IntakeMotor v] greitis [% v] :: custom-motion)
Parametrai |
Aprašymas |
|---|---|
variklis |
Variklis, kuris praneša apie Įsiurbimo variklio arba Svirties variklio greitį. |
vienetas |
Variklio greičio pateikimo vienetas: %. |
Pavyzdys
kai pradėta
[Score a Bean Bag in a Blue Goal.]
sukti [kairėn v] per (90) laipsnių ▶
važiuoti [pirmyn v] per (35) [coliai v] ▶
sukti [dešinėn v] per (90) laipsnių ▶
sukti [ArmMotor v] [aukštyn v] per (1) [apsisukimai v] ▶
važiuoti [pirmyn v] per (40) [coliai v] ▶
sukti [IntakeMotor v] [išėmimas v]
laukti [0.2] sekundžių
spausdinti ([IntakeMotor v] greitis [% v] :: custom-motion) ▶
Dirbtinio intelekto vizija#
Veiksmai#
gauti objekto duomenis#
Blokas gauti objekto duomenis filtruoja duomenis iš IQ AI regėjimo jutiklio kadro į vieną parašą – išsaugotą aprašymą to, ką jutiklis gali atpažinti, pvz., žaidimo elementą aikštėje.
Duomenų rinkinyje objektai saugomi surūšiuoti nuo didžiausio iki mažiausio pagal plotį, pradedant nuo indekso 0. Kiekvieno objekto savybes galima pasiekti naudojant bloką objekto ypatybė. Jei nerandama atitinkančių objektų, grąžinamas tuščias duomenų rinkinys.
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
Parametras |
Aprašymas |
|---|---|
parašas |
Filtruoja duomenų rinkinį, kad būtų įtraukti tik nurodyto parašo duomenys. Galimi parašai:
|
Pavyzdys
kai pradėta :: hat events
[Drop the preloaded Bean Bag.]
sukti [IntakeMotor v] [išėmimas v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (90) laipsnių ▶
[Find and face the nearest red Bean Bag.]
nustatyti sukimosi greitį į (30) [% v]
nustatyti [object_counter v] į [1]
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
kartoti ([AIVision v] objektų skaičius)
nustatyti [AIVision v] objekto elementą į (object_counter)
jei <[AIVision v] objektas yra [RedBeanBag v]?> tada
if <([AIVision v] objektas [centrasX v]) < (140)> then
sukti [kairėn v]
else if <([AIVision v] object [centerX v]) > (180)> then
sukti [dešinėn v]
kitu atveju
sustabdyti važiavimą
pabaiga
pertraukti
pabaiga
keisti [object_counter v] [1]
pabaiga
Nustatymai#
nustatyti objekto elementą#
Blokas nustatyti objekto elementą nustato, kurį duomenų rinkinio elementą naudoti.
nustatyti [AIVision v] objekto elementą į [1]
Parametrai |
Aprašymas |
|---|---|
prekė |
Duomenų rinkinyje esančio elemento numeris, kuris bus naudojamas. |
Pavyzdys
kai pradėta :: hat events
[Drop the preloaded Bean Bag.]
sukti [IntakeMotor v] [išėmimas v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (90) laipsnių ▶
[Find the index of the nearest red Bean Bag.]
nustatyti [object_counter v] į [1]
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
kartoti ([AIVision v] objektų skaičius)
nustatyti [AIVision v] objekto elementą į (object_counter)
jei <[AIVision v] objektas yra [RedBeanBag v]?> tada
spausdinti (sujungti [Nearest Red Bean Bag is ] (object_counter)) ▶
pertraukti
kitu atveju
keisti [object_counter v] [1]
pabaiga
pabaiga
Vertybės#
objektas egzistuoja#
Blokas objektas egzistuoja grąžina loginę reikšmę, nurodančią, ar duomenų rinkinyje aptiktas koks nors objektas.
True – duomenų rinkinyje yra aptiktas objektas.
False – duomenų rinkinyje nėra jokių aptiktų objektų.
<[AIVision v] objektas egzistuoja?>
Parametrai |
Aprašymas |
|---|---|
Šis blokas neturi parametrų. |
Pavyzdys
kai pradėta :: hat events
[Drop the preloaded Bean Bag.]
sukti [IntakeMotor v] [išėmimas v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (90) laipsnių ▶
[Turn until a Bean Bag is detected.]
nustatyti sukimosi greitį į (30) [% v]
sukti [dešinėn v]
kartoti kol <[AIVision v] objektas egzistuoja?>
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
pabaiga
sustabdyti važiavimą
objektas yra#
Blokas objektas yra grąžina loginę reikšmę, nurodančią, ar aptiktas objektas atitinka konkrečią klasifikaciją.
Tiesa – duomenų rinkinio elementas yra konkretus objektas.
Netiesa – duomenų rinkinio elementas nėra konkretus objektas.
<[AIVision v] objektas yra [RedBeanBag v]?>
Parametras |
Aprašymas |
|---|---|
objektas |
Su kuriuo objektu palyginti daiktą: RaudonosPupelėsMaišas, MėlynosPupelėsMaišas arba GeltonosPupelėsMaišas? |
Pavyzdys
kai pradėta :: hat events
[Drop the preloaded Bean Bag.]
sukti [IntakeMotor v] [išėmimas v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (90) laipsnių ▶
[Find the index of the nearest red Bean Bag.]
nustatyti [object_counter v] į [1]
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
kartoti ([AIVision v] objektų skaičius)
nustatyti [AIVision v] objekto elementą į (object_counter)
jei <[AIVision v] objektas yra [RedBeanBag v]?> tada
spausdinti (sujungti [Nearest Red Bean Bag is ] (object_counter)) ▶
pertraukti
kitu atveju
keisti [object_counter v] [1]
pabaiga
pabaiga
objektas yra AprilTag#
Blokas objektas yra AprilTag grąžina loginę reikšmę, nurodančią, ar aptiktas objektas yra AprilTag, atitinkantis konkretų ID.
True – aptiktas objektas yra „AprilTag“ su nurodytu ID.
False – aptiktas objektas nėra „AprilTag“ su nurodytu ID.
<[AIVision v] objektas yra AprilTag [0]?>
Parametras |
Aprašymas |
|---|---|
AprilTag ID |
ID numeris, kurį reikia palyginti su aptiktu „AprilTag“. |
Pavyzdys
kai pradėta :: hat events
[Stop when you see the Red Goal!]
nustatyti sukimosi greitį į (30) [% v]
sukti [dešinėn v]
kartoti kol <[AIVision v] objektas yra AprilTag [1]?>
gauti [AprilTags v] duomenis iš [AIVision v]
pabaiga
sustabdyti važiavimą
spausdinti [Found the Red Goal!] ▶
objektų skaičius#
Blokas „objektų skaičius“ grąžina duomenų rinkinyje aptiktų objektų skaičių kaip sveikąjį skaičių.
([AIVision v] objektų skaičius)
Parametrai |
Aprašymas |
|---|---|
Šis blokas neturi parametrų. |
Pavyzdys
kai pradėta :: hat events
[Drop the preloaded Bean Bag.]
sukti [IntakeMotor v] [išėmimas v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (90) laipsnių ▶
[Print how many Bean Bags are detected.]
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
spausdinti ([AIVision v] objektų skaičius) ▶
objekto savybė#
Kiekvienam objektui, saugomam panaudojus get object data, priskiriamos šešios savybės.
([AIVision v] objektas [plotis v])
Visos savybių reikšmės apibūdina aptikto objekto padėtį ir dydį IQ AI regėjimo jutiklio rodinyje tuo metu, kai buvo naudojamas blokas gauti objekto duomenis. Šios reikšmės matuojamos pikseliais, remiantis jutiklio 320 x 240 pikselių skiriamąja geba.
Parametras |
Aprašymas |
|---|---|
nuosavybė |
Kurią aptikto objekto savybę naudoti: width, height, centerX, centerY, originX arba originY? |
plotis#
Savybė width nurodo aptikto objekto plotį pikseliais kaip sveikąjį skaičių nuo 1 iki 320.
([AIVision v] objektas [plotis v])
Pavyzdys
kai pradėta
[Drop the preloaded Bean Bag.]
sukti [IntakeMotor v] [išėmimas v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (90) laipsnių ▶
[Approach the Bean Bag, then pick it up.]
nustatyti važiavimo greitį į (30) [% v]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
nustatyti [AIVision v] objekto elementą į [1]
jei <[AIVision v] objektas yra [RedBeanBag v]?> tada
if <([AIVision v] object [width v]) > (180)> then
važiuoti [pirmyn v] per [50] [mm v] ▶
sukti [IntakeMotor v] [įsiurbimo v] per [90] [laipsniai v] ▶
pertraukti
kitu atveju
važiuoti [pirmyn v]
pabaiga
pabaiga
pabaiga
pabaiga
aukštis#
Savybė aukštis nurodo aptikto objekto aukštį pikseliais kaip sveikąjį skaičių nuo 1 iki 240.
([AIVision v] objektas [aukštis v])
Pavyzdys
kai pradėta
[Drop the preloaded Bean Bag.]
sukti [IntakeMotor v] [išėmimas v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (90) laipsnių ▶
[Approach the Bean Bag, then pick it up.]
nustatyti važiavimo greitį į (30) [% v]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
nustatyti [AIVision v] objekto elementą į [1]
jei <[AIVision v] objektas yra [RedBeanBag v]?> tada
if <([AIVision v] object [height v]) > (100)> then
važiuoti [pirmyn v] per [50] [mm v] ▶
sukti [IntakeMotor v] [įsiurbimo v] per [90] [laipsniai v] ▶
pertraukti
kitu atveju
važiuoti [pirmyn v]
pabaiga
pabaiga
pabaiga
pabaiga
centrasX#
Savybė centerX nurodo aptikto objekto centro x koordinatę pikseliais kaip sveikąjį skaičių nuo 0 iki 320.
([AIVision v] objektas [centrasX v])
Pavyzdys
kai pradėta
[Drop the preloaded Bean Bag.]
sukti [IntakeMotor v] [išėmimas v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (90) laipsnių ▶
[Steer to keep the Bean Bag centered while approaching.]
nustatyti sukimosi greitį į (30) [% v]
nustatyti važiavimo greitį į (30) [% v]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
nustatyti [AIVision v] objekto elementą į [1]
jei <[AIVision v] objektas yra [RedBeanBag v]?> tada
if <([AIVision v] objektas [centrasX v]) < (140)> then
sukti [kairėn v] per (5) laipsnių ▶
kitu atveju
važiuoti [pirmyn v] per (150) [mm v] ▶
sukti [IntakeMotor v] [įsiurbimo v]
pertraukti
pabaiga
pabaiga
pabaiga
pabaiga
centras Y#
Savybė centerY nurodo aptikto objekto centro y koordinatę pikseliais kaip sveikąjį skaičių nuo 0 iki 240.
([AIVision v] objektas [centrasY v])
Pavyzdys
kai pradėta
[Drop the preloaded Bean Bag.]
sukti [IntakeMotor v] [išėmimas v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (90) laipsnių ▶
[Print the y-position of the Bean Bag.]
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
nustatyti [AIVision v] objekto elementą į [1]
jei <[AIVision v] objektas yra [RedBeanBag v]?> tada
spausdinti ([AIVision v] objektas [centrasY v]) ▶
pabaiga
pabaiga
kilmėX#
Savybė originX nurodo aptikto objekto ribojančio langelio viršutinio kairiojo kampo x koordinatę pikseliais kaip sveikąjį skaičių nuo 0 iki 320.
([AIVision v] objektas [pradžiaX v])
Pavyzdys
kai pradėta
[Drop the preloaded Bean Bag.]
sukti [IntakeMotor v] [išėmimas v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (90) laipsnių ▶
[Steer to keep the left edge centered.]
nustatyti sukimosi greitį į (30) [% v]
nustatyti važiavimo greitį į (30) [% v]
amžinai
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
nustatyti [AIVision v] objekto elementą į [1]
jei <[AIVision v] objektas yra [RedBeanBag v]?> tada
if <([AIVision v] objektas [pradžiaX v]) < (100)> then
sukti [kairėn v] per (5) laipsnių ▶
kitu atveju
važiuoti [pirmyn v] per (150) [mm v] ▶
sukti [IntakeMotor v] [įsiurbimo v]
pertraukti
pabaiga
pabaiga
pabaiga
pabaiga
kilmėY#
Savybė originY nurodo aptikto objekto ribojančio langelio viršutinio kairiojo kampo y koordinatę pikseliais kaip sveikąjį skaičių nuo 0 iki 240.
([AIVision v] objektas [pradžiaY v])
Pavyzdys
kai pradėta
[Drop the preloaded Bean Bag.]
sukti [IntakeMotor v] [išėmimas v] per (180) [laipsniai v] ▶
sukti [kairėn v] per (90) laipsnių ▶
[Print the y-position of the Bean Bag's top edge.]
gauti [AI klasifikacijos v] duomenis iš [AIVision v]
jei <[AIVision v] objektas egzistuoja?> tada
nustatyti [AIVision v] objekto elementą į [1]
jei <[AIVision v] objektas yra [RedBeanBag v]?> tada
spausdinti ([AIVision v] objektas [pradžiaY v]) ▶
pabaiga
pabaiga