Rev 601 Rev 602
Line 10... Line 10...
10   10  
11 <p align="center"><font face="Arial"><font size="7">Robot CAMERUS<br> 11 <p align="center"><font face="Arial"><font size="7">Robot CAMERUS<br>
12 </font><font size="4">Jak se dìlá robot na IstRobot<br> 12 </font><font size="4">Jak se dìlá robot na IstRobot<br>
13 </font><br> 13 </font><br>
14 <a href="mailto:kaklik@mlab.cz">kaklik@mlab.cz</a>; <a href="mailto:kakl@i.cz"> 14 <a href="mailto:kaklik@mlab.cz">kaklik@mlab.cz</a>; <a href="mailto:kakl@i.cz">
15 kakl@i.cz</a><br> 15 kakl@i.cz</a><span lang="en-us">; M. Novot</span>ný<br>
16 &nbsp;</font></p> 16 &nbsp;</font></p>
17 <p align="center"><a href="pic/image001.jpg"> 17 <p align="center"><a href="pic/image001.jpg">
18 <img border="0" src="pic/image001_small.jpg" xthumbnail-orig-image="pic/image001.jpg"></a></p> 18 <img border="0" src="pic/image001_small.jpg" xthumbnail-orig-image="pic/image001.jpg"></a></p>
19 <p align="left"><font face="Times New Roman">Tato dokumentace popisuje 19 <p align="left"><font face="Times New Roman">Tato dokumentace popisuje
20 konstrukci robota Camerus, který byl zkonstruován pro soutìž IstRobot pro 20 konstrukci robota Camerus, který byl zkonstruován pro soutìž IstRobot pro
Line 49... Line 49...
49 použitého procesoru (PIC16F88). Tento problém jsme vyøešili tak, že jsme na 49 použitého procesoru (PIC16F88). Tento problém jsme vyøešili tak, že jsme na
50 zpracování signálù ze senzorù na èáru použili další samostatný procesor. Toto 50 zpracování signálù ze senzorù na èáru použili další samostatný procesor. Toto
51 øešení se však pozdìji neukázalo jako výhodné, protože ladit distribuovaný kód 51 øešení se však pozdìji neukázalo jako výhodné, protože ladit distribuovaný kód
52 bylo øádovì obtížnìjší a navíc se musela naprogramovat komunikace mezi 52 bylo øádovì obtížnìjší a navíc se musela naprogramovat komunikace mezi
53 procesory. Èasto se nám také stávalo, že jsme bìhem vývoje do jednoho procesoru 53 procesory. Èasto se nám také stávalo, že jsme bìhem vývoje do jednoho procesoru
54 nahráli kód pro druhý procesor, což kupodivu obèas trvalo urèitou dobu, než jsme 54 nahráli kód pro druhý procesor, což kupodivu <span lang="en-us">v</span>ždy trvalo urèitou dobu, než jsme
55 na to pøišli.<br> 55 na to pøišli.<br>
56 &nbsp;</font></p> 56 &nbsp;</font></p>
57 <p align="center"><font face="Times New Roman"><a href="pic/image007.jpg"> 57 <p align="center"><font face="Times New Roman"><a href="pic/image007.jpg">
58 <img border="0" src="pic/image007_small.jpg" xthumbnail-orig-image="pic/image007.jpg"></a></font></p> 58 <img border="0" src="pic/image007_small.jpg" xthumbnail-orig-image="pic/image007.jpg"></a></font></p>
59 <p align="center"><font face="Times New Roman">Obr<span lang="en-us">. </span>3: 59 <p align="center"><font face="Times New Roman">Obr<span lang="en-us">. </span>3:
Line 95... Line 95...
95 bílou lepicí pásku jako èernou (èidla pracují blízko ultrafialové oblasti). 95 bílou lepicí pásku jako èernou (èidla pracují blízko ultrafialové oblasti).
96 Tento problém by šel kompenzovat programovì, ale na soutìži se nepodaøilo 96 Tento problém by šel kompenzovat programovì, ale na soutìži se nepodaøilo
97 program v&nbsp;èasové tísni správnì upravit. Robot tedy nakonec nedojel.<br> 97 program v&nbsp;èasové tísni správnì upravit. Robot tedy nakonec nedojel.<br>
98 <br> 98 <br>
99 Odhadovali jsme, že nám chybìl tak týden na odladìní firmware, protože v&nbsp;roce 99 Odhadovali jsme, že nám chybìl tak týden na odladìní firmware, protože v&nbsp;roce
100 2006 u nás byla povodeò a ztratili jsme tak nejménì jeden mìsíc veèerù na 100 2006 u nás byla povodeò a ztratili jsme tak nejménì jeden kalendáøní mìsíc veèerù/weekendù na
101 programování. Nyní s&nbsp;odstupem èasu vidíme, že co se týká objetí cihly, chybìlo 101 programování. Nyní s&nbsp;odstupem èasu vidíme, že co se týká objetí cihly, chybìlo
102 mnohem více.<br> 102 nám mnohem více.<br>
103 &nbsp;</font></p> 103 &nbsp;</font></p>
104 <p align="left"><font face="Times New Roman" size="4"><b>Robot Laserus</b></font></p> 104 <p align="left"><font face="Times New Roman" size="4"><b>Robot Laserus</b></font></p>
105 <p align="left"><font face="Times New Roman">Další verzí robota se shodným 105 <p align="left"><font face="Times New Roman">Další verzí robota se shodným
106 podvozkem byl robot Laserus. Snahou bylo odstranit „tìžkᓠèidla pøedsunutá pøed 106 podvozkem byl robot Laserus. Snahou bylo odstranit „tìžkᓠèidla pøedsunutá pøed
107 robota a tak odstranit pøeklápìní v&nbsp;ostrých zatáèkách. Øešením by bylo zvìtšení 107 robota a tak odstranit pøeklápìní v&nbsp;ostrých zatáèkách. Øešením by bylo zvìtšení
Line 127... Line 127...
127 zrcátkem vypadl z&nbsp;rezonance. Tento problém by ovšem zøejmì šlo kompenzovat 127 zrcátkem vypadl z&nbsp;rezonance. Tento problém by ovšem zøejmì šlo kompenzovat
128 softwarem, protože se èára èetla v&nbsp;obou smìrech pohybu zrcátka. Jednou jsme tedy 128 softwarem, protože se èára èetla v&nbsp;obou smìrech pohybu zrcátka. Jednou jsme tedy
129 dostali polohu èáry mìøenou z leva a jednou z prava.<br> 129 dostali polohu èáry mìøenou z leva a jednou z prava.<br>
130 <br> 130 <br>
131 Druhý problém byl závažnìjší. Protože bylo použito zaøízení na ètení èárového 131 Druhý problém byl závažnìjší. Protože bylo použito zaøízení na ètení èárového
132 kódu, snímali jsme vlastnì polohu jedné èáry ve scanovaném prostoru. V&nbsp;prudké 132 kódu, snímali jsme vlastnì polohu jedné èáry fiktivního èárového kódu ve scanovaném prostoru. V&nbsp;prudké
133 zatáèce však dochází k&nbsp;tomu, že èáru vidí snímaè šikmo a tak se relativnì 133 zatáèce však dochází k&nbsp;tomu, že èáru vidí snímaè šikmo a tak se relativnì
134 zvìtšuje její tlouška. Vnitøní elektronika snímaèe vyhodnotila tento stav, jako 134 zvìtšuje její tlouška. Vnitøní elektronika snímaèe vyhodnotila tento stav, jako
135 že se nejedná o èárový kód a èáru vyfiltrovala. To samozøejmì mìlo v&nbsp;ostré 135 že se nejedná o èárový kód a èáru vyfiltrovala. To samozøejmì mìlo v&nbsp;ostré
136 zatáèce fatální následky. Dále jsme touto cestou nepokraèovali, pøesto, že víme, 136 zatáèce fatální následky. Dále jsme touto cestou nepokraèovali, pøesto, že víme,
137 že v&nbsp;závodì DARPA se èasto používají laserové dálkomìry. Na soutìžních vozech je 137 že v&nbsp;závodì DARPA se èasto používají laserové dálkomìry. Na soutìžních vozech je
Line 269... Line 269...
269 <br> 269 <br>
270 Obr<span lang="en-us">.</span> 9: Robot Camerus na Robot Challenge 2007. Robot 270 Obr<span lang="en-us">.</span> 9: Robot Camerus na Robot Challenge 2007. Robot
271 nemá dostatek èidel na bezpeèné objetí pøekážky.<br> 271 nemá dostatek èidel na bezpeèné objetí pøekážky.<br>
272 &nbsp;</font></p> 272 &nbsp;</font></p>
273 <p align="left"><font face="Times New Roman">Jednoznaènì se ukázalo, že objíždìt 273 <p align="left"><font face="Times New Roman">Jednoznaènì se ukázalo, že objíždìt
274 pøekážku „naslepo“ není dobrá strategie a zejména, pokud je odometrie na hnané 274 pøekážku „napùl naslepo“ není dobrá strategie a zejména, pokud je odometrie na hnané
275 nápravì.<br> 275 nápravì.<br>
276 &nbsp;</font></p> 276 &nbsp;</font></p>
277 <p align="left"><font face="Times New Roman" size="4"><b>Co s&nbsp;cihlou?</b></font></p> 277 <p align="left"><font face="Times New Roman" size="4"><b>Co s&nbsp;cihlou?</b></font></p>
278 <p align="left"><font face="Times New Roman">Další vývoj jsme vìnovali objíždìní 278 <p align="left"><font face="Times New Roman">Další vývoj jsme vìnovali objíždìní
279 cihly za pomoci èidel. Jaká èidla ale použít? Mìli jsme špatné zkušenosti s&nbsp;IR 279 cihly za pomoci èidel. Jaká èidla ale použít? Mìli jsme špatné zkušenosti s&nbsp;IR
280 èidly s&nbsp;3Orbise a roboty s&nbsp;ultrazvukem jsme zase na minulých roènících vidìli, 280 èidly z&nbsp;3Orbise a roboty s&nbsp;ultrazvukem jsme zase na minulých roènících vidìli,
281 že si spletli tunel s&nbsp;cihlou, pøípadnì nevidìli cihlu, pokud se k&nbsp;ní blížili 281 že si spletli tunel s&nbsp;cihlou, pøípadnì nevidìli cihlu, pokud se k&nbsp;ní blížili
282 zešikma.<br> 282 zešikma.<br>
283 <br> 283 <br>
284 Nevìdìli jsme co s&nbsp;tím a tak jsme zaèali zkoušet. Mìøili jsme, co „vidí“ 284 Nevìdìli jsme co s&nbsp;tím a tak jsme zaèali zkoušet. Mìøili jsme, co „vidí“
285 ultrazvuk a co rùzná optická èidla. Pøi mìøení se ukázaly všechny pøedpokládané 285 ultrazvuk a co rùzná optická èidla. Pøi mìøení se ukázaly všechny pøedpokládané
Line 289... Line 289...
289 dobøe, sedmi! Jeden IR senzor vpøedu na detekci pøiblížení se k&nbsp;cihle. Funguje 289 dobøe, sedmi! Jeden IR senzor vpøedu na detekci pøiblížení se k&nbsp;cihle. Funguje
290 na principu triangulace. IR vysílací dioda má úzkou hliníkovou trubièkou zúžen 290 na principu triangulace. IR vysílací dioda má úzkou hliníkovou trubièkou zúžen
291 paprsek, aby nedocházelo k&nbsp;jeho integraci na velké vzdálené ploše. Další dva 291 paprsek, aby nedocházelo k&nbsp;jeho integraci na velké vzdálené ploše. Další dva
292 senzory jsou mikrospínaèe na mechanickém nárazníku, kdyby se stalo, že 292 senzory jsou mikrospínaèe na mechanickém nárazníku, kdyby se stalo, že
293 triangulaèní èidlo cihlu pøehlédne. To se mùže stát v&nbsp;prudké zatáèce. Z&nbsp;boku 293 triangulaèní èidlo cihlu pøehlédne. To se mùže stát v&nbsp;prudké zatáèce. Z&nbsp;boku
294 jsou pak ultrazvukový senzor a dálkomìr s&nbsp;èervenou LED. Tyto èidla udržují 294 jsou pak ultrazvukový senzor a on/off dálkomìr s&nbsp;èervenou LED. Tyto èidla udržují
295 konstantní vzdálenost od cihly pøi jejím objíždìní. K&nbsp;tomu ještì již zmínìná 295 konstantní vzdálenost od cihly pøi jejím objíždìní. K&nbsp;tomu ještì již zmínìná odometrie na pravém koleèku, která zajišuje prudkou zatáèku doleva jakmile je
296 odometrie na pravém koleèku, která zajišuje prudkou zatáèku doleva jakmile je -  
297 cihla detekována a nakonec kompas, který zabraòuje, aby se robot vracel zpìt po 296 cihla detekována a nakonec kompas, který zabraòuje, aby se robot vracel zpìt po
298 trati (to se mùže stát, protože mezi pøedním èidlem a boèními èidly je slepý 297 trati (to se mùže stát, protože mezi pøedním èidlem a boèními èidly je slepý
299 úhel).<br> 298 úhel).<br>
300 <br> 299 <br>
301 Pøidání dalších èidel se neobešlo bez konstrukèních problémù. Boèní LED èidlo se 300 Pøidání dalších èidel se neobešlo bez konstrukèních problémù. Boèní LED èidlo se
Line 336... Line 335...
336 Zkusili jsme je pøilepit epoxidem. Naneštìstí nám trochu epoxidu zøejmì nateklo 335 Zkusili jsme je pøilepit epoxidem. Naneštìstí nám trochu epoxidu zøejmì nateklo
337 do ložisek a koleèka se zase utrhla. Poslední nedìli pøed soutìží jsme tedy 336 do ložisek a koleèka se zase utrhla. Poslední nedìli pøed soutìží jsme tedy
338 mìli zatuhlé pøevodovky a koleèka prokluzovala. Snažili jsme se do høídelek 337 mìli zatuhlé pøevodovky a koleèka prokluzovala. Snažili jsme se do høídelek
339 vyvrtat dírky a dát tam kolík, ale vrták vùbec nitridovanou ocel z&nbsp;CD mechanik 338 vyvrtat dírky a dát tam kolík, ale vrták vùbec nitridovanou ocel z&nbsp;CD mechanik
340 nebral. Nakonec jsme do høídelek pouze vypilovali drážky a opìt jsme je zalili 339 nebral. Nakonec jsme do høídelek pouze vypilovali drážky a opìt jsme je zalili
341 epoxidem. Jestli neprokluzují, jsme pro jistotu už nezkoušeli.<br> 340 epoxidem. Jestli neprokluzují, jsme pro jistotu už nezkoušeli. </font></p>
-   341 <p align="left"><font face="Times New Roman">Pøi manipulaci s pravou pøevodovkou
-   342 se podaøilo ulomit vývod od IR závory na odometrii. Protože nešla vymìnit (je
-   343 zalepená v pàevodovce)a nechtìli jsme mìnit celou pøevodovku, natavili jsme její
-   344 pouzdro pájkou a drátek pøiletovali na pahýl vývodu.<br>
342 <br> 345 <br>
343 Ještì bylo nutné znovu zabìhnout pøevodovky, to jsme dìlali pøes noc z&nbsp;pondìlí 346 Po rozebrání bylo nutné pøevodovky nechat znovu zabìhnout, to jsme dìlali pøes noc z&nbsp;pondìlí
344 na úterý (IstRobot bývá ve støedu a my tam obvykle jedeme v&nbsp;úterý dopoledne). 347 na úterý (IstRobot bývá ve støedu a my tam obvykle jedeme v&nbsp;úterý dopoledne).
345 Motory se toèily do rána do poslední chvíle pøed naložením robota do auta.<br> 348 Motory se toèily do rána do poslední chvíle pøed naložením robota do auta.<br>
346 &nbsp;</font></p> 349 &nbsp;</font></p>
347 <p align="left"><font face="Times New Roman" size="4"><b>Noc pøed soutìží</b></font></p> 350 <p align="left"><font face="Times New Roman" size="4"><b>Noc pøed soutìží</b></font></p>
348 <p align="left"><font face="Times New Roman">„Kdyby nebylo poslední noci, tak 351 <p align="left"><font face="Times New Roman">„Kdyby nebylo poslední noci, tak
Line 352... Line 355...
352 <br> 355 <br>
353 A vùbec to nejezdilo. Robot mìl malý výkon v&nbsp;levotoèivé zatáèce, pøi objíždìní 356 A vùbec to nejezdilo. Robot mìl malý výkon v&nbsp;levotoèivé zatáèce, pøi objíždìní
354 cihly se dokonce obèas zastavil. No jasnì, øekli jsme si, jsou stále zatuhlé 357 cihly se dokonce obèas zastavil. No jasnì, øekli jsme si, jsou stále zatuhlé
355 pøevodovky, zmìnili jsme pár konstant v&nbsp;programu a jakš takš to zase jezdilo. 358 pøevodovky, zmìnili jsme pár konstant v&nbsp;programu a jakš takš to zase jezdilo.
356 Situace se ale o pùlnoci zase zhoršila a zaèal smrdìt H-mùstek. Vymìnili jsme 359 Situace se ale o pùlnoci zase zhoršila a zaèal smrdìt H-mùstek. Vymìnili jsme
357 tedy H-mùstek a nepomohlo to. Vymìnili jsme tedy motor a pomohlo to! (Pozdìjší analýzou záznamu použitého dílu bylo zjištìno, že motor è.2 byl použit spolu s pùvodním podvozkem na výstavì Vzdìlání a Øemeslo v Èeských Budìjovicích, kde byla levotoèivá tra a jeho provozní doba tak vzrostla o desítky hodin proti motoru è.1) Vrátili jsme tedy do 360 tedy H-mùstek a nepomohlo to. Vymìnili jsme tedy motor a pomohlo to! (Pozdìjší analýzou záznamu použitého dílu bylo zjištìno, že motor è.2 byl použit spolu s pùvodním podvozkem na výstavì Vzdìlání a Øemeslo v Èeských Budìjovicích, kde byla levotoèivá tra a jeho provozní doba tak vzrostla o desítky hodin proti motoru è.1<span lang="en">&nbsp;.</span>)
-   361 Po výmìnì motoru jsme vrátili do
358 robota pùvodní H-mùstek (asi tak v&nbsp;jednu hodinu ráno) a zase to nejelo. Mìøením 362 robota pùvodní H-mùstek (asi tak v&nbsp;jednu hodinu ráno) a zase to nejelo. Mìøením
359 jsme pak zjistili dvì vìci, jednak byly pøes pájecí lak odizolovány zemnící 363 jsme pak zjistili dvì vìci, jednak byly pøes pájecí lak odizolovány zemnící
360 šrouby na plošném spoji H-mùstku a tak všechen proud tekl pøes høebínkový 364 šrouby na plošném spoji H-mùstku a tak všechen proud tekl pøes høebínkový
361 konektor a pak tam ještì byl zkrat pøes jeden tranzistor H-mùstku, takže jeden 365 konektor a pak tam ještì byl zkrat pøes jeden tranzistor H-mùstku, takže jeden
362 motor nereverzoval. Pøedstavte si, že tyto závady byly vykompenzovány 366 motor nereverzoval. Pøedstavte si, že tyto závady byly vykompenzovány
363 regulátorem v&nbsp;software a že s&nbsp;nimi byl Camerus na Robot Challenge tøetí!<br> 367 jednak regulátorem v&nbsp;software a také koncepcí podvozku, a že s&nbsp;nimi byl Camerus na Robot Challenge tøetí!<br>
364 <br> 368 <br>
365 Pak už jenom staèilo doprogramovat tu logovací proceduru (pøepisovala pamì). A 369 Pak už jenom staèilo doprogramovat tu logovací proceduru (pøepisovala pamì). A
366 kolem páté hodiny ranní byl robot pøipraven na soutìž.<br> 370 kolem páté hodiny ranní byl robot pøipraven na soutìž.<br>
367 &nbsp;</font></p> 371 &nbsp;</font></p>
368 <p align="left"><font face="Times New Roman" size="4"><b>IstRobot 2007</b></font></p> 372 <p align="left"><font face="Times New Roman" size="4"><b>IstRobot 2007</b></font></p>