Použití očního senzoru ve VEXcode VR s Pythonem

Robot VEX VR má velké množství senzorů, včetně dvou očních senzorů.


Oční senzory na robotu VR

Snímek obrazovky rozhraní VEXcode VR zobrazující blokové kódovací prostředí pro programování virtuálního robota, které je navrženo tak, aby podporovalo výuku STEM prostřednictvím výukových programů kódování a činností při řešení problémů.

VR Robot má dva oční senzory, jeden směřuje dopředu a druhý dolů. Senzory dokážou detekovat přítomnost nějakého předmětu a také detekovat barvu (červená, zelená, modrá, žádná).

Snímek obrazovky rozhraní VEXcode VR představující blokové kódovací prostředí navržené pro výuku konceptů kódování prostřednictvím virtuální robotiky jako součást sekce Tutoriály.

Hodnoty očního senzoru lze zobrazit na ovládacím panelu ve VEXcode VR. Chcete-li se dozvědět více o řídicím panelu, přečtěte si tento článek.

Snímek obrazovky rozhraní VEXcode VR zobrazující blokové kódovací prostředí pro programování virtuálního robota, navrženého pro vzdělávací účely ve výuce STEM.

Hodnoty snímače oka lze zobrazit na konzole monitoru ve VEXcode VR. Chcete-li se dozvědět více o Monitor Console, přečtěte si tento článek.


Příkazy používané s očními senzory

Příkaz očního senzoru v blízkosti objektu

Snímek obrazovky výukového rozhraní VEXcode VR, předvádějící možnosti blokového kódování pro programování virtuálního robota, zaměřené na výuku konceptů kódování a principů robotiky pro studenty a pedagogy v kontextu vzdělávání STEM.

 

Příkaz Eye sensornear object hlásí, zda je oční senzor dostatečně blízko k objektu, aby detekoval barvu (červenou, zelenou, modrou, žádnou). Snímač předního oka a snímač dolního oka mají příslušné příkazy pro blízkost objektu.

Snímek obrazovky rozhraní VEXcode VR představující blokové kódovací prostředí navržené pro výuku konceptů kódování prostřednictvím virtuálního robota, který je uveden v sekci Tutoriály.

Příkaz Eye sensornear object vrací boolean, který hlásí True , když je oční senzor blízko objektu, který má detekovatelné barvy, a hlásí False , když není dostatečně blízko k objekt s detekovatelnými barvami.

Barva senzoru oka příkaz

Snímek obrazovky rozhraní VEXcode VR představující blokové kódovací prostředí navržené pro výuku konceptů kódování prostřednictvím virtuální robotiky, obsahující nástroje pro vytváření, testování a ladění kódu v simulovaném prostředí.

PříkazBarva senzoru oka hlásí, zda senzor oka detekuje určitou barvu.

Snímek obrazovky rozhraní VEXcode VR představující blokové kódovací prostředí navržené pro výuku konceptů kódování prostřednictvím virtuální robotiky jako součást sekce Tutoriály.

Barva, kterou oční senzor hledá, je nastavena jako parametr příkazu. Oba oční senzory mohou detekovat červenou, zelenou, modrou nebo žádnou.

Snímek obrazovky rozhraní VEXcode VR představující blokové kódovací prostředí navržené pro výuku konceptů kódování prostřednictvím programování virtuálních robotů s možnostmi pro začátečníky i pokročilé uživatele.

Příkaz Barva senzoru oka vrací booleovskou hodnotu, která hlásí True , když senzor oka detekuje vybranou barvu, a hlásí Ftaké , když nedetekuje barvu nastavenou jako parametr.


Běžná použití očního senzoru

Snímek obrazovky výukového rozhraní VEXcode VR, představující blokové kódovací prostředí navržené pro výuku konceptů kódování prostřednictvím virtuálního robota, jehož cílem je zlepšit dovednosti v oblasti řešení problémů a výpočetního myšlení ve výuce STEM.

Oční senzory na robotu VR lze použít mnoha způsoby. Jedna věc, kterou je třeba poznamenat u senzoru Down Eye, je, že je vyladěn tak, aby nedetekoval podlahu hřiště jako předmět. Ostatní položky, například disky, se zaregistrují jako objekt.

Oční senzory mohou detekovat barvu objektu v blízkosti senzoru, jako jsou barevné disky na hřišti Disk Mover Playground nebo červený okraj kolem hřiště Castle Crasher. To je užitečné, pokud chcete, aby robot VR třídil různobarevné objekty, zajížděl ke specificky zbarvenému objektu nebo detekoval barvu objektů, když procházejí kolem senzoru.

def main():
while not down_eye.detect(BLUE):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()
magnet.energize(BOOST)

Chcete-li použít výše uvedený příklad, zkopírujte tento kód do VEXcode VR a spusťte projekt na hřišti Disk Mover Playground.

Snímek obrazovky výukového rozhraní VEXcode VR, předvádějící možnosti kódování založeného na blocích a virtuálního robota, který má uživatelům pomoci naučit se koncepty kódování a principy robotiky ve vzdělávacím prostředí.

Robot VR může použít oční senzory k zahájení sekvence chování, když je na správném místě. Robot VR může například jet vpřed, dokud nezjistí, že je blízko nějakého předmětu, jako je zeď, a poté se otočit o 90 stupňů nebo jet zpět, aby nenarazil do objektu, jako je hrad, disk nebo zeď.

def main():
while not front_eye.near_object():
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()

Chcete-li použít výše uvedený příklad, zkopírujte tento kód do VEXcode VR a spusťte projekt na hřišti Wall Maze Playground.

Snímek obrazovky rozhraní VEXcode VR zobrazující blokové kódovací prostředí pro programování virtuálního robota navrženého pro vzdělávací účely ve STEM, zdůrazňující výukové programy pro koncepty kódování a principy robotiky.

Robot VR může pomocí očních senzorů jet směrem k objektu nebo povrchu, dokud se nedostane do určité vzdálenosti, aniž by se ho dotkl. Toho lze využít k zajištění toho, aby robot VR nespadl z hřiště nebo nenarazil do zdí.

def main():
drivetrain.drive_for(FORWARD, 300, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
bez down_eye.detect(RED):
drivetrain.drive(FORWARD)
wait(5, MSEC )
drivetrain.stop()

Chcete-li použít výše uvedený příklad, zkopírujte tento kód do VEXcode VR a spusťte projekt na hřišti Castle Crasher.


Příklad projektu očního senzoru

Snímek obrazovky rozhraní VEXcode VR předvádějící možnosti kódování založeného na blocích a virtuálního robota ilustrující vzdělávací nástroje platformy pro kódování, řešení problémů a principy robotiky v kontextu výukového programu.

V následujícím příkladu pojede VR robot vpřed, dokud snímač předního oka nedetekuje zelený objekt, poté se zastaví a počká, než pojede zpět. Všimněte si, že na Dashboardu hodnoty senzoru předního oka hlásí True , že byl detekován objekt, a barva tohoto objektu (disku) je zelená.

def main():
drivetrain.drive(FORWARD)
while True:
if front_eye.detect(GREEN):
drivetrain.stop()
wait(2, SECONDS)
drivetrain.drive_for(REVERSE, 200, MM)
čekat (5, MSEC)

Chcete-li použít výše uvedený příklad, zkopírujte tento kód do VEXcode VR a spusťte projekt na hřišti Disk Maze Playground.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: