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
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)
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áž.
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.
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
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.
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
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.
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
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.
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