Projekt Robotika. FofrKara. Autonomní robot jezdící po čáře. Bc. Peňáz Ondřej. Bc. Labudek Daniel. Bc. Sedlo Petr. Bc.

Podobné dokumenty
9. Robot pro Robotický den 2012

ÚKOLOVÝ LIST. Aktivita projektu Obloha na dlani - Laboratoř vědomostí ROBOT NA PÁSOVÉM PODVOZKU

ve spolupráci KTIV PdF UP porádá

Zápočtový projekt předmětu Robotizace a řízení procesů

Metodické pokyny k materiálu č. 35 Mobilní robot III - Závodní auto (STAVBA)

Sprinter Wireless TX-01 V3

Popis vývodů desek, jejich zapojování a spárování robota

Základní společná pravidla pro všechny soutěže

Metodické pokyny k materiálu č. 39 Mobilní robot III - Závodní auto - Dálkové ovládání 1 (PROGRAM 1)

NÁVOD K POUŽÍVÁNÍ. Řídící jednotka bazénového zakrytí LUMA

NÁVOD K POUŽÍVÁNÍ Řídící jednotka bazénového zakrytí

Robotický LEGO seminář na FEL ČVUT v Praze

Vás zvou na 11. ročník soutěže

Merkur perfekt Challenge Studijní materiály

METODICKÝ LIST. Výklad: Seznámení se se stavebnicí, ukázky jiných projektů a možností stavebnice

Jízda po čáře pro reklamní robot

4x vstup pro měření unifikovaného signálu 0 10 V, 0 20 ma, 4 20 ma. komunikace linkami RS232 nebo RS485

METODICKÝ LIST 1. Název výukové aktivity (tématu): 2. Jméno autora: Ing. Petr Hořejší, Ph.D., Ing. Jana Hořejší 3. Anotace:

AD4RS. měřící převodník. 4x vstup pro měření unifikovaného signálu 0 10 V, 0 20 ma, 4 20 ma. komunikace linkami RS232 nebo RS485

ROTÁTOR ANTÉNY. Ci PŘEDPIS PRO SPRÁVNÉ POUŽITÍ. Základní údaje.

METODICKÝ LIST K TECHNICKÉMU KROUŽKU:

Metodické pokyny k materiálu č. 41 Mobilní robot III - Závodní auto - Dálkové ovládání 2 (STAVBA)

Digitální sekvenční indikátor přeřazení (Shift Light)

BASPELIN MRP Popis obsluhy indikační a řídicí jednotky MRP T2

ESII Roletová jednotka

FREESCALE TECHNOLOGY APPLICATION

Informace o přístroji UH28C VN zdroj

OVLÁDÁNÍ PÁSOVÉ DOPRAVY

REG10 návod k instalaci a použití 2.část Univerzální časovač a čítač AVC/ 02

Programovatelné relé Easy (Moeller), Logo (Siemens)

METODICKÝ LIST K TECHNICKÉMU KROUŽKU:

Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování

DUM č. 13 v sadě. 29. Inf-5 RoboLab a Lego Mindstorms

Sekvenční shift light SL-06. verze fw 1.1

Střední průmyslová škola, Ústí nad Labem, Resslova 5, příspěvková organizace

METODICKÝ LIST K TECHNICKÉMU KROUŽKU:

OPERACE PROVÁDĚNÉ PŘI POPRODEJNÍM SERVISU : VNĚJŠÍ OSVĚTLENÍ - SIGNALIZACE

Programovatelná řídící jednotka REG10. návod k instalaci a použití 2.část Program RS03-02 regulátor pro řízení servopohonů

Programovatelná řídící jednotka REG10. návod k instalaci a použití 2.část. Řídící jednotka regulace podtlaku TPR

Prostředky automatického řízení Úloha č.5 Zapojení PLC do hvězdy

KÓD TYP NAPÁJENÍ TCW01B IVAR.MAGICTIME PLUS 2 x 1,5 V AA

Čtyřnohý kráčející robot

Bezdrátová komunikační brána (RS485 Gateway)

LEGO Mindstorms Education NXT. Projekt Lego ve výuce informatiky a fyziky. Robotika 1. Mgr. Radoslav Jirásek RNDr. Jitka Jirásková Mgr.

Charakteristika základních konstruktů robota. Popis ovládacího prostředí robota.

SEP2 Sensor processor. Technická dokumentace

SORKE TPC SALDA. Dotykový programovatelný ovladač. Příručka pro uživatele TPC

Climbing Robot. Václav Michal. SŠ AGC a.s Rooseveltovo nám. 5, Teplice

Programovatelná řídící jednotka REG10. návod k instalaci a použití 2.část. Řídící jednotka výroby pečiva ERP2

Systém řízení Autoklávu

REG10. návod k instalaci a použití 2.část

Řídící jednotka LOGO 24RC

VŠESMĚROVÉ LED SVĚTLO S REPRODUKTOREM BLUETOOTH

Robot BBC Micro:bit kódovaní v PXT Editoru

1) Výrobek: TÝDENNÍ PROSTOROVÝ TERMOSTAT - bezdrátový

Odometrie s řízením rychlosti motorů pomocí PWM. Vzorce pro výpočet konstanty nastavení duty pro instrukci pwmout

Systém řízení Autoklávu s PLC AMIT

NÁVOD K OBSLUZE ENLINK 2RS PLUS

Projekt BROB B13. Jízda po čáře pro reklamní robot. Vedoucí projektu: Ing. Tomáš Florián

ROBOTICKÝ POPELÁŘ. Jan Dimitrov, Tomáš Kestřánek. VOŠ a SPŠE Františka Křižíka Na Příkopě 16, Praha 1

STÍNÍCÍ TECHNIKA BUDOUCNOSTI

NÁVOD K INSTALACI A POUŽITÍ

SEMINÁŘ ROBOTIKA. LEGO Roboti a jejich programování (teoretická a praktická část) Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond

TR T0 T1 T0 T1 REŽIM SP1 A B REGULÁTOR TEPLOTY REGULÁTOR TEPLOTY DRT23. verze 12. 3sSTISK

Studentská tvůrčí a odborná činnost STOČ 2015

1.2 Vzhled a rozměry Materiály a rozměry plášť je vyroben z PC (polykarbonát). Rozhraní z tekutých krystalů je vyrobeno z tvrzeného akrylu.

SAT-Finder plus SF 9000

2) Nulový bod stroje používáme k: a) Kalibraci stroje b) Výchozímu bodu vztažného systému c) Určení korekcí nástroje

DSE6120 MKII OVLÁDACÍ PANELY PRO AUTOMATICKÝ START

Sekvenční shift light SL-06. verze fw 1.3

Pavel Koupý. Anti-crash robot

Funkce jednotlivých tlačítek se mohou měnit podle toho, na jaké úrovni menu se právě nacházíte; vysvětlení viz následující tabulka.

TPMS kontrola tlaku v pneumatice s výstupem na monitor. tpms-k6

Bezdrátový přenos signálu v reálné aplikaci na letadle.

Název: Dráha a rychlost pohybu robota I. Tematický celek: Pohyb těles

IR-MONITOR návod k obsluze

Programovatelná řídící jednotka REG10. návod k instalaci a použití 2.část Program pro regulaci kaskády čerpadel v závislosti na tlaku SGC3

Digitální indikátor přeřazení

11.26 Přijímač CENTRALIS RTS PR/PF

Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů. Zdeněk Oborný

HRACÍ ROBOT VE VÝUCE HUDEBNÍ VÝCHOVY

11.27 Centralis Uno RTS

Robotická ruka. Lukáš Fotr a Jaroslav Karban. Integrovaná střední škola, 2. ročník Kumburská 846, Nová Paka

Obrázek 2: Experimentální zařízení pro E-I. [1] Dřevěná základna [11] Plastové kolíčky [2] Laser s podstavcem a držákem [12] Kulaté černé nálepky [3]

Návod na montáž a údržbu regulátoru ZR11

Soutěž vozů 4X4 v OFFROAD trialu

POPIS STROJE S500 CNC

HOME CONTROL HC-PH-TS20 SET4 HC-PH-HD01 SET4

KINEMATIKA HMOTNÉHO BODU. Mgr. Jan Ptáčník - GJVJ - Fyzika - Mechanika - 1. ročník

Střední průmyslová škola, Ústí nad Labem, Resslova 5, příspěvková organizace

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

TW15 KONCOVÝ PRVEK MSKP. Popis výrobku Technická data Návod k obsluze. Technologie 2000 s.r.o., Jablonec nad Nisou

Merkur perfekt Challenge Studijní materiály

Robot Lego Mindstorms NXT doplněný o kamerku a software v jazyce C#

EL4. Použití. Vlastnosti HC /2004. Digitální zesilovače pro proporcionální ventily a uzavřené regulační systémy. Nahrazuje HC /2000

ZAŘÍZENÍ PRO MĚŘENÍ DÉLKY

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ MEIV Souborná činnost na složitých elektronických zařízeních zaměřená na servisní a profesní působení studenta

Logické řízení s logickým modulem LOGO!

Uživatelský Návod HUD 01

D/A převodník se dvěma napěťovými nebo proudovými výstupy. (0 10 V, 0 5 V, ±10 V, ±5 V, 4 20 ma, 0 20 ma, 0 24 ma)

Transkript:

Projekt Robotika FofrKara Autonomní robot jezdící po čáře Bc. Peňáz Ondřej Bc. Labudek Daniel Bc. Sedlo Petr Bc. Švestka Jiří Bc. Ferjančič Michal Bc. Střižík Jakub

Zadání Robot pro Robotický den 2012 Sestavte tým, jehož úkolem bude zúčastnit se Robotického dne 2012 v některé z uvedených soutěží (viz. www.robotickyden.cz). Soutěž se koná 28.4.2012 v Praze. Nastudujte pravidla soutěže a navrhněte a postavte robota do sotěže. Robot může být realizován např. za pomoci stavebnice LEGO Mindstorms. Vybraná kategorie byla Line Follower Standard. Úkolem robota v této kategorii je sledovat černou čáru a projet po ní trať v co nejkratším čase. Přesná pravidla soutěže jsou: Robot po odstartování projede trať vyznačenou černou čarou. Výsledné pořadí robotů je dáno časem, který robot pro jízdu spotřeboval. Čas se měří od signálu rozhodčího ke startu do okamžiku, kdy přední část robota překročí cílovou čáru. Pokud by doba přesahovala 3 minuty, rozhodčí jízdu ukončí. Při startu musí být robot plně za startovní čárou. Robot, který ztratí sledovanou čáru, musí obnovit kontakt v bodě, kde ho ztratil nebo v některém místě blíže ke startu. Pro určení pořadí v první části soutěže se použije nejlepší výsledek ze všech jízd robota. Ve druhé části soutěže jsou vedeny jízdy vyřazovacím způsobem. Robot nesmí být nebezpečný nebo nadmíru obtěžující. Robot je autonomní a při závodě včetně startu není povoleno žádné jeho spojení s externími zařízeními. Od okamžiku, kdy soutěžící robota odstartuje, se jej nikdo nesmí dotýkat ani jakkoli zasahovat do jeho činnosti a to až do té doby, kdy to rozhodčí opět povolí. Maximální rozměry robota jsou 32(š)x32(v) cm, délka není stanovena. Ke stavbě robota je možné použít libovolné konstrukční díly. Plocha hřiště je bílá. Čára je černá o šířce cca 1,5 cm. Čára neprotíná sama sebe (nemá křižovatky). Startovní a cílová čára jsou vyznačeny dvěma kolmými značkami ve vzdálenosti 5 cm od čáry. Minimální vzdálenost čáry od okraje hřiště je 15 cm, minimální poloměr zatáčky je 10 cm. Robot, který překročí okraj hřiště, bude diskvalifikován. Za překročení okraje se považuje situace, kdy kterékoliv kolo, pás nebo noha robota zasahuje celá mimo hřiště. Obrázek 1: Označení startu a cíle tratě

Konstrukce robota Robot je složen z německé stavebnice FischerTechnik zapujčené od organizace Centrum AMAVET. Tato stavebnice se skládá z různých druhů plastových prvků. Umožňuje konstrukci převodů, pohybových částí a mnohé další. Samožřejmostí je i možnost využití elektroniky jako je programovatelný interface, motory, žárovky, různá čidla a spínače. Důvodem výbětu této stavebnice je její určení pro konstrukci robotu a pro nás nulová cena. Použité konstrukční prvky: Nejdůležitějším prvkem robota je interface ROBO TX Controller, který obsahuje 32-bit 200 MHz procesor ARM 9. Tento procesor má vnitřní paměť 8MB RAM a 2MB flash. Na tomto interface je 8 universálních vstupů (digitální, analogové 0-9 V DC, analogové 0-5 kω a výstupy), 4 digitální čitače (max frekvence 1kHz), 4 výstupy pro motory 9V DC, 250 ma (alternativně 8 samostatných výstupů). Obsahuje sběrnice I2C a RS 485 pro propojení s dalším interfacem. K zobrazení může být využit displej 128x64 pixelů. Pro komunikaci s PC je využit mini-usb port. Ke komunikaci je také možné využít bezdrátové technologie Bluetooth. Napájení interface je 9V DC. Obrázek 2: Interface ROBO TX Controller Obrázek 3: Napájecí baterie robota Dalším důležitým prvkem jsou 2 motory na 9V DC. Každé kolo (levé, pravé) je ovládáno jedním motorem. Jedno kolo je na motor napojeno přímo, druhé přes ozubená kola (převod 1:1), protože druhý motor je umístěn vzadu. Ukázku lze najít na Obrázku 4. Posledním důležitým prvkem jsou infračervená čidla, která jsou po dvojicích namontována v černé krabičce. Vzájemná vzdálenost těchto 2 čidel je 1cm, což je ideální vzhledem k tloušťce soutěžní čáry (1,5 cm). K těmto čidlům je nutné připojit napájení (opět 9V DC) a výstupy z čidel jsou napěťové digitální. Tyto čidla jsme použili 4 a jsou součástí stavebnice. Dále konstrukce obsahuje tlačítko, které je využito pro ukončení běhu programu a žárovku

pro indikaci chyby programu. Samozřejmostí je použití baterie pro napájení robota. Kapacita baterie je 1500 mah, napětí 8,4 V. Baterie je typu Ni-MH. U robota jsme zvolili diferenciální podvozek z důvodu jednoduchého řízení a konstrukce. Robot je zobrazen na Obrázek 4. Při konstrukci robota jsme se snažili dosáhnout co nejmenších rozměrů, které nám dovolila robustní a jednoduchá konstrukce z daných dílů. Dále jsme volili rozmístění poháněných kol co nejvíce dopředu kvůli dobré manévrovatelnosti a posunutému těžišti těsně za osu otáčení. Polohu těžiště jsme se snažili mít co nejblíže k ose otáčení, avšak tak aby se robot nepřeklápěl dopředu. Tato poloha těžiště snižuje setrvačnost robota při změně pohybu. Pro ovládání pohybu robota jsou použity dva stejnosměrně napájené motory. Pohled na motory a připojení kol lze vidět na Obrázek 14. Regulace probíhá přes softwarovou PWM regulaci, která je zahrnuta ve firmware interface. Obrázek 4: Pohled na robota zepředu

Vytyčení cílů projektu na základě stanovených kritérií a poskytnutého vybavení Robot je autonomní a pří jízdě není nikterak navigován z vnějšího okolí, veškerou činnost obslouží předem nahraný program. Koncept jízdy robota Robot musí být naprogramovaný tak, aby projel celý okruh jen jednou. Trajektorie je tvořena nepředvídatelnými zatáčkami o různém radiálu a rovnými úseky. Při zahájení jízdy musí robot projet startovací čárou tvořenou dvěma kolmými značkami podle obrázku 1 a dále pokračovat sledováním čáry trajektorie bez jakýchkoli dalších černých okolních značek až do cíle. Poloha i označení cíle a startu jsou shodné. V cíli robot zastaví, proto jeho uspořádání musí obsahovat prvek (čidlo), které zaregistruje značení cíle nejméně ve vzdálenosti 5cm od čáry podle Obrázek 1. Robot má trať projet za co nejkratší dobu, proto bude měnit svoji rychlost podle ostrosti zatáčky. Nastavení robota bude dáno kompromisem mezi rychlostí jízdy a spolehlivostí. Důležitým faktorem pro dosažení dobrého času bude schopnost robota rychle srovnat svou osu s pozicí čáry, a tím přizpůsobit styl jízdy aktuálnímu charakteru tratě. Získávání informací o chování tratě Robot na svém podvozku obsahuje 8 čidel rozeznávajících černou a bílou barvu. Čtyři čidla se nachází v blízkosti osy robota pár předních a zadních čidel. Přední pár tedy poslouží k indikaci mírného odklonění od čáry, zadní pár výraznějšího odklonu. Pro požadavek zastavení v cíli využijeme levého a pravého páru krajních čidel (postačí 1 čidlo z levého i pravého páru). Přesné rozmístění čidel vidíme na Obrázek 14 spodní strany robota. V dokumentaci si ale vystačíme se schematickým znázorněním čidelvůči průběhu trajektorie. Obrázek 5: Schámatické znázornění čidel Pohybové možnosti robota Robot je opatřen dvěma motory pro levé a pravé kolo. Každý z motorů umožňuje i zpětný chod (couvání kola). Rychlost otáčení motoru se softwarově nastaví hodnotou konstanty, maximální rychlost odpovídá konstantě 512. Manévry robota budou realizovány různou rychlostí pohybu levého kola vůči pravému, případně i couváním. Na základě aktuálních informací o poloze trajektorie bude implementovaný algoritmus vybírat z množiny stavů, které budou odpovídat nastavení každého z motorů pro aktuální požadovaný pohyb robota.

Diagram a jeho popis pro implementovaný algoritmus jízdy A. Diagram podmínek programu při jízdě robota Obrázek 6: Diagram implenetovaného algoritmu - 1.část

Obrázek 7: Diagram implementovaného algoritmu - 2.část

B. Popis provádění programu v souvislosti s diagramem: Výchozí a koncový stav diagramu Po zapnutí robota se v nekonečné smyčce provádí vnitřní algoritmus podle výše uvedeného diagramu. Místo začátku algoritmu je v diagramu označeno jako START a algoritmus končí v některém stavu nastavení rychlosti a směru otáčení levého a pravého motoru, což je znázorněno pomocí šipek, případně na místě UKONČENÍ PROGRAMU. Například Obrázek 8 vyjadřuje, že pravé kolo se bude otáčet maximální nastavenou rychlostí, zatímco levé bude nižší nastavenou rychlostí couvat. Po nastavení motorů se ukončí právě prováděná iterace programu (další začne opět v místě START ). UKONČENÍ PROGRAMU znamená, že se robot vypne a celý program ukončí. Obrázek 8: Nastavení motorů Dílčí části programu Shrnutí základních částí programu 1. Test na ukončení jízdy 1.1 Vypnutí robota stiskem tlačítka 1.2 Zastavení po příjezdu do cíle 2. Režim startu inicializace automatického řízení 3. Běžný režim 3.1 Vyhodnocení polohy a průběhu trajektorie 3.2 Určení směru a rychlosti jízdy Rozbor jednotlivých částí 1. Test na ukončení jízdy Tento test na ukončení programu je úvodní součástí programu (první červený rámeček, nemáme na mysli samotný text programovacího jazyku algoritmu). Celý test na ukončení programu lze shrnout do 2 bodů: 1.1 Vypnutí robota stiskem tlačítka Požadavek na vypnutí robota po stisku tlačítka je vyhodnocen v první podmínce programu. Je-li podmínka vyhodnocena kladně, je robot uveden do výchozího nastavení pro nový závod (režim STARTu). Dopředná inicializace nové jízdy přepnutí do režimu startu proběhne ještě před samotným ukončením programu. Následně se program ukončí a motory zastaví.

1.2 Příjezd do cíle a) Popis problému Z praktického hlediska robot za příjezd do cíle považuje okamžik, kdy po tom, co projel startovací čárou, jeho senzory indikují cílovou čáru. To znamená, že cílovou čáru může indikovat až poté, co již vyhodnocoval směr trajektorie. Důvodem je fakt, že trať má tvar okruhu, a proto je startovní i cílová čára totožná. Po dojetí se robot opět přepne do výchozího nastavení, zastaví a ukončí se program. b) Realizace pomocí softwaru Vnitřní implementace této situace dle diagramu na obrázku potom vypadá následovně. V případě, že k ručnímu vypnutí nedošlo, vyhodnocují se zároveň 2 podmínky. První podmínkou je indikace konce tratě čidly, tzn. že alespoň 1 vnitřní a alespoň 1 krajní čidlo robota se nachází nad čarou. Při ideálním sledování trajektorie by čáru ale mělo snímat všech 6 čidel, oba stavy schematicky znázorňují níže uvedené obrázky. Obrázek 9: Příjezd do cíle - a) alespoň 1 vnitřní + krajní, b) ideální příjezd Současně musí být splněna i druhá podmínka, a to, že program provádí vnitřní část realizující běžný režim práce robota, viz 3. část diagramu. Tím zabezpečíme, že čidla nemohou mylně indikovat najetí do cíle, jak tomu je při inicializaci jízdy. Pakliže jsou obě tyto podmínky splněny, projel robot právě cílovou čárou a zastaví. Proto je opět (jako při manuálním vypnutí) uveden do výchozího stavu pro zahájení nového závodu. V opačném případě přejde vykonávání programu do další fáze dle diagramu. 2. Start Po započetí jízdy a vyhodnocení podmínek pro eventuelní vypnutí, program setrvává v cyklu Start po dobu určenou konstantou (100 cyklů programu, který trvá 1ms). Robot jede stále rovně s nejvyšší nastavenou rychlostí. Nereaguje na charakter tratě a projede startovní čárou. Při pokládání robota je nutné dbát na to, aby se po uplynutí této doby jednak dostal za startovní čáru a jednak svými čidly nalezl sledovanou trajektorii. Předpokládáme, že robot bude zapnut bezprostředně před startovní čárou a pro velmi krátkou startovní dobu přímé jízdy se robot od správného směru téměř neodchýlí. Výše uvedený diagram lze pouze pro tuto část programu zjednodušit na diagram režimu startu podle Obrázek 10.

Obrázek 10: Diagram režimu start 3. Klasická jízda Stěžejní je poslední část procedury, protože je v ní implementován algoritmus stylu jízdy. Reakce robota se určí na základě informací o poloze černé čáry a bílého pozadí vůči robotovi a jeho natočení. Program rozhoduje o nastavení pravého i levého motoru podle očekávaných možností průběhu trajektorie v oblasti dané rozmístěním senzorů při jízdě po souvislé čáře. V případě, že by výstupem snímačů byly jakékoli jiné neobvyklé informace o požadovaném směru jízdy, je robot defaultně uveden do stavu přímé jízdy. Postupně je vyhodnoceno 7 pravděpodobných situací, do kterých se robot může dostat. 1) Přímý směr pohybu Všechna čtyři vnitřní čidla se nachází nad čarou a krajní nad pozadím. Levý i pravý motor se otáčí stejnou rychlostí. Rychlost je pro bezproblémovou dráhu volena na maximální hodnotu.

2) Mírná zatáčka vlevo Stav, kdy 2 levá vnitřní čidla nebo 2 levá vnitřní čidla a pravé vnitřní zadní čidlo indikují čáru a ostatní čidla pozadí předpokládá, že se robot pohybuje v mírné levotočivé zatáčce. Pravý motor se točí nejvyšší nastavenou rychlostí, levý se otáči pomaleji. Dojde ke zpomalení jízdy robota. Tento stav je v diagramu vyjádřen sloučením dvou obrázků v jeden. Obrázek 11: Indikace mírné zatácky vlevo 3) Ostrá zatáčka vlevo Robot vykoná ostrou levotočivou zatáčku, nachází-li se na čáře pouze levé zadní vnitřní čidlo. Pravý motor se otáčí maximální nastavenou rychlostí, levý motor stojí. Účelem je návrat zpět na čáru. Obrázek 12: Indikace ostré zatáčky vlevo 4) Návrat na trajektorii vlevo Pokud se robot pomocí předchozích podmínek nedokáže udržet na čáře a opustí ji, má tento stav jako poslední záchranný mechanismus za úkol vyrovnat polohu a natočení robota. Čáru snímá pouze jedno krajní čidlo (zde levé). Robot nevykoná žádný postup vpřed, jen srovná svoji osu s osou trajektorie manévrem, který jej zároveň posune blíž čáře. Pravý motor se otáčí nejvyšší nastavenou rychlostí vpřed a levý při nízkých otáčkách couvá. Obrázek 13: Indikace vyjetí z trajektorie směrem doprava 5. až 7. stav by potom analogicky odpovídal bodům 2) až 4) pro otáčení směrem doprava. Informace o poloze na podložce by přicházely z příslušných čidel na opačné straně podle osy robota a nastavení motorů by bylo obrácené.

Poznámky na závěr: V místech, kde se zakřivená trajektorie napřimuje, přechází robot samovolně ze stavů prudkých zatáček až po přímočarý pohyb. V algoritmu je též implementovaný i 8. stav pro nastavení rychlosti motorů, který souvisí s nedefinovaným směrem jízdy. Do tohoto stavu by se při správné funkčnosti programu nemělo v žádném případě vstoupit není zahrnut v diagramu (mezi stavy určení směru a rychlosti jízdy). Odpověď na 8. stav je zastavení motorů a rozsvícení žárovky, signalizace chyby. Aktuální nastavení robota Startovní režim Dobu jeho trvání udává konstanta cyklu (počet kroků), která je nyní nastavena na hodnotu 100. To znamená, že je robota potřeba pustit maximálně asi 3,5cm před hranicí čáry startu (s čárou startu a vzdáleností čelní kostky robota od krajních čidel pak celá vzdálenost, kterou urazí rovně, odpovídá 12cm tedy celková vzdálenost, co jede neřízeně vpřed). Vzdáleností 3,5cm rozumíme vzdálenost mezi hranicí startovní čáry a čelní součástky robota. Čas pro jízdu vpřed jsme určili experimentálně. Nastavení rychlosti jízdy a otáčení Pro nastavení dobré rychlosti a bezchybného sledování trajektorie jsme si vystačili se dvěma stupni rychlosti. Aktuální vyšší rychlost otáčení motoru odpovídá hodnotě 450, nižší rychlost hodnotě 250 z maximální hodnoty 512. Případný zpětný chod motoru využívá vždy nižší stupeň otáčení. Rozmístění čidel Umístění čidel bylo důležité pro správné vyhodnocení podmínek pro stavy. Ideální umístění prostředních čidel jsme hledali metodou pokus omyl. Dospěli jsme k závěru, že jedno čidlo musí být co nejblíže ose otáčení, aby robot nevyjížděl zbytečně bokem a dokázal vytočit i nejostřejší zatáčku. Polohu druhého (předního) čidla jsme museli dát minimálně 1 cm od zadního, protože čidla mají nějaký rozptyl a mohla by se vzájemně ovlivňovat. Výsledná vzdálenost je zhruba 2 cm. Když jsme čidlo dále oddalovali, robot lépe jezdil mírnější zatáčky, avšak měl problém s ostrými. Krajní čidla jsme museli umístit tak, aby byla schopna snímat kolmé čáry označující cíl jak je na prvním obrázku.

Obrázek 14: Pohled na robota zespodu (umístění čidel) Schéma zapojení Obrázek 15: Schématické zapojení prvků robota

Zhodnocení práce na projektu a dosažených výsledků Při programování a testování robota v laboratoři jsme řešili několik problémů. Prvním problémem bylo správné nastavení a zjištění funkčnosti připojených čidel. Další problém bylo vyhodnocení stavů, kdy se nám překrývali některé stavy. Potíže činila občasná chyba ve sjíždění ostré zatáčky, kdy robot opustil trajektorii, protože nestihl včas zareagovat správným pohybem. Proto jsme se rozhodli do algoritmu zařadit i stav pro vyjetí z tratě. O vyjetí je robot informován z krajního čidla, které se při vyjetí ocitne nad čarou (sjíždění zatáček je totiž řešeno s využitím pouze vnitřních čidel). Tím se podařilo ošetřit všechny chybné reakce robota, které by jej vyvedly z řízeného pohybu. Jednou z optimalizací bylo také posunutí těziště robota co nejbliže k ose otáčení, ale tak aby se robot nepřeklápěl. Osu otáčení jsme oproti původnímu návrhu posouvali dopředu, aby se přiblížila k jednu z hlavních čidel pro řízení směru. Robot tím pádem dokázal lépe zvládat ostré zatáčky. Práce s optimalizací algoritmu byla vyžadována i na robotickém dnu. Organizátoři nedbali dodržování pravidla na zastavení robota v cíli, proto jsme mohli tuto část kódu odstranit. Toto zjednodušení podmínek automatického ovládání robota pak umožnilo vylepšit jeho ostatní jízdní vlastnosti, např. zrychlení jízdy v zatáčkách a zkrátit tak celkový čas závodu. Zásadní zpomalení ve sjíždění tratě způsobovala pomalá konvergence robota k přímočarému pohybu na rovném úseku po projetí zatáčky. Robot se na rovném úseku po dlouhou dobu otáčí z jedné strany na druhou (kmitá), protože se jeho těžiště nenachází nad čarou v okamžiku natočení do správného směru (směru rovného úseku) a rozmístění čidel je optimalozováno na ostré zatáčky. Pro případnou další optimalizaci by proto bylo vhodné naučit robota zvládat rovné tratě.