11
Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno T: 541 146 120 IČ: 00216305, DIČ: CZ00216305 / www.feec.vutbr.cz/merkur / [email protected] 1 / 11 Merkur perFEKT Challenge Studijní materiály

Merkur perFEKT Challenge - FEKT VUT - Home · Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno T: 541 146 120 IČ: 00216305,

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Merkur perFEKT Challenge - FEKT VUT - Home · Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno T: 541 146 120 IČ: 00216305,

Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno

T: 541 146 120 IČ: 00216305, DIČ: CZ00216305 / www.feec.vutbr.cz/merkur / [email protected] 1 / 11

Merkur perFEKT Challenge

Studijní materiály

Page 2: Merkur perFEKT Challenge - FEKT VUT - Home · Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno T: 541 146 120 IČ: 00216305,

Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno

T: 541 146 120 IČ: 00216305, DIČ: CZ00216305 / www.feec.vutbr.cz/merkur / [email protected] 2 / 11

Název úlohy:

Pásovec řízený barevnými značkami na dráze

Anotace:

Úkolem týmu je nastudovat problematiku programování vývojového kitu Arduino včetně

přiložených komponent a sestavit ze stavebnice Merkur pohybujícího se robota, který

bude schopen projet dráhu s překážkami a barevnými značkami určenými k navigaci.

Garantující ústav:

Ústav telekomunikací

Laboratoř:

Technická 12, SC 5.53 (páté patro)

Page 3: Merkur perFEKT Challenge - FEKT VUT - Home · Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno T: 541 146 120 IČ: 00216305,

Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno

T: 541 146 120 IČ: 00216305, DIČ: CZ00216305 / www.feec.vutbr.cz/merkur / [email protected] 3 / 11

Zadání:

Úkolem týmu je sestavit model pásového vozidla (pásovce) se dvěma DC motory,

implementovat patřičné kódy do připravené elektroniky a pásovce rozhýbat. Pásovec bude

mít ve své přední části nainstalovaný detektor překážek a na spodní části podvozku detektor

barev s přisvícením. Při přiblížení se k překážce (zeď) na vzdálenost menší než 10 cm

zkontroluje zabarvení podlahy: V případě, že podlaha bude černá, otočí se o 90° doprava,

v případě, že podlaha bude bílá, otočí se o 90° doleva, v ostatních případech se otočí o

180°. Po otočení se pásovec opět rozjede.

Pro soutěžící bude sestavena krátká dráha testující funkčnost pásovce. Pořadí soutěžících

bude sestaveno na základě následujících kritérií:

1. Čas strávený na sestavení a zprovoznění robota.

2. Bezchybné projetí dráhy.

3. Čas potřebný k projetí dráhy.

Pro stavbu pásovce jsou k dispozici:

• MERKUR – Pásový podvozek 01,

• Crowduino UNO (Arduino UNO s čipem ATmega328P),

• LN298N – duální řadič DC motorů,

• TCS3200 – senzor pro rozpoznávání barev,

• HC-SR04 – ultrazvukový měřič vzdálenosti,

• baterie AA včetně držáku – 6x1,2V,

• nepájivé pole,

• kabeláž.

Page 4: Merkur perFEKT Challenge - FEKT VUT - Home · Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno T: 541 146 120 IČ: 00216305,

Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno

T: 541 146 120 IČ: 00216305, DIČ: CZ00216305 / www.feec.vutbr.cz/merkur / [email protected] 4 / 11

Teoretický rozbor úlohy:

V rámci řešení úlohy je nutné nastudovat problematiku práce s vývojovým kitem

Crowduino založeném na mikroprocesoru ATMega328. Crowduino má 13

vstupně/výstupních pinů, z toho je 6 s podporou PWM a 6 analogových vstupů

(http://goo.gl/79GN1C) - Obrázek 1.

Obrázek 1: Crowduino

Pro řízení obou motorů pásovce máte k dispozici duální řadič DC motorů L298N

(http://goo.gl/KvRsrB) viz Obrázek 2, pro rozpoznání barev použijte senzor TCS3200

(http://goo.gl/oKKhK3) viz Obrázek 3 a pro detekci překážky ultrazvukový měřič

vzdálenosti HC-SR04 (http://goo.gl/KPqVGd) viz Obrázek 4. Prostudujte technické detaily

jednotlivých komponent. Dále se seznamte se se základní teorií zejména o bitmapových

obrazech a barevných prostorech, tak abyste byli schopni implementovat veškeré funkce

pásovce. Pro implementaci řídicího kódu je doporučeno k některým funkcím použít externí

softwarové knihovny.

Page 5: Merkur perFEKT Challenge - FEKT VUT - Home · Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno T: 541 146 120 IČ: 00216305,

Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno

T: 541 146 120 IČ: 00216305, DIČ: CZ00216305 / www.feec.vutbr.cz/merkur / [email protected] 5 / 11

Obrázek 2: L298N

Obrázek 3:TCS 3200

Obrázek 4: HC-SR04

Základní informace o vývojovém kitu a stavbě pásovce:

Pro stavbu pásovce z Obrázek 5 použijte přiložený návod ke stavebnici MERKUR.

Obrázek 5: Mechanická konstrukce pásovce

Page 6: Merkur perFEKT Challenge - FEKT VUT - Home · Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno T: 541 146 120 IČ: 00216305,

Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno

T: 541 146 120 IČ: 00216305, DIČ: CZ00216305 / www.feec.vutbr.cz/merkur / [email protected] 6 / 11

Na pásovce vhodně umístěte komponenty pro řízení pásovce. Pozornost věnujte zejména

umístění ultrazvukového měřiče vzdálenosti HC-SR04 (na přední část pásovce) a

umístění senzoru pro rozpoznávání barev TCS3200 (na spodní část pásovce). Před

usazením těchto čipů je vhodné nejprve otestovat jejich zapojení a správnou funkci.

Pro vývoj řídicího software je vhodné použít vývojové prostředí Arduino, které umožňuje

jak psaní, tak i nahrávání hotových programů do mikroprocesoru. Vývojové prostředí je

připravené k použití na pracovním počítači.

Pro konfiguraci vývojového kitu Crowduino jej připojte přiloženým USB kabelem k PC. Ve

vývojovém prostředí je nutné nastavit používaný kit Tools-Board-Arduino Duemilanove

w/ATmega328. Pod hlavním menu vývojového prostředí je několik ikon urychlující práci,

první zleva - ikona s fajfkou – Verify spouští kontrolu kódu. Chyba v syntaxi je po

provedené kontrole vždy zvýrazněna. Druhá ikona zleva s šipkou doprava – Upload

spouští kontrolu programu a v případě bezchybného kódu nahraje program do připojeného

kitu. Další ikona se symbolem přeložené stránky – New vytváří nový soubor. Poslední 2

tlačítka s šipkami nahoru (Open) / dolů (Save) otevře nabídku pro otevření programů /

uloží současný program. Ve stejném řádku nalezneme úplně vpravo ještě ikonu s lupou –

Serial Monitor. Bílý prostor je určen pro psaní kódu, černý prostor ve spodní části

zobrazuje informační a chybové výpisy z běhu prostředí.

Pro programování Arduina se nejčastěji používá jazyk C/C++ a speciálně vytvořená

knihovna Wiring (http://goo.gl/KPqVGd).

Digitální obraz (snímek) – základní pojmy

Digitální obraz reprezentuje obrazové informace v digitální podobě. Může být vyjádřen buď

vektorovou, nebo bitmapovou (rastrovou) grafikou.

Page 7: Merkur perFEKT Challenge - FEKT VUT - Home · Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno T: 541 146 120 IČ: 00216305,

Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno

T: 541 146 120 IČ: 00216305, DIČ: CZ00216305 / www.feec.vutbr.cz/merkur / [email protected] 7 / 11

Vektorová grafika

Vektorový obraz je složen ze základních geometrických tvarů, mezi něž patří body, křivky,

přímky a mnohoúhelníky. Základní geometrické tvary v obrazu mohou a nemusí mít

definovanou výplň. Vektorový obraz je tedy složen z křivek spojujících tzv. kotevní body

(Beziérovy křivky). Beziérova křivka je vždy popsána pomocí 4 bodů:

• dva krajní body = kotevní body,

• dva kontrolní body = body určující tvar křivky.

Vektorová grafika se uplatňuje v počítačové sazbě, při tvorbě počítačových animací,

ilustrací apod. Mezi nejznámější formáty vektorové grafiky patří PostScript (.eps, .ps),

Portable Document Format (.pdf), Corel Draw (.cdr).

Výhody a nevýhody vektorové grafiky

Výhody a nevýhody vektorové grafiky lze shrnout do následujících bodů:

• + Paměťová náročnost obrazu je oproti obrazu v bitmapové grafice menší.

• + Každý objekt v obrazu lze zpracovávat samostatně.

• + Při zvětšování a zmenšování obrazu nedochází ke ztrátě kvality.

• – Při větší složitosti objektu je vektorový obraz náročnější na operační paměť a

procesor.

• – Pořízení obrazu je složité, nelze použít fotoaparát, videokamera, skener ani jiná

podobná zařízení.

Bitmapová grafika

Obraz v bitmapové grafice, jinak zvané rastrové grafice, je složen z barevných bodů

(pixelů). Tyto body jsou uspořádány do mřížky, kdy každý bod má svou polohu a hodnotu

v daném barevném modelu (RGB, YCbCr, ...). Mezi nejznámější formáty bitmapové

grafiky patří Windows Bitmap (.bmp), Portable Network Graphic (.png), Tagged Image File

Page 8: Merkur perFEKT Challenge - FEKT VUT - Home · Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno T: 541 146 120 IČ: 00216305,

Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno

T: 541 146 120 IČ: 00216305, DIČ: CZ00216305 / www.feec.vutbr.cz/merkur / [email protected] 8 / 11

Format (.tiff), Joint Photographic Experts Group (.jpg, jpeg), Graphics Interchange Format

(.gif).

Výhody a nevýhody bitmapové grafiky můžeme shrnout do následujících bodů:

• + Pořízení obrazu je velmi snadné, lze použít fotoaparát, videokamera, skener a

jiná podobná zařízení.

• – Při zvětšování a zmenšování obrazu dochází ke zhoršení kvality.

• – Náročný na operační paměť a procesor v případě vysokého rozlišení.

Digitální obraz je u bitmapové grafiky charakterizován jasem, barevnou hloubkou,

rozlišením, kontrastem, dynamickým rozsahem a barevným modelem.

Jas a bitová hloubka obrazu

Jas je pro každý pixel definován jako jeho svítivost. Černá barva má hodnotu svítivosti

obvykle nula, bílá barva má hodnotu svítivosti definovanou nejvyšším možným číslem (v

případě reprezentace 8 bity je to 255). Maximální hodnota jasu udává schopnost dané

reprezentace obrazu rozlišit různé úrovně jasu = bitová hloubka obrazu. Jednotka pro

bitovou hloubku obrazu je bpp (Bits per Pixel). Běžně používané bitové hloubky jsou v

tabulce 1.

Rozlišení obrazu

Rozlišení se dělí na prostorové rozlišení a jasové rozlišení:

• Prostorové rozlišení udává šířku a výšku obrazu, například 640x480 pix, 1280x720

pix apod. Často se také vyjadřuje v jednotce MegaPixel (MP, Mpx). Megapixel

značí jeden milion pixelů. Tato jednotka se používá u digitálních kamer a

fotoaparátů. Jako příklad uvedeme digitální senzor fotoaparátu se schopností

zachytit obraz v prostorovém rozlišení 1280x1024 pix – jeho rozlišovací schopnost

v Mpx je 1 310 720 pixelů = 1,31 Mpx.

Page 9: Merkur perFEKT Challenge - FEKT VUT - Home · Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno T: 541 146 120 IČ: 00216305,

Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno

T: 541 146 120 IČ: 00216305, DIČ: CZ00216305 / www.feec.vutbr.cz/merkur / [email protected] 9 / 11

• Jasové rozlišení udává, kolik pixelů odpovídá šířce jednoho palce (2,54 cm) –

jednotka DPI (Dots per Inch).

Tabulka 1: Běžně používané bitové hloubky bitmapového obrazu

Kontrast a dynamický rozsah obrazu

Kontrast digitálního obrazu je úzce spjat s fyziologií lidského zrakového systému. Kontrast

digitálního obrazu kvantifikuje rozdíl nebo podíl jasu mezi nejsvětlejšími a nejtmavšími

oblastmi. Podíl hodnot nejvyššího a nejnižšího jasu se nazývá dynamický rozsah. Vzhledem

k tomu, že podíl může kolísat ve značném rozsahu, obvykle se udává jeho dekadický

logaritmus.

Barevné modely - barevný obraz

Pro barevné obrazy existuje řada barevných modelů obsahujících komponenty pro popis

barev. Mísením barev jakéhokoli barevného modelu vznikne barva výsledná. Nejčastěji

používané barevné modely jsou 𝑅𝐺𝐵, 𝐶𝑀𝑌𝐾, 𝐻𝑆𝑉, 𝑌𝑈𝑉, 𝑌𝐶𝑏𝐶𝑟. Při kompresích se

Page 10: Merkur perFEKT Challenge - FEKT VUT - Home · Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno T: 541 146 120 IČ: 00216305,

Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno

T: 541 146 120 IČ: 00216305, DIČ: CZ00216305 / www.feec.vutbr.cz/merkur / [email protected] 10 / 11

využívají zejména modely 𝑅𝐺𝐵, 𝑌𝑈𝑉, 𝑌𝐶𝑏𝐶𝑟. Sensor pro snímání barvy TCS3200 využívá

barevný model RGB.

Barevný model 𝑅𝐺𝐵

Barevný model 𝑅𝐺𝐵 využívá aditivní míchání barev, konkrétně červené 𝑅(𝑅𝑒𝑑), zelené

𝐺(𝐺𝑟𝑒𝑒𝑛) a modré 𝐵(𝐵𝑙𝑢𝑒). Aditivní míchání znamená, že sečtením jednotlivých barevných

složek vznikne výsledná barva. Barevný model 𝑅𝐺𝐵 lze vyjádřit krychlí - viz Obrázek 6.

Osy krychle (𝑥, 𝑦, 𝑧) představují modré, červené a zelené světlo. Barevný model 𝑅𝐺𝐵 se

používá při zobrazování barev na monitorech a různých displejích. Variantou model 𝑅𝐺𝐵

je model 𝐴𝑅𝐺𝐵, kde je ke třem základním barvám přidán tzv. alfa kanál označující

průhlednost snímku.

Obrázek 6: Barevný model RGB

Využití modelu RGB pro pásovce

Jak je patrné z Obrázek 6, černá barva je v RGB modelu tehdy, kdy všechny tři základní

barvy mají hodnotu 0, naopak při bílé barvě mají tři základní barvu maximální hodnotu, což

je při osmibitovém vyjádření 255.

Page 11: Merkur perFEKT Challenge - FEKT VUT - Home · Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno T: 541 146 120 IČ: 00216305,

Fakulta elektrotechniky a komunikačních technologií VUT v Brně / Technická 3058/10 / 616 00 / Brno

T: 541 146 120 IČ: 00216305, DIČ: CZ00216305 / www.feec.vutbr.cz/merkur / [email protected] 11 / 11

Vzhledem k tomu, že při odečtu barvy ze senzoru nelze počítat s absolutní přesností jak

senzoru, tak barvy umístěné na podlaze, je nutné nastavit určité rozpětí barev. Vzhledem

k tomu, že budeme rozeznávat pouze barvy bílá a černá, budeme se pohybovat na

stupnici šedé, což je podle Obrázek 6 tělesová úhlopříčka krychle. Na této úhlopříčce jsou

hodnoty barev R, G, B vždy shodné. Zvolte tedy vhodné rozsahy tak, abyste nepřesnost

odečtu potlačili.

Partneři soutěže