Skip to main content

Použití vizuálního senzoru - Python

Ikona sady nástrojů pro učitele Sada nástrojů této části

Efektivní používání kamerového senzoru vyžaduje, aby jej studenti dokázali konfigurovat a ladit v závislosti na prostředí, ve kterém se nachází. V následující aktivitě se studenti naučí, jak dělat obojí.

Další informace o programování kamerového senzoru pomocí VEXcode V5 naleznete v nápovědě k VEXcode V5 pronebo v části V5 v knihovně VEX

Následuje přehled toho, co budou vaši studenti v této aktivitě dělat:

  • Otevřete ukázkový projekt Detekce objektů (Vision).

  • Nakonfigurujte kamerový senzor.

  • Spusťte ukázkový projekt Detekce objektů (Vision).

  • Diskutujte a reflektujte.

  • Nalaďte senzor vidění.

Ikona tipů pro učitele Tipy pro učitele

Pokud student používá VEXcode V5 poprvé, může si najít mnoho užitečných článků v

Pořiďte si potřebný hardware, technický notebook a otevřete VEXcode V5.

Požadované materiály:
Množství Potřebný materiál
1

VEX V5 Classroom Starter Kit

1

VEXcode V5 (nejnovější verze, Windows, macOS)

1

Technický poznámkový blok

1

Konfigurace kamerového senzoru (knihovna VEX)

1

Ladění kamerového senzoru (knihovna VEX)

1

Příklad projektu Detekce objektů (vize)

Tato aktivita vám poskytne nástroje pro použití zrakového senzoru.

Pro seznámení se s příkazy můžete použít informaceNápovědauvnitř VEXcode V5.

VEXcode V5 je zobrazen s otevřeným panelem nástrojů úplně vlevo a s otevřeným příkazem Nápověda pro pohon úplně vpravo. Nápověda zobrazuje definici příkazu a informace o tom, jak je používán.

Krok 1: Otevřete ukázkový projekt

VEXcode V5 obsahuje mnoho různých příkladových projektů. Jednu z nich využiješ v tomto průzkumu.

Otevřete příklad projektu Detekce objektů (vize) provedením následujících kroků:

  • Otevřete nabídku Soubor.
  • Vyberte Otevřít příklady.

Panel nástrojů VEXcode V5 s otevřenou nabídkou Soubor a otevřenými příklady zvýrazněnými červeným rámečkem. Open Examples je čtvrtá položka nabídky pod New Blocks Project, New Text Project a Open.

  • Použijte filtrační lištu v horní části aplikace a vyberte „Snímání“.

Příklad okna výběru projektu v VEXcode V5 zobrazuje filtr snímání vybraný nahoře, zvýrazněný červeným rámečkem. Níže je uvedeno několik příkladů ikon projektů.

Vyberte a otevřete ukázkový projekt Detekce objektů (vize).

Příklad ikona projektu čte Detekce objektů Vision v dolní části a zobrazuje ikonu robota se senzorem vlevo a náčrt označující detekci vpravo.

Uložte svůj projekt jako Detekce objektů.

  • Zkontrolujte, zda je název projektu Detekce objektů nyní v okně uprostřed panelu nástrojů.

Ikona tipů pro učitele Tipy pro učitele

  • Ujistěte se, že studenti vybrali Otevřít příklady z nabídky Soubor.

  • Ujistěte se, že si studenti vybrali příklad projektu Detekce objektů (Zrak). Můžete studentům upozornit, že na stránce Otevřít příklady je k dispozici několik možností, ze kterých si mohou vybrat.

  • Můžete studenty požádat, aby k názvu projektu přidali své iniciály nebo název své skupiny. To pomůže rozlišit programy, pokud požádáte studenty, aby je odevzdali.

  • Protože VEXcode V5 má automatické ukládání, není nutné projekt po prvním uložení znovu ukládat.

  • Pokud studenti potřebují pomoc s ukládáním, nasměrujte je na jeden z těchto článků: 

Krok 2: Konfigurace a použití kamerového senzoru

Okno konfigurace Vision Sensor zobrazuje obrázek ruky držící červenou kostku vlevo s překrytím na kostce a slovy REDBOX a W142 H142 nad ní. Napravo jsou nastaveny 3 barevné podpisy pro BlueBox, Redbox a Greenbox.

Otevřete dříve uložený příklad projektu Detekce objektů (Vision).

Jak se Vision Sensor používá v tomto projektu? Předvídejte, co se stane, když je projekt spuštěn, a zapište si předpovědi do svého technického poznámkového bloku.

  # Import knihovny
z vex importu *

# Začněte kód projektu

check_red = Event()
check_blue = Event()
check_green = Event()

# Zkontroluje, zda je modrý objekt v pohledu na senzor Vision
# a zobrazí výsledek na řádku 1 na obrazovce V5 Brain
def has_blue_callback(): brain.screen.clear_row (1)
    brain.screen.set_cursor (1,
    1) vexcode_Vision
    _5_objects = vision_5.take_snapshot (Vision_5__BLUEBOX),
    pokud vexcode_Vision_5_objects a len(vexcode_Vision_5_objects) > 0:
        brain.screen.print ("Blue Object Found")
    jinak:
        brain.screen.print ("No Blue Object")

# Zkontroluje, zda je červený objekt v pohledu na senzor Vision
# a zobrazí výsledek na řádku 3 na obrazovce V5 Brain
def has_red_callback(): brain.screen.clear_row (3) brain.screen.set_cursor
    (3, 1
    ) vexcode_vision_
    5_objects = vision_5.take_snapshot (vision_5__REDBOX)
    if vexcode_vision_5_objects and len(vexcode_vision_5_objects) > 0: brain.screen.print (
        "Red Object Found")
    else: brain.screen.print (
        "No Red Object")

# Zkontroluje, zda je zelený objekt v pohledu na vidění
# sensor a zobrazit výsledek na řádku 5 na obrazovce V5 Brain
def has_green_callback(): brain.screen.clear_row (5) brain.screen.set_cursor (5
    , 1) vexcode
    _Vision_5_objects
    = vision_5.take_snapshot (vision_5__ GREENBOX)
    if vexcode_Vision_5_objects and len(vexcode_Vision_5_objects) > 0: brain.screen.print ("Green Object
        Found")
    else: brain.screen.print ("No
        Green Object")

# register event handlers
check_blue(has_blue_callback)
check_red(has_red_callback)
check_green(has_green_callback)

# small delay to ensure the event handlers are ready to be used
wait(15, MSEC)

# set the print font for all future prints to the V5 screen brain.screen.set_font
(FontType.MONO40)

# always running to check for new sensor data
while True:
    check_blue.broad_cast_castand_wait ()
    check_road.redcast_bait_wait (check
    _green
    _callback) (0.1)
  • Stáhněte a spusťte projekt. Umístěte před kamerový senzor různé barevné předměty a sledujte chování robota. Zaznamenejte si do technického poznámkového bloku, jak se vaše předpověď lišila nebo byla správná ve srovnání s tím, co jste skutečně pozorovali z projektu.

Ikona tipů pro učitele Tipy pro učitele

Tři barevné objekty nemusí být nutně krychle, mohou to být jakékoli relativně malé zelené, červené a modré objekty.

Ikona motivační diskuse Motivační diskuse – odpověď

Uspořádejte diskusi ve třídě, aby studenti ve svém technickém sešitě sdíleli své předpovědi ohledně tohoto projektu a také se zamysleli nad tím, jak nakonfigurovat kamerový senzor.
Uspořádejte diskusi kladením následujících otázek:

  1. Jaké jsou kroky pro konfiguraci kamerového senzoru?

  2. Co dělá strukturaif else?

  3. Co by se stalo s detekcí objektů pomocí vizuální senzoru, kdybychom změnili místnost?

Odpovědi se budou lišit:

  1. Studenti by si měli uvědomit, že bude nutné rozhodnout se o názvu objektu. Objekt by měl být umístěn do rámečku kamerového senzoru a zastaven pomocí tlačítka „Zmrazit“. Barva bude poté vybrána a nakonfigurována pomocí tlačítka „Nastavit“. Studenti by měli nastínit kroky uvedené v.

  2. Strukturaif elsespouští instrukce uvnitř první nebo druhé části příkazuif elsena základě nahlášené booleovské hodnoty. Více informací o tom, jak tento návod používat, naleznete v nápovědě.

  3. Pokud by byl vizuální senzor požádán o detekci objektů v jiném prostředí, mohlo by se změnit osvětlení a barvy objektů by mohly vypadat jinak. To může ztížit detekci objektů senzorem Vision.

Ikona Rozšiřte si učení Rozšiřte více objektů

Vyberte dva další barevné objekty pro konfiguraci, případně bílou, fialovou, žlutou atd...

Okno konfigurace senzoru Vision Sensor zobrazující snímek vlevo s rukou držící žluté ozubené kolo. Na žlutém ozubeném kole je čtvercový překryv a data zní: Žlutý rámeček, X90 y 62, š 102, v 98. Vpravo jsou nastaveny barevné podpisy pro Bluebox, Redbox, Greenbox a Yellowbox.

Pokud studenti potřebují pomoc, odkažte je na informace v částiNápovědanebo na článek Konfigurace kamerového senzoru V5.

Krok 3: Ladění kamerového senzoru

Objekt je často nakonfigurován tak, aby byl rozpoznán kamerovým senzorem v jednom prostředí, například ve třídě. Když je pak kamerový senzor přenesen do jiného prostředí, jako je nastavení konkurence, objekt nemusí být kamerovým senzorem rozpoznán. To je často způsobeno změnou osvětlení poté, co byl kamerový senzor již Chcete-li tento problém vyřešit, možná budete muset vyladit svůj zrakový senzor.

Okno konfigurace Vision Sensor s rukou držící červenou kostku s překrytím přes kostku a textovým čtením Redbox a x84 y 28 pak w 158 h 166. Vpravo od Blueboxu, Redboxu a Greenboxu jsou barevné podpisy nastaveny posuvníkem zvýrazněným v červeném rámečku s voličem nastaveným na 4.4.

Otevřete dříve uložený příklad projektu Detekce objektů (Vision).

Jak vyladění kamerového senzoru ovlivní, jak dobře dokáže detekovat objekty? Vezměte Clawbota do jiné části místnosti s více či méně světlem.

V5 Clawbot na poli s rukou dole a drápem otevřeným kolem fialové krabice.

  • Stáhněte a spusťte projekt. Umístěte před kamerový senzor různé barevné předměty a sledujte chování robota. Dokumentujte ve svém technickém notebooku, jak dobře Vision Sensor detekuje objekty. Potřebuje kamerový senzor vyladit po změně umístění?
  • Vylaďte kamerový senzor podle potřeby. Vyzkoušejte kamerový senzor po jeho vyladění, abyste zjistili, zda dokáže lépe detekovat objekty a podle potřeby provést úpravy.

Ikona motivační diskuse Motivace Diskuse - Reflexe aktivity

Otázka: Detekoval vizuální senzor objekty podle vašich očekávání?
Odpověď: Odpovědi se budou lišit; cílem této otázky je však podpořit kognitivní myšlení. Studenti by si měli uvědomit, že schopnost vizuální sondy detekovat objekty se může měnit v závislosti na prostředí a světle.

Otázka: Proč je důležité umět ladit vizuální senzor podle potřeby?
Odpověď: I když se odpovědi mohou lišit, běžnou odpovědí by mělo být, že pokud robot používá vizuální senzor a je vezměn do soutěže nebo dokonce použit ve hře či výzvě, bude výkon robota záviset na přesnosti vizuální senzoru. Jeho ladění je důležité pro přesnost.

Ikona Rozšiřte si učení Rozšiřte si své učení - Více objektů

Požádejte studenty, aby spustili projekt Detekce objektů (Zrak) a umístili před kamerový senzor více než jeden z nakonfigurovaných objektů. Co se stane? Požádejte je, aby si svá zjištění zaznamenali do svého technického sešitu.
Nyní požádejte studenty, aby před kamerový senzor umístili jeden konfigurovaný objekt a jeden neznámý nebo nenakonfigurovaný objekt. Co se stane? Požádejte je, aby si svá zjištění zaznamenali do svého technického sešitu.

Před testováním se studentů zeptejte, co by se stalo, kdyby před kamerový senzor umístili tři konfigurované objekty? Požádejte studenty, aby si před otestováním své předpovědi zapsali. Požádejte je, aby po otestování zaznamenali svá pozorování.

Rozhraní nástroje Vision Sensor Utility zobrazující v okně vlevo dvě ruce držící zelený a červený rámeček. Každá barevná kostka má překryvnou vrstvu s daty. Vpravo jsou nastaveny signatury pro Bluebox, Redbox, Greenbox a Yellowbox.

Vedte diskusi o tom, co studenti předpověděli a pozorovali.

Usnadněte diskusi tím, že se zeptáte:

  • Jaké byly rozdíly mezi jedním, dvěma a třemi objekty?
  • Upravili byste nějakým způsobem projekt pro rozpoznávání více objektů?