Robotika - praktické příklady
Základní cvičení obsahující popis zapojení modelů, popis požadované funkconality modelů, videa zachycující práci modelů a postup tvorby programů pro jejich oživení.
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…
- Program se spustí stisknutím softwarového tlačítka.
- 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).
- Program bude v cyklu, aby se mohl opakovaně spouštět softwarovým tlačítkem.
- 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 |