49
VYSOKÉ UýENÍ TECHNICKÉ V BRNċ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INäENÝRSTVÍ ÚSTAV AUTOMATIZACE A INFORMATIKY FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF AUTOMATION AND COMPUTER SCIENCE KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO VYSAVAýE SIMPLE AUTONOMOUS CLEAN DESIGN BAKALÁěSKÁ PRÁCE BACHELOR THESIS AUTOR PRÁCE ROMAN OýENÁâEK AUTHOR VEDOUCÍ PRÁCE ING. STANISLAV VċCHET, PH.D SUPERVISOR BRNO 2007

KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

  • Upload
    ngongoc

  • View
    218

  • Download
    5

Embed Size (px)

Citation preview

Page 1: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

VYSOKÉ U ENÍ TECHNICKÉ V BRNBRNO UNIVERSITY OF TECHNOLOGY

FAKULTA STROJNÍHO IN ENÝRSTVÍ ÚSTAV AUTOMATIZACE A INFORMATIKY

FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF AUTOMATION AND COMPUTER SCIENCE

KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHOVYSAVA ESIMPLE AUTONOMOUS CLEAN DESIGN

BAKALÁ SKÁ PRÁCEBACHELOR THESIS

AUTOR PRÁCE ROMAN O ENÁ EKAUTHOR

VEDOUCÍ PRÁCE ING. STANISLAV V CHET, PH.DSUPERVISOR

BRNO 2007

Page 2: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole
Page 3: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 3

ZADÁNÍ ZÁV RE NÉ PRÁCE(na místo tohoto listu vlo te originál a nebo kopii zadání Va í práce)

Page 4: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 4

Page 5: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 5

LICEN NÍ SMLOUVA(na místo tohoto listu vlo te vypln ný a podepsaný list formulá e licen ního ujednání)

Page 6: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole
Page 7: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 7

ABSTRAKT

Ve své práci se zabývám sestavením a poté naprogramováním zadaného robotaslou ícího jako simulátor autonomního vysava e vyrobeného z Lega.

V první ásti se zabývám problematikou Lega obecn , historií a vývojem Lega sezam ením na Lego Mindstorms obecn .

V dal í ásti se zam uji na mo nost programování Lega a na programovací prost edíobecn a rozvinuji programovací prost edí Brix Command Center (RCX Command Center).Uvádím zde i mnou vyzkou ené koncepty a uvádím jejich výhody a nevýhody. U funk níhokonceptu uvádím i kompletní konstrukci a ení zadané úlohy.

V záv ru se sna ím zhodnotit klady ï zápory této konstrukce a pou ité stavebniceLego Mindstorms.

ABSTRACT

In my thesis I’m dealing with compilation and programming engaged robot usable forsimulating of autonomous vacuum cleaner which have been made from Lego.

In the first part of this thesis, I am dealing with questions about Lego generally, about Lego’shistory and development of it with alignment to Lego Mindstors generally.

In next part, I am surveying to possibility of programming Lego and to programminginterface generously and expanding programming interface Brix Command Center (RCXCommnad Center). I am interpreting my own tested concepts here and showing advantagesand disadvantage of that. In functional concept, I also show complete construction of that andsolving engaged theme.

At the end of this thesis, I am comparing pluses and minuses of this construction and usedbuilding blocks Lego Mindstorms.

Page 8: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 8

Page 9: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 9

Obsah:

Zadání záv re né práce........................................................................................................3Licen ní smlouva ..................................................................................................................5Abstrakt ................................................................................................................................7Obsah ....................................................................................................................................91 Úvod.........................................................................................................................112 LEGO ......................................................................................................................132.1 Historie Lega ............................................................................................................132.2 Robotic Invention System (RIS)................................................................................143 Obsah stavebice RIS ...............................................................................................173.1 Robotic Command Explorer (RCX) ..........................................................................173.1.1 Vstupní a výstupní porty.......................................................................................................183.1.2 IR vysíla .............................................................................................................................183.1.3 LCD display a ovládáni RCX pomocí tla ítek.......................................................................193.1.4 Senzory ................................................................................................................................203.1.5 Motory a Infrav .................................................................................................................213.1.6 Minimální po adavky pro instalaci RIS ................................................................................223.2 Programovací software..............................................................................................223.2.1 RCX Code............................................................................................................................233.2.2 Robolab................................................................................................................................233.2.3 BrickxCC/NQC....................................................................................................................233.2.4 MindScript ...........................................................................................................................243.2.5 ScriptEd ...............................................................................................................................243.2.6 LASM ..................................................................................................................................253.2.7 JAVA...................................................................................................................................253.2.8 PbForth ................................................................................................................................253.2.9 Visual Basic .........................................................................................................................253.2.10 C/C++ ..................................................................................................................................253.2.11 Pascal...................................................................................................................................254 Brix command center..............................................................................................274.1 RCX Command Center .............................................................................................274.2 Struktura programu v NQC a chybové hlá ení...........................................................284.3 Nápov da pro NQC...................................................................................................295 Sestavení robota vhodného pro aplikaci algoritm ...............................................315.1 Koncept 1..................................................................................................................315.2 Koncept 2..................................................................................................................315.3 Koncept 3..................................................................................................................325.4 Stavba robota pro pou ití aplikace.............................................................................336 Konstrukce autonomního vysava e ........................................................................376.1 Program 1 – Náhodná procházka...............................................................................376.2 Program 2 – Spirála...................................................................................................386.3 Program 3 – Jízda po liniích ......................................................................................396.4 Program 4 – Jiná náhodná procházka.........................................................................406.5 Program 5 – Jízda podél st ny ...................................................................................416.6 Vývojové diagramy jednotlivých program ...............................................................427 Záv r........................................................................................................................45Seznam pou itých sou ástek ..............................................................................................47Seznam pou ité literatury ..................................................................................................49

Page 10: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 10

Page 11: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 11

1 ÚVOD

Úkolem této práce je sestavit robota a naprogramovat ho tak, aby byl schopen pohybuv místnosti a aby simuloval pohyb vysava e, co je velice u ite né pro pomoc v domácnosti.Robot vysava je naprogramován tak, aby byl schopen vyhýbat se p eká kám, dokázal svýmpohybem pokrýt co nejv í mo nou plochu a aby dokázal jet podél p eká ky.

S robotem se poprvé lidstvo setkává ji v díle eského spisovatele Karla apka –RUR. Sám autor v té dob nev l, e celý sv t budou obklopovat roboti tak, jak je tomudnes.

Roboti jsou stroje ur ené jako pomocníci lidí, pomáhají nám usnadnit práci a provád tji rychleji, efektivn ji a to tém bez problém . Doká í tak ka cokoliv, co jen lov kanapadne.

V dne ní dob si ivot bez robot ani nejde p edstavit, proto e kdekoliv se podíváme,ude narazíme na v ci, se kterými lov ku robot pomohl (nap . v automobilovém a strojním

pr myslu, ale také v domácnostech jako velice výkonní pomocníci p i úklidu nebo p i va ení).Velice asto se také objevují roboti jako hra ky pro d ti, které v nich rozvíjí fantazii a tímsvým zp sobem také pomáhají lidstvu. Nap íklad japon tí in ený i vyrobili rybu robota, kteráse ve vod chová tém jako ryba ivá.

Page 12: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole
Page 13: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 13

2 LEGO

Po vyslovení slova LEGO si ka dý hned vybaví stavebnici ur enou pro d ti. Pokud alekdo ji tuto stavebnici pozná trochu do hloubky, ví, e tato stavebnice není ur ena jenom

pro d ti, ale je ur ena i pro v echny v kové kategorie. N které typy této stavebnice jsouur eny p evá pro výuku, kde se studenti sna í pochopit základy ru ního a systémovéhoízení.

2.1 Historie Lega

V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole KirkChristiansen zakládá spole nost na výrobu d ev ných hra ek. Jeho syn Godtfred Kirk za ínáv rodinném podniku pracovat ve v ku 12 let. O 2 roky pozd ji dává své spole nosti název“LEGO“. Tento název je slo en z dánských slov "LEg" a "GOdt", co v p ekladu znamená"dob e si hrát". V latin má slovo “LEGO“ význam "studuji" nebo "sestavuji". Heslo OleKirkovi spole nosti zn lo: "Jen nejlep í je dost dobrý.".

V této dob , m la spole nost LEGO jen asi 6 zam stnanc . Postupem asu sespole nost rozr stá a p ibírá zam stnanc .

Po vyho ení se firma rychle obnoví a pokra uje ve své výrob . Roku 1947 spole nostLEGO, jako první v Dánsku, kupuje za ízení na vst ikování plastických hmot do forem.

hem pár let spole nost LEGO vyrábí 200 druh plastových a d ev ných hra ek.edch dce nyn í LEGO kostky byl na Sv . P vodní kostky byly duté.

1. kv tna 1954 je v Dánsku oficiáln zaregistrována ochranná známka “LEGO“.V roce 1960 pokra uje rychlý r st spole nosti, ale ne bez p eká ek. Skladi , s

ev nými hra ky vyho elo. Spole nost LEGO se rozhoduje nepokra ovat v produkciev ných hra ek. V této dob , m la spole nost LEGO 450 zam stnanc .

Roku 1961 LEGO poprvé uvádí na trh stavebnice ur ené pro p ed kolní v k s názvemTherapy I, II a III.

Roku 1964 stavebnice LEGO poprvé obsahují stavební návod. V tomté roce LEGOpoprvé testuje, s pomocí spot ebitel , stavebnice p ed uvedením na trh. ada stavebnic LEGOzahrnuje 57 souprav a 25 vozidel. Do té doby bylo prodáno více ne 18 milion LEGOsouprav. Byla vytvo ena DUPLO kostka (ur ena pro d ti od 4 let), která je osmkrát v í nestandardní LEGO kostka, ale je s ní slu itelná. Tím pokra uje základní my lenka o systémuhra ek, se kterými mohou pracovat v ichni spole .

ervna 1968 se otvírají brány LEGOLAND parku v Billund. V prvním roce nav tívilopark 625 tisíc lidí. Ve stejném roce spole nost LEGO získává první cenu sout i “Nejlep íhra ka“ v Lucemburku. Roku 1970 se stavebnice roz ila o ozubená kola – stavebnice snázvem “Expert Builder“ (pozd ji Technic).

V této dob , m la spole nost LEGO 975 zam stnanc (bez zam stnancLEGOLAND parku).

O 8 let pozd ji se poprvé objevují mini figurky s pohyblivýma rukama, nohama a

Page 14: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 14 2 LEGO

ti nými tvá emi. Nahrazují tak, do té doby pou ívaná “t la bez tvá e“. Roku 1982 bylyedstaveny stavebnice série “DUPLO Mozaika“ a “TECHNIC I“. Tyto soupravy

reprezentovaly první p íklady produkt speciáln vyvinutých pro p ed kolní a kolní trh a orok pozd ji byla uvedena na trh nová ada LEGO Baby (ur ená pro nejmen í d ti) a novépohyblivé figurky pro LEGO Duplo.

Roku 1986 byla sv tu p edstavena souprava “Light & Sound“ dávající nové dimenzestavebnicím LEGO. Odd lení pro vzd lávací produkty p edstavuje první stavebnici ady“Technic Computer Control“, která umo uje LEGO robot m ízení s pou itím po íta e. Tatostavebnice byla zpo átku uvedena pouze na kolní trh ve Velké Británii a Dánsku.

Rokem 1996 spole nost LEGO vstupuje na Internet - www.lego.com. Otevírá se novýLegoland ve Windsdoru (Velká Británie) o rozloze 120.000 m2.

Roku 1998 je vydána stavebnice “Technic Control Center“, umo ující ovládánírobota pomocí kontrolního panelu s ovládacími tla ítky.

V b eznu 1999 je otev en t etí Legoland v Carlsbad a o rok pozd ji britská asociacehra ek zvolila LEGO kostky "Hra kou století". Nová stavebnice pro kolní innost.Základem je programovatelná RCX kostka, tvo ená mikropo íta em, na který jsou p ipojenyvstupní senzory nebo motory.

Firma LEGO se oblastí vzd lávání zabývá více jak 22 let. Zabývá se vzd láváním arozvojem schopností d tí od nejútlej í v ku. Stavebnice slou í nejen k rozvoji manuálnízru nosti a jemné motoriky u d tí, ale pomáhají rozvíjet i jejich logické my lení.

2.2 Robotic Invention System (RIS)

Robotics Invention System™ (dále pouze RIS) je stavebnice, pomocí které d ti (anejenom d ti) mohou postavit vlastní samostatn se pohybující roboty. Na obrázku 1 jezobrazena tato stavebnice tak, jek se dodává.

Stavebnice se na evropském trhu s hra kami p edstavila v roce 1999, ale ji o rokíve byl v USA dán do prodeje RIS verze 1.0, který se stal první stavebnicí nov vznikající

ady nazvané Mindstorms. Po verzi 1.0 následovala verze 1.5, a kone verze 2.0, kterázatím doká e vyu ít potenciál RCX asi nejlépe. Soub s první verzí také zapo al i prodejnové ady stavebnic skupiny Lego Dacta nazvaný Mindstorms For Schools (Mindstorms prokoly - této stavebnice je pou ito k vytvo ení mé bakalá ské práce). Ta je ur ena k výuce

programování na kolách.RIS je základní stavebnicí ady Lego Mindstorms, která vychází z ady Lego Technic.

(Stavebnice obsahují stejné "Technic" sou ástky.) Podstatným roz ením oproti ad Technicje práv mo nost programovat hotové výtvory. Ji v minulosti to sice n které stavebnice Legov omezené mí e umo ovaly (8094 Technic control center z roku 1990, 8485 Control centerII z roku 1995 nebo 8479 Bar code truck z roku 1997), ale teprve v ad Mindstorms byloprogramování dovedeno k dokonalosti jednoduchým a ú inným zp sobem (více v p edchozíkapitole).

V RIS mohou d ti programovat roboty pomocí jednoduchého grafického programu naném osobním po íta i a po nahrání programu do robotu je robot na PC ji zcela nezávislý

(Já jsem si pro svoji práci vybral jiný druh, který popí u ní e). Jistou nevýhodou je sicenutnost vlastnit po íta , obrovským kladem je ale v í pohodlí p i programování, v í

Page 15: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 15

názornost pro d ti a p edev ím obrovská flexibilita celého systému, která umo uje hrát sis RIS devítiletým d tem, stejn jako student m V pou ít RCX pro tém profesionálnírobotické projekty.

Obrázek 1 Krabice Robotics Invention System

Page 16: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 16 2 LEGO

Page 17: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 17

3 OBSAH STAVEBICE RIS

Stavebnice v základní verzi obsahuje celkem 717 sou ástek (viz Obrázek 2). Vedleklasických Lego/Technic element stavebnice obsahuje dva devíti voltové Technic motory, t isenzory, jedno RCX, vysílací "v " p ipojitelnou k po íta i (infrav ), CD s ovlada i aprogramovacím prost edím, Constructopedii a p íslu nou kabelá . Uvedu zde nejd le it ísou ástky a také ty sou ástky, která jsem pou il pro ení této práce a uvedu d vody, probyly pou ity.

Obrázek 2 Základní obsah stavebnice RIS

3.1 Robotic Command Explorer (RCX)

RCX je srdcem RIS. RCX je "programovatelná Lego kostka", jedno ipovýmikropo íta Hitachi uzav ený do pouzdra podobného ostatním Lego kostkám. RCX jemikropo íta schopný samostatn vykonávat zadaný program. Ke své práci nepot ebuje PC.(K jeho programování ale PC pot eba je!) Duchovním "otcem" RCX je Fred G. Martin. Podjeho vedením byla vyvinuta programovatelná kostka, která se stala p edlohou pro vlastnívývoj RCX.

Kostku napájí 6 baterií typu AA a kostka napájí vstupní a výstupní porty. Lze pou ítné, alkalické i dobíjecí baterie. Pouzdro je lutohn dé o rozm rech 8x12 studs se ty mi

"technic" otvory na bocích. Na horní stran je displej, est konektor - "elektrických" kostek a ty itla ítka, na p ední pak IR vysíla /p ijíma .

V pam ti RCX je ulo en firmware, který se sma e tehdy, kdy RCX kostka nenínapájena. Proto p i vým baterií pracujeme rychle. RCX kostka vydr í bez napájení jenkrátkou dobu. Pokud se firmware vyma e, dá se znovu bez potí í nahrát, ale pam se obnovitnedá. Na obrázku 3 je zobrazena RCX kostka a na obrázku 4 je umíst ní baterií.

Page 18: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 18 2 LEGO

Obrázek 3 Pouzdro RCX Obrázek 4 Ulo ení baterií

3.1.1 Vstupní a výstupní porty

i edé tverce s kovovými vývody - "elektrické" kostky - ozna ené ísly 1, 2 a 3jsou tzv. vstupní porty (zkrácen vstupy – viz obrázek 5). Pomocí senzor p ipojených k

mto konektor m m e RCX získávat informace z okolního sv ta. Nikdy na tyto konektorynep ipojujte motory! Mohlo by dojít k po kození RCX.

i erné elektrické kostky v zadní ásti RCX, ozna ené písmeny A, B a C jsou tzv.výstupní porty (zkrácen výstupy – viz obrázek 6). Slou í k p ipojení elektrických sou ástek,které pak m e RCX ovládat. Typicky se jedná o motory, ale v podstat je mo no pou ít

echny sou ástky z devíti voltové Lego Electric ady. ( árovky, blika e, sirény, mini- amikromotory.)Na tyto konektory se nesm jí p ipojovat senzory. Mohlo by dojít k po kození senzoru av hor ím p ípad ke zni ení RCX kostky.

Obrázek 5 Vstupní porty Obrázek 6 Výstupní porty

3.1.2 IR vysíla

Tmavé okénko v p ední ásti RCX je infra ervený vysíla (viz obrázek 7). Tentovysíla tvo í jediné pojítko RCX s "mate ským" PC a ostatními RCX. Pomocí Infra ervenýchpaprsk RCX nahrává programy a zasílá zp t získaná data stejným zp sobem, jaký se pou íváv dálkovém ovládání u televizor . Pravidla pro práci s ním jsou tedy stejná:

• Mezi RCX a vysílací "v í" musí být p ímá viditelnost

• RCX by m lo být nato eno p ímo na v . (N kdy se ale poda í p enos odrazem ostrop)

Page 19: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 19

• V pr hu komunikace RCX s v i se sna te s RCX nehýbat

• Dosah vysíla e se dá nastavit

• kdy mohou vznikat potí e s komunikací p i jasném slune ním zá ení

Obrázek 7 IR vysíla

3.1.3 LCD display a ovládáni RCX pomocí tla ítek

Panel LCD slou í k zobrazování informací o tom, co ses RCX d je, pomocí tla ítek m eme ovládat základní funkce.

Po stranách displeje jsou ty i ovládací tla ítka. Jejich funkce je následující:

On-OffZapíná a vypíná RCX. Pokud RCX zapomenete vypnout, vypne se po ase samo.

RunSpou tí a zastavuje vybraný program. íslo vybraného programu se na displeji

zobrazuje spolu s paná kem. B ící paná ek ukazuje, e program práv probíhá. (Blí e vizobrázky displeje.)

PrgmJe zkratkou za program. RCX disponuje p ti programovými sloty na uschovávání

program . Pomocí tohoto tla ítka vybíráte íslo programového slotu. Opakovaným stiskemepínáte sloty v cyklu 1 - 2 - 3 - 4 - 5 atd. íslo aktuálního programu se zobrazí na displeji.

ViewUmo uje zobrazit na displeji r zné informace a funguje tehdy, je-li v kostce nahrán

firmware. Postupnými stisky p epínáme mezi zobrazením stavu vstupu 1, vstupu 2, vstupu 3,výstupu A, výstupu B, výstupu C a systémovým asem.

Panel LCD slou í k zobrazování informací o tom, co se s RCX d je. Proto e uvádíle ité informace, seznámíme se s ním podrobn ji.

Page 20: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 20 2 LEGO

Na pravé stran displeje je v dy zobrazena silueta paná ka síslem. íslo indikuje aktivní program, paná ek stav

programu. Stojí-li paná ek, program není vykonáván (horníobrázek). Uvidíte-li paná ka b et, je program právzpracováván (spu n, (probíhá ). (Dolní obrázek). Programyspou tíme a zastavujeme stiskem zeleného tla ítka s nápisem"Run", mezi programy p epínáme stiskem edého tla ítka"Prgm".

Symbol p krtnuté baterie v pravém horním rohu znamená,e baterie mají nízké nap tí. Za ne-li symbol blikat a RCX

vydávat výstra né signály, baterie mají ji velmi nízké nap tía m ly by být vym ny.

Tmavý ku el v levé ásti displeje ukazuje, e RCX právpou ívá sv j IR vysíla . Délka ku ele odpovídá nastavenívysíla e (krátký/dlouhý dosah).

Te ky se v horní ásti displeje zobrazují jedna po druhé, kdyje do RCX z po íta e nahráván program.

Hodiny se objeví a poté, co je do RCX nahrán firmware (vizkapitola Firmware.) Pak ukazují systémový as. (V inouzobrazují, jak dlouho ji je RCX zapnuto.)

ipky ukazují, který senzor práv sledujeme pomocí tla ítkaView. Je-li vstup aktivní (nap . stla íte-li p ipojený dotykovýsenzor), z prázdné ipky se stane ipka plná. (Na obrázku jeaktivní vstup 1.)

ipky dole ukazují, který výstup je práv aktivní (napájenelekt inou) a jeho polaritu (sm r otá ení). Na obrázku jsouzobrazeny oba sm ry najednou (vlevo/vpravo), co se vám veskute nosti (snad) nikdy nepoda í.

3.1.4 Senzory

RCX m e vyu ívat n kolik druh senzor . Vedle vestav ných stopek ( asova ) aíta (po ítadel událostí) m ete vyu ít vn í idla - senzory. RIS obsahuje jeden sv telný a

dva dotykové senzory.

Page 21: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 21

Dotykový senzorDotykový senzor je v podstat jednoduché tlakové idlo. Vzákladním nastavení RCX indikuje, zda je idlo stisknuté, nebo není.Díra na osi ku spolu s výstupky usnad uje montá . V inou jevhodné umístit na senzor n jaký nárazník, aby zabíral v í plochu.Senzor je k RCX mo no p ipojit libovoln dlouhým kabelem. Tentosenzor jsem si vybral pro mou aplikaci. Pou il jsem 3 tyto senzory.

Sv telný senzorSv telný senzor má dva druhy pou ití. Doká e snímat intenzitu sv tlaa tak pomáhat robotu nap . schovávat se v temném kout a imitovattak chování hmyzu, nebo, díky vestav né LED diod , m eteosv tlovat plochu a snímat intenzitu odra eného sv tla. To je ideálnípro ízení robotu podél tmavé áry namalované na sv tlém papí e.Senzor také v omezené mí e umo uje rozpoznávání barev. Tentosenzor jsem pou il p i prvním návrhu, ale neosv il se, proto e jeproblematické nastavit správnou hodnotu prahového sv tla.

Rota ní senzorTento senzor není sou ástí RIS. Je ale mo no jej dokoupitsamostatn .Rota ní senzor je velmi u ite nou pom ckou p i stavb slo it ích apropracovan ích projekt . Na p ipojené osi ce umo uje m it úhlyotá ení s v krocích po 22,5°.Tuto p esnost lze samoz ejm zvý itpomocí vhodného zp evodování. Také jím m ete m it rychlostotá ení motoru. Tento senzor vám tak umo uje kontrolovat va ehorobota p esn ji, ne s pou itím tradi ních prost edk ( asova ).

Teplotní senzorTento senzor není sou ástí RIS. Je ale mo no jej dokoupitsamostatn .Teplotní senzor m í teplotu okolního prost edí. Výstup je mo nozískat bu ve stupních Celsia, nebo Fahrenheita. RIS doká e ísthodnoty od -20 °C do 50 °C

3.1.5 Motory a Infrav

MotoryStandardn jsou dodávány dva minimotory. Jedná se o výkonnémotory s pom rn uspokojivou spot ebou a rychlostí cca 760 ot/min.Tyto motory mají vestav nou p evodovku.

Page 22: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 22 2 LEGO

InfravInfrav slou í ke komunikaci va eho PC s RCX. Pomocí v e se doRCX zasílá program, firmware a z RCX zp t do po íta e data. Nikdynep ipojujte v k PC d íve, ne nainstalujete p íslu ný software! P ikomunikaci RCX s po íta em by m lo RCX být umíst no asi 10-15cm od v e a v p ímé viditelnosti. P i velkém mno ství slune níhosv tla v místnosti bývají s komunikací potí e. Více o pravidlechkomunikace v odstavci IR vysíla .

Dosah USB v e m ete nastavit softwarov v nastaveníovlada systému Windows. (menu Start/Nastavení/Ovládací panely,panel LEGO USB Tower.) Zárove je nutno dosah nastavit v systémuRIS 2.0, v menu Settings. Zde se také nastavuje dosah vysíla e RCX.

3.1.6 Minimální po adavky pro instalaci RIS

Opera ní systém Windows© 98 nebo Windows© Millenium

ProcesorPentium© II 233 MHz nebo vy í, nefunguje na po íta ích

Apple©

Pam 32MB RAM, doporu eno 64 MB RAM

Volné místo na disku 115 MB

My Windows© kompatibilní

Zvuková karta DirectX 6.1™ kompatibilní

Grafická karta4MB (8MB doporu eno) DirectX 6.1™ nebo vy í

800 x 600 SVGA high color (16-bit)

CD-ROM 8x CD/DVD-ROM

Ovlada eQuickTime© 4.1.2 (p ilo eno na CD) nebo vy í

DirectX 8.0™ nebo vy í (p ilo eno na CD)

Ostatní Jeden volný USB port pro p ipojení komunika ní v e

Tabulka 1 Minimální po adavky pro instalaci RIS

3.2 Programovací software

Nejd le it í sou ástí ka dé stavebnice Lego Mindstorms je software, který pot ebak naprogramování hlavního mozku robota. Tím dáme robotovi v e pot ebné pro na ipo adovanou funkci.

Existuje mnohá ada pou itelného softwaru. Výb r u zále í na konkrétním u ivatelii zvá ení svých mo ností a dovedností.

Uvedu zde ty nejpou ívan í. Pro p eklad se pou ívá p eklada ur ený p esn podlezvoleného programovacího softwaru. Tyto p eklade jsou uvedené na stránkách Lega, kde je i

Page 23: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 23

popsáno, kde se tyto p eklada e dají sehnat, pop ípad jsou – li dostupné jako free verze neboplacená verze.

3.2.1 RCX Code

Jedná se grafickou interpretaci MindScriptu (vysv tleno ní e).Ve skute nosti se jednáo grafický jazyk ur ený p edev ím pro d ti. Dodává se spolu se stavebnicí, je zdarma a jedostupný i tin . Ukázky grafického programu jsou uvedeny na obrazcích 8 a 9.

Obrázek 8 Programování v RCX Code Obrázek 9 Programování v RCX Code

3.2.2 Robolab

Jedná se grafickou interpretaci LASM (viz ní e).Takté se jedná o grafický jazykRobolab ur ený p edev ím pro d ti. Integrovaná podpora kamery a MIDI, kvalitní nápov da,„roste“s u ivatelem. Ukázky grafického programu jsou uvedeny na obrazcích 10 a 11.

Obrázek 10 Hlavní nabídka ROBOLABu Obrázek 11 Prost edí v ROBOLABu

3.2.3 BrickxCC/NQC

BrickCC je zástupcem skupiny "textov orientovaných" programovacích jazyk .vodn byl navr en jako IDE pro programování v NQC, dnes ale podporuje mnohem ir í

paletu programovacích jazyk . Je voln ke sta ení. Více popí u v následující kapitole.Tento software jsem si vybral pro „o ivení“ svého robota. Jako d vod bych uvedl, e

je to ve své podstat hodn zjednodu ená verze jazyku C. Ukázka programu je na obrázku 12.• Podpora alternativních firmware

Page 24: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 24 2 LEGO

• Podpora v ech typ programovatelných kostek

• Nástroje pro usnadn ní práce ( ablony, zvýrazn ná syntax...)

• Podpora více programovacích jazyk

• Natím jsem na n m nena el chybu

Programovací jazyk: NQC, MindScript, LASM, po úpravách pak BrickOS C a C++,BrickOS Pascal a asi i dal í

Not Quite C - tém C jazyk pro RCX. Pokud programujete v Cé ku, jasná volba.Existuje kvalitní kompiler, kvalitní IDE a eský p eklad tutoriálu

Obrázek 12 Prost edí NQC (ukázka je z mého programu Náhodná procházka)

3.2.4 MindScript

Skriptovací jazyk spole nosti Lego vyvinutý pro programování RCX a dal íchprogramovatelných kostek. Jediný oficiáln podporovaný programovací jazyk pro RCX

3.2.5 ScriptEd

ScriptEd je jednoduchým editorem dodávaným spolu se SDK. Byl vytvo en probetatestery SDK, aby usnadnil psaní zdrojového kódu program . Psát programy s n m jesnaz í ne programovat v Notepadu, ale je vid t, e se jedná o testovací produkt spí neplnohodnotné programovací rozhraní.

Na druhou stranu má n kolik d le itých funkcí a sou ástí balí ku je rozsáhládokumentace u ite ná pro vývojá e. Jako programovací jazyk vyu ívá MindScript a LASM.

Page 25: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 25

Podporuje více druh firmware, více typ programovacích kostek a podává podrobn íinformace o RCX. Ukázka programu je na obrázku 13.

.Obrázek 13 Ukázka programu ScriptEd

3.2.6 LASM

Lego Assembler. Low-level jazyk pro programováni RCX. Podobný PCmakroassembleru.

3.2.7 JAVA

Java pro RCX. Milujete-li Javu, nainstalujte BrickOS a m ete za ít.

3.2.8 PbForth

Forth for programable brick. Forth je jazyk podobný jazyku pro programování NCstroj . Jednoduché p íkazy se skládají do slo it ích "akcí". Pomocí Forthu se údajnovládají radioteleskopy atp. Asi ale ne v echách.

3.2.9 Visual Basic

Pomocí balíku Spirit.ocx (starý, dále nepodporovaný zp sob) nebo API knihovnyVPBrick je mo no pro RCX psát programy v MS Visual Basic. Umíte-li VB, m ete psátprofesionální aplikace pro RCX.

3.2.10 C/C++

Platí toté co pro Visual Basic.

3.2.11 Pascal

Pomocí GPC compileru pro Hitachi H8 m ete pro RCX (údajn ) psát programy i vPascalu. M li by být na stránkách firmy Hitachi.

Page 26: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 26 2 LEGO

Page 27: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 27

4 BRIX COMMAND CENTERSoftware dodávaný spole se stavebnicí má jen omezenou funk nost a lze jej pou ít

více mén jen k ení jednoduchých úloh. K vyu ití více funkcí pot ebujeme kvalitn íprogramové prost edí. Jak u jsem p edeslal d íve, z tohoto d vodu jsem si vybralprogramovací prost edí NQC (Not Quite C,co ve volném p ekladu znamená Tém jazyk C).

NQC je programovací jazyk napsaný a vyvinutý Davidem Baumem. Je speciálnur en pro roboty postavené z Lega. Ve skute nosti je programovaní Lego robot mnohemjednodu í ne programování skute ných po íta . Z tohoto d vodu se m e oby ejnýlov k, tém neznalí programování, stát snadno programátorem.

Pro tento NQC programovací jazyk je zde tzv. RCX Command Center, díky kterémuje psaní program o mnoho snaz í. Tento nástroj pomáhá psát programy, posílat je robotu,spou t je a ukon ovat. RCX Command Center funguje podobn jako ka dý normálnítextový editor, av ak nabízí i n co navíc. Toto programovací prost edí si m e ka dý stáhnoutz internetu, proto e je zdarma.

RCX Command Center b í na osobních po íta ích s opera ním systémem Windows(95, 98, NT, 2000, ME i XP, na verzi Vista jsem to nezkou el). Pro perfektní b h programudoporu uji, aby byl je p ed nainstalováním tohoto programovacího prost edí alespojednou spu n software dodávaný spolu se stavebnicí (nap . pro plynulý b h je pot eba mítsprávn nainstalovanou Infrav ).

V následujících podkapitolách objasním základy tohoto programovacího jazyka auvedu ty nejzákladn í p íklady.

4.1 RCX Command Centeri spu ní programu jste vyzvání k najití robota za p edpokladu, e je správn

nainstalována infrav , robot je v dosahu IR signálu a je zapnut. P i této výzv se vybírákomunika ní port a druh firmware. Na obrázku 14 je toto hlá ení zobrazenou. Po tomtovýb ru se dostáváme ji do u ivatelského prost edí. Na obrázku 15 je ukázka tohoto prost edíi z ukázkou nejd le it ích prvk .

Obrázek 14 Výzva k výb ru mo ností pro hledaní robota

Page 28: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 28 2 LEGO

Obrázek 15 Programovací prost edí + základní ovládací prvky

4.2 Struktura programu v NQC a chybové hlá eníProgram v NQC sestává z úloh (z angli tiny „task“). Program v dy musí obsahovat

jednu úlohu nazvanou main (z angli tiny p elo eno „hlavní“), která je v dy zpracována p ispu ní tla ítka RUN na RCX kostce. Ka dá úloha se skládá z mno ství p íkaz známýchjako jednotlivé programové kroky (anglicky statement).

echny programová kroky jsou pomocí slo ených závorek uzav eny do skupin.Ka dý programový krok je ukon en st edníkem. Díky tomu je jasné, kde jeden programovýkrok kon í a za íná dal í. Na obrázku 16 je uvedena struktura programu.

i psaní programu je patrné, e text m ní automaticky barvy. Cokoliv je v modrébarv , jsou p íkazy, názvy motor a v ech známých prvk robota jsou v zelené barv ,defini ní veli iny jsou ve fialové barv , íselné konstanty jsou ervené. Tu vyzna ená„slova“ jsou d le itými (tzv.rezervovanými) slovy. Tohle velice chytré, proto e u p i psaníprogramu m eme v t, jestli ned láme chyby. Na obrázku 16 je uvedeno par p íkladbarevného textu a také zobrazené chybové hlá ení.

Pokud je v programu n kde n jaká chyba, program to p i kompilaci pozná a na chybunás upozorní v chybové hlá ce. V p íkladu na obrázku 16 je uvedena chyba, kde není p íkazukon en st edníkem.

Na obrázku 16 je uveden p íklad, kdy robot má jet po dobu cca 3 s vp ed. Po uplynutítéto doby zastaví a vypne motory. Na po átku programu jsou definice pot ebné pro b hprogramu. Co ka dá definice znamená je uvedeno na tomto p íkladu ve vlo eném komentá i(komentá se pí e do dvou svislých lomítek).

Page 29: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 29

Obrázek 16 Uvedený p íklad struktury programu, chybového hlá ení a barevného textu

4.3 Nápov da pro NQCRCX Command Center má pro programovací jazyk NQC velmi kvalitní nápov du. Do

nápov dy sta í zadat klí ové slovo a nápov da nám zobrazí v echny mo né dostupnéparametry a typy pou ití tohoto klí ového slova. Na obrázku 17 je pou ita nápov da pro psanípodmínky if.

Obrázek 17 Nápov da v RCX Command Centeru pro p íkaz if

Page 30: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 30 2 LEGO

Page 31: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 31

5 SESTAVENÍ ROBOTA VHODNÉHO PRO APLIKACIALGORITM

V této kapitole uvedu, jak jsem se dostal k mé fyzické konstrukci robota – vysava e.

5.1 Koncept 1

Jako m j první koncept byla zvolena konstrukce robota na pásovém podvozkus pou itím dvou sv telných senzor , které byly ur eny pro ochranu p ed pádem za schod .Dotekový senzor p ipojený k nárazníku m l slou it jako detektor p eká ek.

Pásový podvozek byl pou it a navrhnut proto, aby usnadnil zatá ení motor jejichzastavováním a vzájemným k ovým chodem. Dále bylo u této konstrukce pou ito p evodupomocí velkého ozubeného kola hnaného p ímo motorem. Pomocí dvou malých ozubenýchkol je p enesen p ímo na hnací h ídel kola, které ovládá pomocí ji zmi ovaného pásu celoujednu stranu robota.

Tato konstrukce ale nebyla p íli vhodné, proto e p i zatá ení se robot velice cukal aast ji docházelo k nepohyblivosti robota, co vedlo k rychlému vybití baterií. Výsledkem byl

nepou itelný robot, na kterém se nedaly pou ít teoretické návrhy algoritmu.Na obrázcích 19 a 20 je zobrazena tato konstrukce.

Obrázek 19 Ukázka 1. konceptu robota Obrázek 20 Ukázka p evodu u 1. konceptu

5.2 Koncept 2

Jako dal í koncept byla op t zvolena konstrukce robota na pásovém podvozku a taktébylo pou ito dvou sv telných senzor , které byly ur eny pro ochranu p ed pádem za schod .Dotekový senzor p ipojený k nárazníku m l rovn poslou it jako detektor p eká ek.

Pásový podvozek byl pou it a navrhnut proto, aby usnadnil zatá ení motor jejichzastavováním a vzájemným k ovým chodem. U této konstrukce pou ito ji pou ito plnfunk ního p evodu pomocí velkého ozubeného kola hnaného p ímo motorem a dal íhopomocného ozubeného kola. P evod u tohoto konceptu tedy inil 1:1. To ivý moment motoruje díky tomuto p evodu p enesen p ímo na hnací h ídel kola, které ovládá pomocí ji

Page 32: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 32 2 LEGO

zmi ovaného pásu celou jednu stranu robota.Tato konstrukce ale nebyla p íli vhodné, proto e p i pou ití algoritmu ochrany proti

pádu robota ze schod se muselo po ítat s prom nlivými konstantami, které vznikalyv závislosti odrá ení sv tla povrchem. Tyto hodnoty se museli p ed ka dým spu ním robotavyhodnotit a zadat do programu. Výsledkem byl sice pou itelný robot, ale bylo velicenepohodlné hledat konstanty a zadávat je do programu. Kdy ale pominu fakt, e by byl

kdo ochoten tyto hodnoty hledat a znovu zadávat, ur it by p el na to, e jakmile se zm nísv telné podmínky nebo robot najede do „temných a stinných“ míst anebo e majitel vlastníkoberec s achovnicovým vzorem, nebude robot fungovat tak, jak má.

Na obrázku 21 a 22 je tento koncept zobrazen.

Obrázek 21 Ukázka konceptu 2 z boku Obrázek 22 Ukázka konceptu 2 zep edu

5.3 Koncept 3

Jako dal í, ji finální koncept byla op t zvolena konstrukce robota na pásovémpodvozku uvedená ji v konceptu 2. Pro ochranu p ed pádem ze schod je zde pou itomechanického dotekového senzoru. Funkce toho senzoru je jednoduchá, nebo má pouze 2mo né stavy – sepnut x vypnut (v programovaní se spí e pou ívá stav TRUE a FALSE, coje ve skute nosti logická 1 respektive 0). Dotekový senzor p ipojený k nárazníku rovnposlou í jako detektor p eká ek a dotekový senzor na boku slou í jako detektor pro jízdukolem st ny.

V p edchozích dvou konceptech by byl obrovský problém vyladit pro jízdu podélst ny, proto e ji v echny vstupy RCX kostky byly obsazené. Dalo by se to vy itnastavením senzor do modelu RAW, co je v podstat zapojení dvou senzor (sv telný adotekový) na jeden vstup. P i tomto stavu by se op t musela najít n jaká prahová hodnota proodraz sv tla. Experimentáln byla tato hodnota nastavena na 750, kdy minimální hodnota byla0 a maximální pak 1000. To ale nebylo p íli dobré pro ji zmi ovaný achovnicový vzorpodlahy.

Pásový podvozek z konceptu 2 byl zvolen proto, e p i zji ování hodnot aexperimentování chování na daný program reagoval robot nejlépe.

Pou itím této konstrukce je ji vhodné pro na i realizaci pohybu a chování na ehorobota. Pro pohyb (jízdu) je robot naprogramován tak, e po ur itém asovém intervalutestuje, zdali se od st ny moc neoddálil malým nato ením ke st . K této detekci slou í ji

Page 33: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 33

etí zmi ované mechanické dotekové idlo. Na obrázku 23 a 24 je tento koncept zobrazen.Sestavení tohoto robota popisuji v následující kapitole.

Obrázek 23 Ukázka konceptu 3 z boku Obrázek 23 Ukázka konceptu 3 zep edu

5.4 Stavba robota pro pou ití aplikaceStavbu robota pro na i aplikace m eme rozd lit na dv ásti: Konstrukci podvozku a

konstrukci detektor .

Za ne stavbou podvozku, co je nejjednodu í ást stavby na eho robota:

Obrázek S1 Podvozek z boku Obrázek S2 Podvozek ze spodu

Obrázek S3 Osazení motor Obrázek S4 Osazení RCX kostky

Page 34: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 34 2 LEGO

Nyní p ichází stavba nejt í ásti konstrukce, stavbou detek ní ásti:

Obrázek S5 Vrchní úchyt radlice Obrázek S6 Detek ní ást podlahy

Obrázek S7 Horní úchyt radlice Obrázek S8 Horní úchyt radlice shora

Obrázek S9 Celá detek ní ást

Page 35: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 35

Obrázek S10 Kompletní konstrukce robota vysava e (pohled zboku)

Obrázek S10 Kompletní konstrukce robota vysava e (pohled shora)

Page 36: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 36 2 LEGO

Page 37: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 37

6 KONSTRUKCE AUTONOMNÍHO VYSAVA E

elem této bakalá ské práce je návrh algoritmu práce autonomního vysava e v b némístnosti. To znamená, e robot by m l rozeznat p eká ku a n jakým zp sobem se jí vyhnouta samoz ejmostí je i to, aby svým pohybem po této místnosti pokryl co nejv í plochu stejntak, jako u je samoz ejmostí u známých automatických vysava (jako je nap íkladautomatický vysava CleanMate 365 QQ1, který je zobrazen na obrázku 18).

Mnou vytvo ený robot simuluje pohyb podobného robota – vysava e. Pro svojiaplikaci jsem zvolil 5 r zných program , mezi kterými se dá podle pot eby volit. Ka dý tentoprogram rozvedu samostatn . Dal by se vytvo it i velmi jednoduchý program, který by spojiltyto v echny programy dohromady. Pro názornou ukázku sta í p edvést ka dý programzvlá , nebo celkovou ukázku v ech program v jednom by bylo na del í dobu (minimálnpo dobu danou ka dým programem zvlá ).

Obrázek 18 Automatický vysava CleanMate 365 QQ1

6.1 Program 1 Náhodná procházka

Na za átku programu jsou definice prom nných, pou itých idel, konstant a motor .V hlavním programu je jsou postupn spou ny t i podprogramy. Tyto programy obsahujíprvky pro zastavování a spou ní jednotlivých program v závislosti na jejich nutnostpou ití.

Prvním a nejd le it ím podprogramem je kontrola doteku s podlo ku. To jez d vodu ochrany proti pádu robota vysava e nap .ze schod . Tento program je pou it u

ech program , které tento robotek obsahuje.Funkce tohoto velmi d le itého podprogramu je následující:

• Pokud je dotekové idlo sepnuté (robot má kontakt se zemí), je v echnov po ádku a robot m e provád t dal í podprogram

• Pokud je dotekové idlo rozepnuté (robot najel na první schod a tím ztratilkontakt), zahraje melodii a kousek popojede dozadu. Poté se nato í nalibovolnou stranu s tím, e má aktivovaná nárazová idlo a tím je „chrán n“oto ení se proti p eká ce.

Na konci tohoto podprogramu se spustí ji vý e zmín ný test hledání p eká ky. Pokudrobotek do p eká ky narazí, op t kousek couvne a oto í se na libovolnou náhodn vybranoustranu (odtud název „Náhodná procházka“). Na obrázku 19 je nastín n tento program a naobrázku ozna eného jako Vývojový digram 1 je vývojový diagram.

Page 38: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 38 2 LEGO

Obrázek 19 Nastín ní zdrojového kódu programu Náhodná procházka

6.2 Program 2 Spirála

Program spirála se od programu Náhodná procházka li í pouze v podprogramu Spirálanamísto jízdy v p ed. Na za átku programu jsou op t definice prom nných, pou itých idel,konstant a motor . V hlavním programu je jsou postupn spou ny takté t i podprogramy.Tyto programy obsahují prvky pro zastavování a spou ní jednotlivých program v závislostina jejich nutnost pou ití.

Testování doteku a s podlo kou a vyhýbání se p eká kám je takté toto nés programem Náhodná procházka.

Hlavní rozdíl u tohoto programu je, e robot u nejezdí jenom rovn . V tomtoprogramu robot jezdí v kruhu, který se neustále zv uje, co znamená, e se pohybuje vespirále (odtud název Náhodná spirála).

Funkce tohoto programu je následující:• i spu ní programu se za ne s kontrolou styku s podlahou (viz program

Náhodná procházka)• Poté se spustí pohyb po spirále a zárove se spou tí kontrola p eká ek (pokud

i jízd ve spirále robot narazí do p eká ky, couvne pooto í se vlevo nebovpravo a za ne s novou spirálou).

Na obrázku 20 je nastín n zdrojový kód programu a na obrázku ozna eného jako Vývojovýdigram 2 je vývojový diagram.

Page 39: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 39

Obrázek 20 Nastín ní zdrojového kódu programu Spirála

6.3 Program 3 Jízda po liniích

Program Jízda po liniích se od ostatních program li í pouze v podprogramu Line. Naza átku programu jsou op t definice prom nných, pou itých idel, konstant a motor .V hlavním programu je jsou postupn spou ny takté t i podprogramy. Tyto programyobsahují prvky pro zastavování a spou ní jednotlivých program v závislosti na jejichnutnost pou ití.

Testování doteku a s podlo kou a vyhýbání se p eká kám je takté toto né seemi programy.

Hlavní rozdíl u tohoto programu je, e robot jezdí jenom rovn (po linii). Pokud robotnarazí na p eká ku, oto í se o cca 2 x 90° vlevo nebo vpravo. Uvádím zde jen p ibli ný údaj90°, proto e je nutné zapo ítat rychlost pohybu robota p i otá ení, materiál podlahy a tzv.ekací konstantu (tato konstanta je asový interval, po který vykonává robot ur enou v c).

Tato konstanta je definována jako 1/100 vte iny. Experimenty byla tato hodnota zji na anastavena na 80.

Funkce tohoto programu je následující:• i spu ní programu se za ne s kontrolou styku s podlahou (viz program

Náhodná procházka)• Poté se spustí pohyb po linii (robot jede rovn ) a zárove se spou tí kontrola

eká ek (pokud p i jízd ve spirále robot narazí do p eká ky, couvne pooto í

Page 40: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 40 2 LEGO

se vlevo nebo vpravo o ji zmín ných 2 x 90° a jede op t rovn ).Na obrázku 21 je nastín n zdrojový kód programu a na obrázku ozna eného jako Vývojový

digram 3 je vývojový diagram.

Obrázek 21 Nastín ní zdrojového kódu programu Linie

6.4 Program 4 Jiná náhodná procházka

Program Jiná náhodná procházka se od ostatních program li í pouze v podprogramuOther_random_move. Na za átku programu jsou op t definice prom nných, pou itých idel,konstant a motor . V hlavním programu je jsou postupn spou ny takté t i podprogramy.Tyto programy obsahují prvky pro zastavování a spou ní jednotlivých program v závislostina jejich nutnost pou ití.

Testování doteku a s podlo kou a vyhýbání se p eká kám je takté toto né seemi programy.

Hlavní rozdíl u tohoto programu je, e robot jezdí neustále náhodn a nedá seedvídat jeho dal í pohyb.

Funkce tohoto programu je následující:• i spu ní programu se za ne s kontrolou styku s podlahou (viz program

Náhodná procházka)• Poté se spustí pohyb podprogram po pohyb (robot jezdí jak se mu líbí) a

zárove se spou tí kontrola p eká ek a neustále testuje dotek s podlo kou.Tento program bych nazval pravým náhodným pohybem. Na obrázku 22 je nastín n

zdrojový kód programu a na obrázku ozna eného jako Vývojový digram 4 vývojový diagram.

Page 41: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 41

Obrázek 22 Nastín ní zdrojového kódu programu Jiná náhodná procházka

6.5 Program 5 Jízda podél st ny

Program Jízda podél st ny je odli ná od v ech p edchozích program . Na za átkuprogramu jsou op t definice prom nných, pou itých idel, konstant a motor . V hlavnímprogramu je jsou postupn spou ny takté t i podprogramy. Tyto programy obsahují prvkypro zastavování a spou ní jednotlivých program v závislosti na jejich nutnost pou ití.

Testování doteku a s podlo kou a vyhýbání se p eká kám je takté toto né seemi programy. Pokud robot narazí do p eká ky, kousek od ni couvne. Poté se jedu op t

proti p eká ce. To se opakuje do té doby, dokud se nesepne idlo na levém boku robota.Toto idlo slou í pro kontrolu jízdy podál st ny, nebo podél p eká ky. Jízda podél

st ny je tvrtým podprogramem, který se aktivuje pouze pokud je sepnuto levé bo nídotekové idlo. P i jízd podél p eká ky (st ny) jsou neustále aktivní dal í ochranné idla(pro kontrolu s podlo kou a pro detekci p eká ky).

Pokud se robot dostane na konec st ny (p eká ky), pokusí se znovu najít p eká ku.Pokud se mu to za ur itou dobu nepovede, pojede neustále rovn , dokud nenajde (nenarazí)dal í.

Robot p i jízd kolem st ny jede rovn po ur itou dobu. Po uplynutí této doby je

Page 42: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 42 2 LEGO

pokusí znovu najet do st ny bo ním idlem z d vodu, e se robot od st ny nepatrn vzdálí atím se st nou ztratí kontakt. Je to zp sobeno tím, e ka dý motor má minimální rozdílv to ících momentech. Robot jezdí kolem st ny po sm ru ob hu hodinových ru ek.

Na obrázku 23 je nastín n zdrojový kód programu a na obrázku ozna eného jako Vývojovýdigram 5 vývojový diagram.

Obrázek 23 Nastín ní zdrojového kódu programu Jízda podél st ny

6.6 Vývojové diagramy jednotlivých program

Vývojový diagram 1 Náhodná procházka

Page 43: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 43

Vývojový diagram 2 Náhodná spirála

Vývojový diagram 3 Jízda po linii

Page 44: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 44 2 LEGO

Vývojový diagram 4 Jiná náhodná procházka

Vývojový diagram 5 Jízda podél st ny

Page 45: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 45

7 ZÁV R

Úkolem této práce bylo vytvo it robota, který by dokázal nasimulovat pohybautonomního vysava e v prostoru s p eká kami a jízdou podél p eká ky (st ny) a aby bylschopen realizovat navrhnuté algoritmy tohoto pohybu.

Robot vysava se doká e pohodln vyhnout p eká ce a poté op t pokra ovatv p edchozím pohybu, jezdit po spirále a po nárazu do p eká ky p eru it tuto innost, vyhnoutse této p eká ce a znovu jezdit po nové spirále, doká e se naprosto náhodn pohybovat pomístnosti a zárove se vyhýbat p eká kám a v neposlední ad doká e podle p eká ky jet(toho se dá vyu ít pro vysávání kolem p eká ky a také podél st ny).

Mechanická realizace robota je provedena pomocí LEGA Mindstorms. Pou ití tétostavebnice bylo pro tuto aplikaci dostate né. Byly vytvo eny t i stavební konstrukce, kdeprvní dv nebyly vhodn zvoleny.

Stavebnice Lego poskytuje svou sou ástkovou základnou dobrý základ pro základníexperimenty s programováním robot a jejich mechanickou stavbou. Nevýhodou je, eoptická idla mají velmi malý rozsah (dají se rozeznat základní barevná spektra) a jsou velicenáchylné na zm nu sv telného prost edí. Na druhou stranu m mile p ekvapily dotekové(mechanické) senzory, nebo díky jejich funk ní jednoduchosti byl ji t etí konceptpou itelný.

Dal ím vypozorovaným nedostatkem této stavebnice jsou mechanické vlastnostijednotlivých sou ástek a pom rn malé sou ástkové základny. V n kterých p ípadech jsemmusel konstrukci slo it ím zp sobem zpev ovat a také pou ít svoji starou stavebnici propou ití n kterých kostek.

Dobrou výhodou v ech stavebnic Lego je, e se m ou kombinovat. Proto je dobré p ikoupi této stavebnice mít je alespo jednu „oby ejnou“ stavebnici.

i programování jsem ocenil mo nost výb ru programovacího software a jehorozhraní, které programování usnadní a zp íjemní.

které pou ité konstanty bylo pot eba zjistit experimentem, co zabralo dost asu alehkých úprav konstrukce.

Jednotlivé programy jsou naprogramovány tak, aby vyhovovaly zadání a taky abynebyly zbyte slo ité. To umo uje i vyu ití této práce jako pom cky pro výukuprogramovaní robot .

echny tyto programy se dají slou iv jeden komplikovan í program, který budeobsahovat jeden hlavní program a p t hlavních podprogram (pro ka dý program jeden).Ochranné prvky jako je kontrola podlahy a detekce p eká ek m e být pro v echny spole ná.Tohoto by se dalo vyu ití p i tvorb dal í práce, ur enou pro mechanickou konstrukci. Tím byvznikl prototyp funk ního robotnického vysava e jako domácího pomocníka s mo nostíbudoucích upgrad a mo ných úprav.

Page 46: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 46 2 LEGO

Page 47: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 47

SEZNAM POU ITÝCH SOU ÁSTEK

echny pou ité sou ástky jsou vyobrazeny na obrázku 24 a v tabulce 2 jsou v echnytyto sou ástky zapsány.

Druh kostky Po et Druh kostky Po etRCX kostka 1 Kostka 2 x 2 velikost 1/3 edá 3Mechanické dotekové idlo 3 Kostka 2 x 2 velikost 1/3 modrá 1Motor 2 Kostka 2 x 8 velikost 1/3 zelená 3Pásy 2 Kostka 2 x 8 velikost 1/3 s otvory edá 3Nosné pásové kolo 4 Kostka 2 x 6 velikost 1/3 s otvory edá 4Ozubené kolo 24 zub 4 Kostka 2 x 4 velikost 1/3 s otvory edá 7Ozubené kolo 16 zub 4 Kostka 2 x 2 velikost 1 ervená 2Kostka 1 x 16 s otvory velikost 1 4 Kostka 2 x 2 velikost 1 erná 4Kostka 1 x 8 velikost 1/3 edá 2 T - kus modrý 1Kostka 1 x 4 velikost 1/3 edá 8 T - kus edý 4Kostka 1 x 1 velikost 1/3 edá 4 T - kus edý pr hový 2Kostka 1 x 2 velikost 1/3 lutá 1 L - kus 4 x 4 modré 1Kostka 1 x 2 velikost 1/3 bílá 2 Hnací h ídel délky 4,5 cm 8Kostka 1 x 2 velikost 1/3 ervená 4 Hnací h ídel délky 9,5 cm 2Kostka 1 x 2 velikost 1/3 erná 8 Hnací h ídel délky 7,5 cm 1Kostka 1 x 2 velikost 1/3 edá 26 Ukon ovací kole ko h ídele tlou ka 3 mm 9Kostka 1 x 2 velikost 1 ervená 1 Ukon ovací kole ko h ídele tlou ka 6 mm 10Kostka 1 x 2 velikost 1 erná 6 P ívodní kabel st edn dlouhý 3Kostka 1 x 2 velikost 1 s otvorem ervená 2 P ívodní kabel krátký 2Kostka 1 x 2 velikost 1 s otvorem erná 8 P ídr ný distan ní len erný 4Kostka 1 x 2 velikost 1 s dv ma otvory 1

Tabulka 2 Seznam v ech pou itých sou ástek

Obrázek 24 V echny pot ebné sou ástky pro stavbu robota

Page 48: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 48 2 LEGO

Page 49: KONSTRUKCE JEDNODUCHÉHO AUTONOMNÍHO …autnt.fme.vutbr.cz/szz/2007/BP_Ocenasek.pdf · V roce 1932 ve vesnici Billund v Dánsku, tesa a truhlá jménem Ole Kirk ... Kirkovi spole

Strana 49

SEZNAM POU ITÉ LITERATURY

[1]Poli uk, R.: Titulní strana záv re né práce,

[2]Poli uk, R.: Instrukce pro autory záv re ných prací, 2006,http://autnt.fme.vutbr.cz/doc/SZZ2006_Instrukce.pdf

[3]Lego Mindstorms Constructopedia, 1998 The LEGO Group, ISBN: 1-57056-050-1

[4]FERRARI, Mario; Ferrari, Giulio; Hempel, Ralph : Building Robots With LegoMindstorms : The Ultimate Tool for Mindstorms Maniacs. 1. vydání: Syngress Publishing,Inc. 2002; ISBN 1-928994-67-9

[5]http://www.cleanmate.cz

[6]http://www.robotika.cz

[7]http://www.eduxe.cz

[8]http://www.cs.uu.nl/people/markov/lego