17. Vyhledávání objektu

17.2. Vyhledávání objektu - řídící program

Nastavení Camera

Nejprve je nutné na záložce Camera nastavit, jaké oblasti a jakým způsobem má kamera vyhodnocovat. Využijeme elementy:

  • Exclude, pro vyloučení spodní části obrazu z vyhodnocování
  • Ball finder, pro vyhledávání objektu (míčku) v požadované části obrazu snímaného USB kamerou

Při jejich vytváření je vhodné zapnout si „Activate preview“, který usnadní výběr vhodných oblastí. V tomto případě jsem volil oblasti viz následující obrázek.


Obr. 1: Vyhledávání objektu - nastavení panelu Camera


Elementu Ball finder nastavíme Exclusion area, jinak jej necháme ve výchozím nastavení, viz obr. V případě potřeby, nebo špatné detekce objektu lze upravit chováním změnou parametrů. Popis parametrů viz Ball finder.


Obr. 2: Vyhledávání objektu - nastavení Ball finder


Vyhodnocení obrazu - pomocná část programu

V tomto případě si vytvoříme jednoduchý pomocný program, který nám bude vypisovat všechny zajímavé hodnoty z vyhodnocení obrazu USB kamerou a zobrazí nám i obraz, který kamera snímá. Pokud je stále aktivovaný stav „Activate preview“, tak se nám bude zobrazovat v programu místo černé plochy přímo obraz snímaný kamerou (aniž bychom náš program spustili).

Program se skládá pouze z elementů Camera input, které předávají hodnoty elementům Panel display a ten je zobrazuje elementem Text display. Navíc je přidán element Camera viewer, abychom viděli obraz snímaný kamerou.



Obr. 3: Vyhledávání objektu - pomocná část programu

Po spuštění tohoto programu a posunováním stojánku s míčkem před kamerou se nám zobrazují hodnoty odečítané naším pomocným programem.


Vyhledávání objektu - řídící program

Jak chceme, aby se model choval…

  1. Program se spustí stisknutím softwarového tlačítka.
  2. Při stisknutí softwarového tlačítka program vyhledá míček a upraví pozici kamery tak, aby byl míček přibližně ve středu snímaného prostoru (ve středu obrazu v rámci osy X).
  3. Program bude v cyklu, aby se mohl opakovaně spouštět softwarovým tlačítkem.
  4. Stanovíme si, že chceme objekt v rámci osy X vystředit do +- 3 bodů (přesnost je potřeba brát s rezervou, je ovlivněna vzdáleností od kamery, rozlišením kamery, kontrastem míčku proti pozadí, použitým elektromotorem,…). Proto souřadnice X zobrazovaná pomocí Text displeje nebude odpovídat hodnotám v intervalu (-3,3).

Řídící program pak může vypadat následovně:



Obr. 4: Vyhledávání objektu - řídící program


Řídící program včetně pomocné části programu můžeme mít dohromady, viz následující obr. To nám umožní kontrolovat si hodnoty získané z obrazu USB kamery, ale i samotný obraz snímaný kamerou.


Obr.5: Vyhledávání objektu - kompletní program včetně pomocné části programu


Přehled použitých elementů je v následující tabulce.

Tabulka 1: Vyhledávání objektu - přehled použitých elementů

Použitý element

Základní zobrazení elementu

Počet

Umístění elementu v nabídce

připojení na vstup (Input), výstup (Output/Motor)

Poznámka

Start

1x

Program elements – Basics elements

-

Paralelně běží 2 funkce

Motor output

3x

M1

-

Analog branch with data input

2x

Program elements – Branch, wait

-

-

Wait for…

3x

-

Čekání na splnění podmínky pro spuštění

navazující části programu

Text display

4x

Operating elements - Displays

-

-

Button

1x

Operating elements – Control elements

-

Pro spuštění

Panel display

4x

Program elements – Inputs, outputs

-

-

Panel Input

1x

-

-

Camera Input

4x

-

-

Logical operator (Less)

2x

Program elements - Operators

-

Jakýkoliv logický, nebo mat.  operátor

nastavený na „<“

Camera viewer

1x

Operating elements – Camera viewer

-

Zobrazení náhledu kamery

Constant

2x

Program elements – Variables, timers…

-

Pro nastavení přesnosti