o: ActiveSupport::Cache::Entry :@compressedF:@value"4À"-À
| Designs/ROBOTS/Camerus/htm/index.htm | ||
|---|---|---|
| 1 |
<html> |
|
| 2 |
|
|
| 3 |
<head> |
|
| 4 |
<meta http-equiv="Content-Language" content="cs"> |
|
| 5 |
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> |
|
| 6 |
<title>Camerus</title> |
|
| 7 |
</head> |
|
| 8 |
|
|
| 9 |
<body> |
|
| 10 |
|
|
| 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> |
|
| 13 |
</font><br> |
|
| 14 |
<a href="mailto:kaklik@mlab.cz">kaklik@mlab.cz</a>; <a href="mailto:kakl@i.cz"> |
|
| 15 |
kakl@i.cz</a><span lang="en-us">; <font size="2">M. Novot</font></span><font size="2">n?</font><br> |
|
| 16 |
</font></p> |
|
| 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> |
|
| 19 |
<p align="left"><font face="Times New Roman">Tato dokumentace popisuje |
|
| 20 |
konstrukci robota Camerus, kter? byl zkonstruov?n pro sout?? IstRobot pro |
|
| 21 |
kategorii Stop?r (<a href="http://www.robotika.sk/contest/">http://www.robotika.sk/contest/</a>). |
|
| 22 |
<br> |
|
| 23 |
<br> |
|
| 24 |
Sna?ili jsme se technickou dokumentaci pojmout pon?kud netradi?n?. Krom? popisu |
|
| 25 |
fin?ln? verze robota zde naleznete chronologick? popis jeho v?voje a popis v?ech |
|
| 26 |
slep?ch uli?ek. Douf?me, ?e takov?to forma dokumentace bude m?t pro na?e |
|
| 27 |
n?sledovn?ky v?t?? hodnotu ne? pouh? n?vod na zopakov?n? konstrukce.<br> |
|
| 28 |
</font></p> |
|
| 29 |
<p align="left"><font face="Times New Roman" size="4"><b>Robot 3Orbis</b></font></p> |
|
| 30 |
<p align="left"><font face="Times New Roman"><span lang="cs">V?voj robota |
|
| 31 |
Camerus za?al p?ed v?ce jak dv?ma roky v?vojem robota 3Orbis. Robot 3Orbis m?l |
|
| 32 |
m?t novou revolu?n? koncepci podvozku. Pou?ili jsme t??kol? podvozek, kter? m?l |
|
| 33 |
dv? hnan? kola, ka?d? s nez?visl?m motorem a t?et? kolo, kter? m?lo ??zen? |
|
| 34 |
zat??en?. Jednalo se tedy o nonholonomn? podvozek. Koncepci podvozku jsme |
|
| 35 |
nejd??ve ov??ovali se dv?ma senzory na ??ru, jako to m?ly na?i p?edchoz? |
|
| 36 |
holonomn? roboti. To moc nefungovalo a proto jsme p?idali dal?? senzory, pomoc? |
|
| 37 |
kter?ch se diskr?tn? nastavoval ?hel zat??ec?ho kole?ka.</span></font></p> |
|
| 38 |
<p align="center"><font face="Times New Roman"><a href="pic/image003.jpg"> |
|
| 39 |
<img border="0" src="pic/image003_small.jpg" xthumbnail-orig-image="pic/image003.jpg"></a></font></p> |
|
| 40 |
<p align="center"><font face="Times New Roman">Ob<span lang="en-us">r.</span>1: |
|
| 41 |
Prvn? pokusy s t??kol?m a t??motorov?m robotem<br> |
|
| 42 |
<br> |
|
| 43 |
<a href="pic/image005.jpg"> |
|
| 44 |
<img border="0" src="pic/image005_small.jpg" xthumbnail-orig-image="pic/image005.jpg"></a></font></p> |
|
| 45 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 2: |
|
| 46 |
Baterie senzor? na ??ru</font></p> |
|
| 47 |
<p align="left"><font face="Times New Roman"><br> |
|
| 48 |
P?id?n?m dal??ch senzor? na ??ru jsme se dostali do probl?m? s po?tem vstup? |
|
| 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 |
|
| 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 |
|
| 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 <span lang="en-us">v</span>?dy trvalo ur?itou dobu, ne? jsme |
|
| 55 |
na to p?i?li.<br> |
|
| 56 |
</font></p> |
|
| 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> |
|
| 59 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">. </span>3: |
|
| 60 |
P?edn? n?hon; p?id?no druh? patro na elektroniku<br> |
|
| 61 |
</font></p> |
|
| 62 |
<p align="left"><font face="Times New Roman">P?vodn? koncepce p?edpokl?dala |
|
| 63 |
hnan? kola vp?edu a zat??ec? kolo vzadu. Model??sk? servo v?ak nedok?zalo |
|
| 64 |
dostate?n? rychle zat??et, p?esto?e bylo zp?evodov?no do rychla p?evodem 1:2. |
|
| 65 |
Zm?nili jsme proto uspo??d?n? na hnanou n?pravu vzadu a zat??ec? kole?ko vp?edu. |
|
| 66 |
To n?m umo??ovalo ?ost?e ?ezat zat??ky?, ale objevily se dal?? probl?my. |
|
| 67 |
Podvozek se v zat??k?ch dost?val do smyku a proto?e hmotnost ?idel byla |
|
| 68 |
nezanedbateln?, doch?zelo i k jeho nakl?p?n? a n?sledn? k fale?n?mu sign?lu |
|
| 69 |
z ?idel, proto?e ?idla nebyla dr?ena v konstantn? vzd?lenosti od povrchu.<br> |
|
| 70 |
<br> |
|
| 71 |
Pro 3Orbise byla vysoustru?ena duralov? kola, pro kter? bylo pl?nov?no obut? ?O? |
|
| 72 |
krou?ky. To se pak uk?zalo jako nepou?iteln?. ?O? krou?ky se nedok?zaly udr?et |
|
| 73 |
v dr??k?ch na kolech. P?vodn? kola byla tedy nahrazena plastov?mi z d?tsk? |
|
| 74 |
hra?ky. Kola m?la men?? pr?m?r, co? zlep?ilo p?evodov? pom?r, kter? byl pro |
|
| 75 |
vyroben? p?evodovky 5:1. Jako obut? byly pou?ity ust?i?en? prsty z latexov?ch |
|
| 76 |
rukavic pro dom?cnost. Jako obut? zat??ec?ho kole?ka bylo pou?ito pry?ov? |
|
| 77 |
t?sn?n? 12x10x2. Na zat??ec? kole?ko bylo obuto tak, ?e se jelo po hran? |
|
| 78 |
t?sn?n?.</font></p> |
|
| 79 |
<p align="center"><font face="Times New Roman"> |
|
| 80 |
<br> |
|
| 81 |
<a href="pic/image009.jpg"> |
|
| 82 |
<img border="0" src="pic/image009_small.jpg" xthumbnail-orig-image="pic/image009.jpg"></a></font></p> |
|
| 83 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 4: |
|
| 84 |
Robot 3Orbis. Zadn? n?hon a men?? kole?ka z autobusu od syna pana Hronka.<br> |
|
| 85 |
Je vid?t ?idlo na hled?n? hrany cihly.</font></p> |
|
| 86 |
<p align="left"><font face="Times New Roman"><br> |
|
| 87 |
Pro detekci a obj??d?n? cihly byly na robotovi namontov?ny IR senzory. Jeden m?l |
|
| 88 |
detekovat p?ek??ku na dr?ze a zbyl? dva m?ly slou?it pro jej? objet?. Objet? |
|
| 89 |
cihly pomoc? IR senzor? jsme v?ak nedok?zali odladit. Obj??d?n? nebylo |
|
| 90 |
spolehliv? a tak robot nakonec obj??d?l cihlu naslepo. <br> |
|
| 91 |
P?i sout??i se objevil ne?ekan? probl?m, kv?li kter?mu robot nakonec nedojel. |
|
| 92 |
Sout??n? dr?ha je tvo?ena dv?ma deskami. Desky nejsou dokonale sl?cov?ny a tak |
|
| 93 |
mezi nimi vznik? tmav? mezera. Tato mezera byla na sout??n? dr?ze p?elepena |
|
| 94 |
b?lou lepic? p?skou. Bohu?el ?idla na ??ru, kter? robot pou??val, vyhodnocovala |
|
| 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 |
|
| 97 |
program v ?asov? t?sni spr?vn? upravit. Robot tedy nakonec nedojel.<br> |
|
| 98 |
<br> |
|
| 99 |
Odhadovali jsme, ?e n?m chyb?l tak t?den na odlad?n? firmware, proto?e v roce |
|
| 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 odstupem ?asu vid?me, ?e co se t?k? objet? cihly, chyb?lo |
|
| 102 |
n?m mnohem v?ce.<br> |
|
| 103 |
</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 |
|
| 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 ostr?ch zat??k?ch. ?e?en?m by bylo zv?t?en? |
|
| 108 |
dosahu ?idel na ??ru tak, aby mohla b?t um?st?na co nejbl??e k ose ot??en? |
|
| 109 |
robota. Z?rove? by se t?m sn??ila obvodov? setrva?n? hmotnost robota. Znovu jsme |
|
| 110 |
pou?ili t??kol? podvozek s jedn?m ??zen?m zat??ec?m kole?kem, p?esto?e na |
|
| 111 |
IstRobotu 2006 byla tato konfigurace diskutov?na a auto?i druh?ho robota |
|
| 112 |
s podobnou koncepc? se v diskusi vyj?d?ili, ?e to nebyl dobr? n?pad, ?e robot |
|
| 113 |
p?i v?t??ch rychlostech m? snahu se rozkmit?vat. ?e?en? tohoto probl?mu jsme |
|
| 114 |
vid?li ve zjemn?n? sn?m?n? ??ry tak, aby se precizn?ji nastavovalo zat??ec? |
|
| 115 |
kole?ko.<span lang="en-us"> </span>Napadlo n?s pou??t laserovou ?te?ku ??rov?ho |
|
| 116 |
k?du a skute?n? jsme postavili funk?n?ho robota (viz Obr?zek 5), kter? dok?zal, |
|
| 117 |
ale pomalu, jezdit po ???e. </font></p> |
|
| 118 |
<p align="center"><font face="Times New Roman"><a href="pic/image011.jpg"> |
|
| 119 |
<img border="0" src="pic/image011_small.jpg" xthumbnail-orig-image="pic/image011.jpg"></a></font></p> |
|
| 120 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 5: |
|
| 121 |
Robot Laserus. Na obr?zku je vid?t ?erven? stopa LASERu.</font></p> |
|
| 122 |
<p align="left"><font face="Times New Roman"> <br> |
|
| 123 |
Probl?my s touto konstrukc? byly dva. Pokud byl na dr?ze hrbol, tak se |
|
| 124 |
v d?sledku vibrac? zmen?il rozkmit laseru, proto?e laser je ve ?tec?m za??zen? |
|
| 125 |
rozm?t?v?n mechanicky zrc?tkem, kter? vibruje a velk? stranov? zrychlen? p?i |
|
| 126 |
p?ejet? hrbolu zp?sobovalo, ?e elektromagnetick? mechanismus, kter? pohybuje |
|
| 127 |
zrc?tkem vypadl z rezonance. Tento probl?m by ov?em z?ejm? ?lo kompenzovat |
|
| 128 |
softwarem, proto?e se ??ra ?etla v obou sm?rech pohybu zrc?tka. Jednou jsme tedy |
|
| 129 |
dostali polohu ??ry m??enou z leva a jednou z prava.<br> |
|
| 130 |
<br> |
|
| 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 fiktivn?ho ??rov?ho k?du ve scanovan?m prostoru. V prudk? |
|
| 133 |
zat??ce v?ak doch?z? k 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 |
|
| 135 |
?e se nejedn? o ??rov? k?d a ??ru vyfiltrovala. To samoz?ejm? m?lo v ostr? |
|
| 136 |
zat??ce fat?ln? n?sledky. D?le jsme touto cestou nepokra?ovali, p?esto, ?e v?me, |
|
| 137 |
?e v z?vod? DARPA se ?asto pou??vaj? laserov? d?lkom?ry. Na sout??n?ch vozech je |
|
| 138 |
v?ak vid?t, ?e konstrukt??i tak? maj? probl?my s odtlumen?m vibrac?.<br> |
|
| 139 |
</font></p> |
|
| 140 |
<p align="left"><font face="Times New Roman" size="4"><b>Robot Camerus</b></font></p> |
|
| 141 |
<p align="left"><font face="Times New Roman">Znovu se vyno?il n?pad, pou??t pro |
|
| 142 |
sn?m?n? ??ry kameru. To u? n?s napadlo n?kolikr?t, ale kdy? jsme n?pad |
|
| 143 |
analyzovali, v?dy se uk?zalo, ?e jednoduch?m jedno?ipov?m mikropo??ta?em nelze |
|
| 144 |
zpracov?vat obraz kamery. Druh?m probl?mem je, ?e b??n? dostupn? kamery maj? |
|
| 145 |
sn?mkov? kmito?et 50Hz, co? se n?m zd?lo na sn?m?n? ??ry pomal?.<span lang="en-us"> </span> |
|
| 146 |
P?esto jsme zakoupili jednu kameru a za?ali jsme osciloskopem testovat, co tak |
|
| 147 |
kamera vid? a jak by se to dalo zpracovat. Kupodivu jsme zjistili, ?e |
|
| 148 |
s procesorem na 20MHz st?h?me na??st jeden obrazov? ??dek asi s polovi?n?m |
|
| 149 |
rozli?en?m. To bylo povzbudiv? a zam??ili jsme se t?mto sm?rem.<br> |
|
| 150 |
Druh?m probl?mem bylo, ?e kamera nesn?m? kontrastn? obraz. Jak se vypo??dat |
|
| 151 |
v jedno?ipov?m po??ta?i s t?mto probl?mem, kdy? jeho v?po?etn? v?kon sta?? sotva |
|
| 152 |
na na?ten? ??dku a je?t? se mus? po??tat regulace pro elektronick? diferenci?l? |
|
| 153 |
(Pro zvolenou koncepci podvozku je nutn? diferencovat ot??ky motor? na hnan?ch |
|
| 154 |
n?prav?ch.)<br> |
|
| 155 |
<br> |
|
| 156 |
Probl?m jsme vy?e?ili n???m, ?emu jsme pracovn? za?ali ??kat ?digit?ln? |
|
| 157 |
kompar?tor?. Jednodu?e jsme pomoc? logick?ch hradel provedli OR t?ech nejvy???ch |
|
| 158 |
bit? jasov?ho sign?lu z kamery. V?echno co bylo pod 0x1F bylo tedy ?ern? a |
|
| 159 |
v?echno nad bylo b?l?. Expozici kamery pak bylo nutn? nastavit tak, aby |
|
| 160 |
nejsv?tlej?? ?ern? ??ra, byla je?t? ?ern?. To se ud?lalo snadno osciloskopem, |
|
| 161 |
ale pro z?vod bylo nutn? vyvinout n?jakou strategii, jak robot provede ur?en? |
|
| 162 |
expozice. ?e?en?m byla rutina ?Expozimetr?, kter? postupn? zvy?uje expozi?n? ?as |
|
| 163 |
a hled? ve sn?mku (samoz?ejm?, ?e v na?em p??pad? na jedn? ??dce) ??ru |
|
| 164 |
definovan? tlou??ky. Vych?z? se z toho, ?e nejd??ve p?i podexponov?n? je ?ern? |
|
| 165 |
cel? obr?zek, pak se postupn? obr?zek vyjas?uje, co? je ov?em d?ky chyb? |
|
| 166 |
apertury objektivu nerovnom?rn?. Dal??m zvy?ov?n?m ?asu expozice se nakonec |
|
| 167 |
objev? ??ra spr?vn? tlou??ky, ta se pak d?le zten?uje a nakonec je sn?mek |
|
| 168 |
p?ep?len a ??ra zmiz?. Samoz?ejm? se p?edpokl?dalo, ?e na startu robot ??ru vid? |
|
| 169 |
a ta je p?ed n?m p?ibli?n? uprost?ed. <br> |
|
| 170 |
<br> |
|
| 171 |
Prvn? pokusy vypadaly velmi optimisticky, robot se dr?el ??ry a vyjel jenom |
|
| 172 |
ob?as. Zaj?mav? bylo, ?e robot dok?zal jezdit jenom po dr?ze, kde nebyly zat??ky |
|
| 173 |
doleva! Proto?e jsme nem?li k dispozici obraz z kamery, aby bylo mo?n? |
|
| 174 |
zkontrolovat co kamera vid?, bylo nutn? tento probl?m ?e?it pouhou ?vahou. |
|
| 175 |
Napadlo n?s, ?e m??e doch?zet k ?vytrh?v?n? obrazu? na kraj?ch sn?mku. |
|
| 176 |
Kompenzovalo se to t?m, ?e se zahazovaly okraje ??dku a skute?n? to pomohlo, |
|
| 177 |
robot spolehliv?, i kdy? pomalu, sledoval ??ru. To byl velk? ?sp?ch, proto?e |
|
| 178 |
kdyby n?m n?kdo ?ekl p?ed rokem, ?e to s kamerou a jedno?ipov?m po??ta?em jde, a |
|
| 179 |
?e je to spolehliv?, asi by jsme mu nev??ili.<br> |
|
| 180 |
<br> |
|
| 181 |
Po prvotn?ch ?sp???ch jsme zkusili zrychlit jen?e to nefungovalo, robot v?dy |
|
| 182 |
vypadl z dr?hy, kdy? se zat??ec? kole?ko oto?ilo o velk? ?hel. Napadlo n?s, ?e |
|
| 183 |
to m??e b?t zp?sobeno proudov?mi ?pi?kami, kter? zp?sobuje motor serva. Pro |
|
| 184 |
stabilizaci nap?jen? pro elektroniku byl toti? pou?it line?rn? stabiliz?tor |
|
| 185 |
s velk?m drop-outem. Proto jsme vyvinuli m?ni?, kter? i p?i poklesu nap?t? |
|
| 186 |
bateri? o 2V dok?zal udr?et nap?t? pro ??d?c? elektroniku a zejm?na kameru |
|
| 187 |
stabiln?. Po tomto vylep?en? u? robot dosahoval pom?rn? slu?n? rychlosti a |
|
| 188 |
nejzaj?mav?j?? bylo, ?e d?ky ?velk?? rozli?ovac? schopnosti kamery (procesor |
|
| 189 |
dok?zal rozli?it asi 50 bod?) byla j?zda v zat??k?ch velmi plynul?.<br> |
|
| 190 |
<br> |
|
| 191 |
Probl?m s tmou v tunelu byl vy?e?en jednodu?e tak, ?e si robot celou cestu |
|
| 192 |
sv?til. Na osv?tlen? dr?hy byly pou?ity ?erven? LED. Nev?me, jak? barva pro |
|
| 193 |
osv?tlen? dr?hy je nejlep??, eventueln?, jestli je lep?? sv?tit b?le. S t?m jsme |
|
| 194 |
u? nestihli p?ed sout??? experimentovat.<br> |
|
| 195 |
<br> |
|
| 196 |
Proto?e pou?it? procesor PIC16F876A neum? n?sobit a v?bec jeho v?po?etn? v?kon |
|
| 197 |
nen? omra?uj?c? (kdybychom ho ale m?li p?ed lety, tak by jsme si ur?it? |
|
| 198 |
nest??ovali), byl celkem probl?m naprogramovat elektronick? diferenci?l na |
|
| 199 |
hnanou n?pravu. Nakonec se to vy?e?ilo procedurou ?jakon?soben??, kter? |
|
| 200 |
kombinac? rotac? a podm?n?n?ho s??t?n? prov?d? rychle pot?ebn? v?po?et |
|
| 201 |
s uspokojivou p?esnost?.</font></p> |
|
| 202 |
<p align="center"><font face="Times New Roman"><a href="pic/image013.jpg"> |
|
| 203 |
<img border="0" src="pic/image013_small.jpg" xthumbnail-orig-image="pic/image013.jpg"></a></font></p> |
|
| 204 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 6: |
|
| 205 |
M?ni? v krabi?ce od ?aje a primitivn? osv?tlen? dr?hy.<br> |
|
| 206 |
</font></p> |
|
| 207 |
<p align="center"><font face="Times New Roman"><a href="pic/image015.jpg"> |
|
| 208 |
<img border="0" src="pic/image015_small.jpg" xthumbnail-orig-image="pic/image015.jpg"></a></font></p> |
|
| 209 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 7: |
|
| 210 |
Robot, p??tel ?lov?ka.</font></p> |
|
| 211 |
<p align="left"><font face="Times New Roman">Za?ali jsme tedy testovat pro |
|
| 212 |
sledov?n? ??ry asi nejobt??n?j?? v?c, dlouhou rovinku a na konci pravo?hlou |
|
| 213 |
zat??ku. P?i dal??m zvy?ov?n? rychlosti za?al robot v takov? zat??ce vypad?vat. |
|
| 214 |
Ne, ?e by p??mo vyjel a nevr?til se na dr?hu, ale polom?r zat??en? byl men?? ne? |
|
| 215 |
polom?r zat??ky a hrozilo tedy, ?e v Bratislav? spadne ze stolu. Ud?lali jsme |
|
| 216 |
p?edpoklad, ?e je to zp?sobeno pomal?m sn?mkov?m kmito?tem kamery, ne? si robot |
|
| 217 |
sta?il v?imnout, ?e je zat??ka ostr?, zmizela mu ??ra ze zorn?ho pole.<br> |
|
| 218 |
<br> |
|
| 219 |
Dal??m probl?mem bylo, ?e pokud bylo nerovnom?rn? osv?tlen? dr?hy, vypad?val |
|
| 220 |
kame?e obraz. Kamera m? sice AGC, ale samoz?ejm?, ?e je schopna kompenzovat |
|
| 221 |
rozd?ly jasu jenom v ur?it?ch mez?ch. Kupodivu nebyl probl?m v tunelu, kde si |
|
| 222 |
robot sv?t?, ale velk? probl?m byl s denn?m sv?tlem, pokud p?ich?zelo pouze |
|
| 223 |
z jednoho sm?ru.<br> |
|
| 224 |
<br> |
|
| 225 |
Konstruk?n? ?e?en?, kter? n?sledovalo, bylo dopln?n? dvou p?vodn?ch modr?ch ?idel po |
|
| 226 |
stran?ch robota na sledov?n? ??ry. ?idla byla um?st?na tak, ?e vid?la ??ru, a? |
|
| 227 |
kdy? ??ra byla mimo zorn? pole kamery a uplat?ovala se pouze v p??pad?, ?e |
|
| 228 |
kamera ??ru nevid?. To velmi zv??ilo spolehlivost sledov?n? ??ry. Z?rove? jsme |
|
| 229 |
tato ?idla pou?ili pro op?tovn? vyhled?n? ??ry po objet? cihly, proto?e jsme se |
|
| 230 |
b?li pro tento ?kol pou??t kameru, proto?e po dobu obj??d?n? cihly kamera nevid? |
|
| 231 |
kontrastn? obr?zek (nevid? ??ru) a d?ky AGC by mohla zaznamenat st?n nebo ?p?nu |
|
| 232 |
na trati jako ??ru. <br> |
|
| 233 |
<br> |
|
| 234 |
Na obj??d?n? cihly byl robot Camerus vybaven odometri? na prav?m kole. Vyu?ili |
|
| 235 |
jsme otvor? ve v?t??m kole p?evodovky a IR z?vory z tisk?rny. Citlivost o<span lang="en-us">d</span>ometrie |
|
| 236 |
nebyla velk? (4 impulzy na jednu ot??ku kole?ka (12,6mm)).<br> |
|
| 237 |
</font></p> |
|
| 238 |
<p align="left"><b><font face="Times New Roman" size="4">Jak jsme jeli ?ladit? |
|
| 239 |
do V?dn?</font></b></p> |
|
| 240 |
<p align="left"><font face="Times New Roman">V?e pot?ebn? bylo naprogramov?no, |
|
| 241 |
robot sledoval ??ru. P?eru?en? ned?lalo probl?my, prost? byl v?padek obrazu a |
|
| 242 |
robot pokra?oval v p?vodn?m sm?ru p?ed p?eru?en?m. Cihla byla ?e?ena pomoc? |
|
| 243 |
odometrie. Takto vybaveni jsme odjeli do V?dn? na Robot Challenge 2007. ?ekli |
|
| 244 |
jsme si, ?e to tam odlad?me, proto?e jsou tam jednodu??? podm?nky ne? |
|
| 245 |
v Bratislav? (alespo? na prvn? pohled, robot m??e b?t v?t?? a tunel je tak? |
|
| 246 |
v?t??, tak?e men?? robot nemus? jet tak p?esn?).<br> |
|
| 247 |
<br> |
|
| 248 |
Rozhodnut? ladit robota na Robot Challenge se uk?zalo jako spr?vn?. Podm?nky |
|
| 249 |
toti? byly n?ro?n?. Bodov? osv?tlen?, dr?ha slo?en? z desek s mezerami, styl |
|
| 250 |
sout??e play-off.<br> |
|
| 251 |
<br> |
|
| 252 |
Camerus ur?it? jezdil nejrychleji, ale nedok?zal objet cihlu! Jednou se stalo, |
|
| 253 |
?e uvid?l mezeru mezi deskami, podruh? mu z?ejm? proklouzlo kole?ko s odometri?, |
|
| 254 |
prost? katastrofa! Alespo?, ?e byl t?et? v paraleln?m slalomu, to jsme mu ale |
|
| 255 |
zavinili my, proto?e jsme mu p?i zkou?en? objet? cihly st?hli v?kon motor? a pak |
|
| 256 |
jsme na to zapomn?li. Za t?et? m?sto tedy nemohl robot, ale lidsk? faktor.<br> |
|
| 257 |
<br> |
|
| 258 |
</font></p> |
|
| 259 |
<p align="center"><font face="Times New Roman"><a href="pic/image017.jpg"> |
|
| 260 |
<img border="0" src="pic/image017_small.jpg" xthumbnail-orig-image="pic/image017.jpg"></a></font></p> |
|
| 261 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 8: |
|
| 262 |
Robot Challenge 2007, Parallel Slalom. Robot Camerus na dr?ze ??slo 1. Na dr?ze |
|
| 263 |
jsou patrn? st?ny od bodov?ho osv?tlen?.<br> |
|
| 264 |
</font></p> |
|
| 265 |
<p align="center"><font face="Times New Roman"><a href="pic/image019.jpg"> |
|
| 266 |
<img border="0" src="pic/image019_small.jpg" xthumbnail-orig-image="pic/image019.jpg"></a><span lang="en-us"> |
|
| 267 |
</span><a href="pic/P3180028.JPG"> |
|
| 268 |
<img border="0" src="pic/P3180028_small.JPG" xthumbnail-orig-image="pic/P3180028.JPG"></a><br> |
|
| 269 |
<br> |
|
| 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> |
|
| 272 |
</font></p> |
|
| 273 |
<p align="left"><font face="Times New Roman">Jednozna?n? se uk?zalo, ?e obj??d?t |
|
| 274 |
p?ek??ku ?nap?l naslepo? nen? dobr? strategie a zejm?na, pokud je odometrie na hnan? |
|
| 275 |
n?prav?.<br> |
|
| 276 |
</font></p> |
|
| 277 |
<p align="left"><font face="Times New Roman" size="4"><b>Co s cihlou?</b></font></p> |
|
| 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 IR |
|
| 280 |
?idly z 3Orbise a roboty s ultrazvukem jsme zase na minul?ch ro?n?c?ch vid?li, |
|
| 281 |
?e si spletli tunel s cihlou, p??padn? nevid?li cihlu, pokud se k n? bl??ili |
|
| 282 |
ze?ikma.<br> |
|
| 283 |
<br> |
|
| 284 |
Nev?d?li jsme co s 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? |
|
| 286 |
probl?my. Ultrazvuk vid? kde co, jenom ne cihlu, kdy? je ?ikmo. IR sn?ma? vid? |
|
| 287 |
cihlu sice spolehliv?, ale stejn? dob?e jako velkou b?lou ze? n?kolik metr? |
|
| 288 |
daleko. Nakonec byla pro cihlu zvolena kombinace sedmi senzor?. Skute?n? ?tete |
|
| 289 |
dob?e, sedmi! Jeden IR senzor vp?edu na detekci p?ibl??en? se k cihle. Funguje |
|
| 290 |
na principu triangulace. IR vys?lac? dioda m? ?zkou hlin?kovou trubi?kou z??en |
|
| 291 |
paprsek, aby nedoch?zelo k 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 |
|
| 293 |
triangula?n? ?idlo cihlu p?ehl?dne. To se m??e st?t v prudk? zat??ce. Z boku |
|
| 294 |
jsou pak ultrazvukov? senzor a on/off d?lkom?r s ?ervenou LED. Tyto ?idla udr?uj? |
|
| 295 |
konstantn? vzd?lenost od cihly p?i jej?m obj??d?n?. K tomu je?t? ji? zm?n?n? odometrie na prav?m kole?ku, kter? zaji??uje prudkou zat??ku doleva jakmile je |
|
| 296 |
cihla detekov?na a nakonec kompas, kter? zabra?uje, aby se robot vracel zp?t po |
|
| 297 |
trati (to se m??e st?t, proto?e mezi p?edn?m ?idlem a bo?n?mi ?idly je slep? |
|
| 298 |
?hel).<br> |
|
| 299 |
<br> |
|
| 300 |
P?id?n? dal??ch ?idel se neobe?lo bez konstruk?n?ch probl?m?. Bo?n? LED ?idlo se |
|
| 301 |
uk?zalo jako m?lo citliv? a bylo to z?ejm? zp?sobeno t?m, ?e se jedn? o |
|
| 302 |
pr?myslov? ?idlo, kter? je norm?ln? nap?jeno nap?t?m 12 a? 48V. S na??m |
|
| 303 |
nap?jec?m nap?t?m 7,2V a to je?t? ob?as, nebylo moc spokojeno. Byl tady p?id?n |
|
| 304 |
dal?? m?ni? nahoru na 12V. Byl pou?it m?ni? ze star? s??ov? karty.</font></p> |
|
| 305 |
<p align="left"><font face="Times New Roman">Samostatn?m konstruk?n?m probl?mem |
|
| 306 |
bylo um?st?n? kompasu. Nakonec musel b?t kompas um?st?n nad v?echny desky s |
|
| 307 |
elektronikou a musel b?t orientov?n tak, aby ?idla kompasu byla pod ?hlem 45<span lang="en">? |
|
| 308 |
k </span>ose robota.<span lang="en"> Pokud byla ?idla v ose robota, byl kompas |
|
| 309 |
ovliv?ov?n zbytkov?m magnetick?m polem v kovov?ch (zejm?na ?elezn?ch) ??stech |
|
| 310 |
robota.</span><br> |
|
| 311 |
</font></p> |
|
| 312 |
<p align="left"><font face="Times New Roman" size="4"><b>Posledn? weekend p?ed |
|
| 313 |
sout???</b></font></p> |
|
| 314 |
<p align="left"><font face="Times New Roman">P?id?n? kompasu na I2C sb?rnici si |
|
| 315 |
vy??dalo p?eadresaci kamery, proto?e kamera a kompas m?ly na I2C sb?rnici |
|
| 316 |
stejnou adresu a adresa kompasu se nedala zm?nit. To kupodivu byl velk? probl?m, |
|
| 317 |
kter? jsme ?e?ili a? posledn? weekend p?ed sout??? a p?itom vy?adoval tak z?sadn? |
|
| 318 |
z?sah jako rozebr?n? objektivu kamery, co? znamenalo pe?liv? ?i?t?n? pouzdra a |
|
| 319 |
?ipu kamery, proto?e p??padn? sm?tko na pouzd?e ?ipu by m?lo p?i sout??i fat?ln? |
|
| 320 |
n?sledky. ?ip kamery sice p?eadresaci um?, ale bylo nutn? p?ipojit v?vod MULT |
|
| 321 |
(47) na <span lang="en-us">log_1 </span>a na to kupodivu na plo?n?m spoji kamery |
|
| 322 |
nebylo pamatov?no, p?esto, ?e na plo?n?m spoji jsou plo?ky na odpory, kter? |
|
| 323 |
umo??uj? zm?nu adresy.<br> |
|
| 324 |
</font></p> |
|
| 325 |
<p align="center"><font face="Times New Roman"><a href="pic/image021.jpg"> |
|
| 326 |
<img border="0" src="pic/image021_small.jpg" xthumbnail-orig-image="pic/image021.jpg"></a></font></p> |
|
| 327 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> |
|
| 328 |
10: Propojka na PCB kamery umo??uj?c? jej? p?eadresaci.<br> |
|
| 329 |
</font></p> |
|
| 330 |
<p align="left"><font face="Times New Roman">Posledn? weekend p?ed sout??? n?s |
|
| 331 |
napadlo je?t? jednou proj?t seznam probl?m?, kter? jsme si poznamenali v pr?b?hu |
|
| 332 |
lo?sk? sout??e. Hned na za??tku tam bylo: ?Zkontrolovat, jestli neprokluzuj? |
|
| 333 |
kole?ka na h??deli.? Prokluzovala... Zkusili jsme je p?ilepit anaerobn?m lepidlem. |
|
| 334 |
V?sledek byl, ?e se zalepily h??delky do lo?isek a kole?ka prokluzovala d?l. |
|
| 335 |
Zkusili jsme je p?ilepit epoxidem. Nane?t?st? n?m trochu epoxidu z?ejm? nateklo |
|
| 336 |
do lo?isek a kole?ka se zase utrhla. Posledn? ned?li p?ed sout??? jsme tedy |
|
| 337 |
m?li zatuhl? p?evodovky a kole?ka prokluzovala. Sna?ili jsme se do h??delek |
|
| 338 |
vyvrtat d?rky a d?t tam kol?k, ale vrt?k v?bec nitridovanou ocel z CD mechanik |
|
| 339 |
nebral. Nakonec jsme do h??delek pouze vypilovali dr??ky a op?t jsme je zalili |
|
| 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> |
|
| 345 |
<br> |
|
| 346 |
Po rozebr?n? bylo nutn? p?evodovky nechat znovu zab?hnout, to jsme d?lali p?es noc z pond?l? |
|
| 347 |
na ?ter? (IstRobot b?v? ve st?edu a my tam obvykle jedeme v ?ter? dopoledne). |
|
| 348 |
Motory se to?ily do r?na do posledn? chv?le p?ed nalo?en?m robota do auta.<br> |
|
| 349 |
</font></p> |
|
| 350 |
<p align="left"><font face="Times New Roman" size="4"><b>Noc p?ed sout???</b></font></p> |
|
| 351 |
<p align="left"><font face="Times New Roman">?Kdyby nebylo posledn? noci, tak |
|
| 352 |
nen? ??dn? projekt dokon?en.? Odpoledne jsme p?ijeli do Bratislavy na ubytovnu, |
|
| 353 |
rozlo?ili dr?hy a za?ali ladit posledn? ??dky programu. V na?em p??pad? to m?lo |
|
| 354 |
b?t zpracov?n? logu z j?zdy.<br> |
|
| 355 |
<br> |
|
| 356 |
A v?bec to nejezdilo. Robot m?l mal? v?kon v levoto?iv? zat??ce, p?i obj??d?n? |
|
| 357 |
cihly se dokonce ob?as zastavil. No jasn?, ?ekli jsme si, jsou st?le zatuhl? |
|
| 358 |
p?evodovky, zm?nili jsme p?r konstant v programu a jak? tak? to zase jezdilo. |
|
| 359 |
Situace se ale o p?lnoci zase zhor?ila a za?al smrd?t H-m?stek. Vym?nili jsme |
|
| 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"> .</span>) |
|
| 361 |
Po v?m?n? motoru jsme vr?tili do |
|
| 362 |
robota p?vodn? H-m?stek (asi tak v jednu hodinu r?no) a zase to nejelo. M??en?m |
|
| 363 |
jsme pak zjistili dv? v?ci, jednak byly p?es p?jec? lak odizolov?ny zemn?c? |
|
| 364 |
?rouby na plo?n?m spoji H-m?stku a tak v?echen proud tekl p?es h?eb?nkov? |
|
| 365 |
konektor a pak tam je?t? byl zkrat p?es jeden tranzistor H-m?stku, tak?e jeden |
|
| 366 |
motor nereverzoval. P?edstavte si, ?e tyto z?vady byly vykompenzov?ny |
|
| 367 |
jednak regul?torem v software a tak? koncepc? podvozku, a ?e s nimi byl Camerus na Robot Challenge t?et?!<br> |
|
| 368 |
<br> |
|
| 369 |
Pak u? jenom sta?ilo doprogramovat tu logovac? proceduru (p?episovala pam??). A |
|
| 370 |
kolem p?t? hodiny rann? byl robot p?ipraven na sout??.<br> |
|
| 371 |
</font></p> |
|
| 372 |
<p align="left"><font face="Times New Roman" size="4"><b>IstRobot 2007</b></font></p> |
|
| 373 |
<p align="left"><font face="Times New Roman">IstRobot 2007 n?s skute?n? |
|
| 374 |
p?ekvapil, byla na n?m z na?eho pohledu nejslo?it?j?? dr?ha, jakou jsme kdy |
|
| 375 |
vid?li. Extr?mn? dlouh? p?eru?en?, nav?c v inflexn?m bod? (to n?s v?bec |
|
| 376 |
nenapadlo, ?e je mo?n?), cihla hned za pravo?hlou zat??kou (sotva robot vyjede |
|
| 377 |
ze zat??ky, b?c, a je tu cihla), viz Obr?zek 11. </font></p> |
|
| 378 |
<p align="left"> </p> |
|
| 379 |
<p align="center"><font face="Times New Roman"><a href="pic/image023.jpg"> |
|
| 380 |
<img border="0" src="pic/image023_small.jpg" xthumbnail-orig-image="pic/image023.jpg"></a></font></p> |
|
| 381 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> |
|
| 382 |
11: IstRobot 2007 ? tvar dr?hy.</font></p> |
|
| 383 |
<p align="left"><font face="Times New Roman">Potenci?ln?m probl?mem byly |
|
| 384 |
magnetick? stoj?nky na kter?ch st?la ?idla ?asom?ry. Magnetick? pole nad dr?hou |
|
| 385 |
bylo d?ky nim zna?n? nehomogenn? (stoj?nek na Obr. 11 vlevo dole a dva stoj?nky |
|
| 386 |
na startu). Robot vyu??val kompas pouze u cihly, a z?ejm? byl stoj?nek |
|
| 387 |
dostate?n? daleko/bl?zko, ?e nakonec nevadil. ?daje z kompasu se zpracov?valy |
|
| 388 |
diferen?n?, tak?e nevadilo, ?e byla d?ky stoj?nk?m odchylka v celkov? orientaci |
|
| 389 |
magnetick?ho pole Zem?, podstatn? bylo, aby nedoch?zelo k velk?m zak?iven?m pole |
|
| 390 |
v oblasti cihly. K ?emu?, jak jsme zm??ili, ??ste?n? doch?zelo, ale software se |
|
| 391 |
s t?m vypo??dal, kdy? v??il ?daje ze v?ech ?idel p?i obj??d?n? p?ek??ky.</font></p> |
|
| 392 |
<p align="left"><font face="Times New Roman">Obt??nost trati se uk?zala hned |
|
| 393 |
v prvn? j?zd?, Camerus vypadnul na p?eru?en?. V druh? j?zd? jsme sn??ili v?kon |
|
| 394 |
motor?, zde ale zase hrozilo, ?e se robot nerozjede, pokud n?kde (nap??klad p?i |
|
| 395 |
obj??d?n? cihly) v?razn? zpomal?. Robot jel plynuleji, p?esto vyjel v p?eru?en? |
|
| 396 |
(to d? rozum, proto?e kop?roval tvar dr?hy p?ed p?eru?en?m), vyhnul se tunelu, |
|
| 397 |
znovu na?el dr?hu (to fungovalo dob?e) a na podruh? projel. Byl to ?sp?ch, ale |
|
| 398 |
velk? ?asov? ztr?ta a nav?c si robot ?patn? zapamatoval dr?hu pro dal?? j?zdu, |
|
| 399 |
proto?e bloudil.</font></p> |
|
| 400 |
<p align="left"><font face="Times New Roman">Programovali jsme m?sto ob?da a |
|
| 401 |
nakonec jsme to p?eru?en? vy?e?ili. Prost? jsme zohlednili, ?e dr?ha za |
|
| 402 |
p?eru?en?m m??e pokra?ovat i na druhou stranu. Zn? to jednodu?e, ale ?prava |
|
| 403 |
programu nebyla tak jednoduch?, viz sout??n? verzi |
|
| 404 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Designs/ROBOTS/Camerus/sw/#_Designs_ROBOTS_Camerus_sw_"> |
|
| 405 |
firmware</a>.</font></p> |
|
| 406 |
<p align="left"><font face="Times New Roman">Fin?lov? j?zda prob?hla bez |
|
| 407 |
probl?m?, robot sice jel na m?n? jak polovinu regula?n?ho rozsahu a bez na?eho |
|
| 408 |
z?sahu by se s dr?hou dob?e nevypo??dal, ale jsme r?di, ?e dojel a nakonec |
|
| 409 |
stejn? za to nemohl robot, ale my, ?e jsme mu naprogramovali, ?e dr?ha za |
|
| 410 |
p?eru?en?m nem??e v?st na druhou stranu. Nakonec se poda?ilo s robotem s ?asem |
|
| 411 |
12,5s ud?lat ?rekord trati? <span lang="en-us">;-)</span><br> |
|
| 412 |
</font></p> |
|
| 413 |
<p align="center"><font face="Times New Roman"><a href="pic/image025.jpg"> |
|
| 414 |
<img border="0" src="pic/image025_small.jpg" xthumbnail-orig-image="pic/image025.jpg"></a></font></p> |
|
| 415 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span>12: |
|
| 416 |
Robot Camerus - fin?ln? verze robota.<br> |
|
| 417 |
<br> |
|
| 418 |
</font></p> |
|
| 419 |
<p align="center"><a href="pic/index.2.gif"> |
|
| 420 |
<img border="0" src="pic/index.1.gif" xthumbnail-orig-image="pic/index.2.gif"></a></p> |
|
| 421 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">. </span> |
|
| 422 |
13: Blokov? sch?ma propojen? modul? robota.<br> |
|
| 423 |
</font></p> |
|
| 424 |
<p align="left"><font face="Arial">Desky plo?n?ch spoj? a popis jednotliv?ch |
|
| 425 |
modul? robota naleznete na |
|
| 426 |
<a href="http://www.mlab.cz/">http://www.mlab.cz/</a> |
|
| 427 |
.<br> |
|
| 428 |
</font></p> |
|
| 429 |
<p align="left"><font face="Arial">Deska procesoru<br> |
|
| 430 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/PIC16F87x/#_Modules_PIC16F87x_"> |
|
| 431 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FPIC16F87x%2F#_Modules_PIC16F87x_</a> |
|
| 432 |
<br> |
|
| 433 |
</font></p> |
|
| 434 |
<p align="left"><font face="Arial">H-m?stky<br> |
|
| 435 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/HBRIDGE/#_Modules_HBRIDGE_"> |
|
| 436 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FHBRIDGE%2F#_Modules_HBRIDGE_</a> |
|
| 437 |
<br> |
|
| 438 |
</font></p> |
|
| 439 |
<p align="left"><font face="Arial">LEDbar<br> |
|
| 440 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/LEDbar/#_Modules_LEDbar_"> |
|
| 441 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FLEDbar%2F#_Modules_LEDbar_</a><br> |
|
| 442 |
</font></p> |
|
| 443 |
<p align="left"><font face="Arial">M?ni?<br> |
|
| 444 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/PowerSupply/BATPOWER02A/#_Modules_PowerSupply_BATPOWER02A_"> |
|
| 445 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FPowerSupply%2FBATPOWER02A%2F#_Modules_PowerSupply_BATPOWER02A_</a><br> |
|
| 446 |
</font></p> |
|
| 447 |
<p align="left"><font face="Arial">IR modul?tor<br> |
|
| 448 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/TXIR/#_Modules_TXIR_"> |
|
| 449 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FTXIR%2F#_Modules_TXIR_</a><br> |
|
| 450 |
</font></p> |
|
| 451 |
<p align="left"><font face="Arial">Osv?tlen? dr?hy<br> |
|
| 452 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Designs/ROBOTS/Camerus/LEDpanel/#_Designs_ROBOTS_Camerus_LEDpanel_"> |
|
| 453 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FDesigns%2FROBOTS%2FCamerus%2FLEDpanel%2F#_Designs_ROBOTS_Camerus_LEDpanel_</a></font><br> |
|
| 454 |
</p> |
|
| 455 |
<p align="left"><font face="Arial">Univerz?lka pro 7432<br> |
|
| 456 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/UNI/UNIDIL1601A/#_Modules_UNI_UNIDIL1601A_"> |
|
| 457 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FUNI%2FUNIDIL1601A%2F#_Modules_UNI_UNIDIL1601A_</a><br> |
|
| 458 |
</font></p> |
|
| 459 |
<p align="left"><font face="Arial">Trimry<br> |
|
| 460 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/TRIMQUAD01A/#_Modules_TRIMQUAD01A_"> |
|
| 461 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FTRIMQUAD01A%2F#_Modules_TRIMQUAD01A_</a><br> |
|
| 462 |
</font></p> |
|
| 463 |
<p align="left"><font face="Arial">Dokumentace k pou?it?mu kamerov?mu ?ipu je na |
|
| 464 |
<a href="http://www.cmucam.org/attachment/wiki/Documentation/OV6620.PDF"> |
|
| 465 |
http://www.cmucam.org/attachment/wiki/Documentation/OV6620.PDF</a> |
|
| 466 |
.<br> |
|
| 467 |
</font></p> |
|
| 468 |
<p align="left"><font face="Arial">Dokumentace k US senzoru je na |
|
| 469 |
<a href="http://www.robot-electronics.co.uk/htm/srf08tech.shtml"> |
|
| 470 |
http://www.robot-electronics.co.uk/htm/srf08tech.shtml</a> .<br> |
|
| 471 |
</font></p> |
|
| 472 |
<p align="left"><font face="Arial">Dokumentace ke kompasu je na<span lang="en-us"> |
|
| 473 |
</span><a href="http://www.robot-electronics.co.uk/htm/cmps3doc.shtml"> |
|
| 474 |
http://www.robot-electronics.co.uk/htm/cmps3doc.shtml</a> .<br> |
|
| 475 |
</font></p> |
|
| 476 |
<p align="left"><font face="Arial">Dokumentace k robotu 3Orbis, ze kter?ho |
|
| 477 |
Camerus vy?el, je na<span lang="en-us"> |
|
| 478 |
</span> |
|
| 479 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Designs/ROBOTS/3Orbis/#_Designs_ROBOTS_3Orbis_"> |
|
| 480 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FDesigns%2FROBOTS%2F3Orbis%2F#_Designs_ROBOTS_3Orbis_</a> |
|
| 481 |
.</font></p> |
|
| 482 |
<p align="left"><font face="Arial"><span lang="en-us">Videoz</span>?znam, jak |
|
| 483 |
Camerus jezdil p?i sout??i IstRobot 2007:<br> |
|
| 484 |
<a href="video/1.wmv">1. j?zda</a>, <a href="video/2.wmv">2. j?zda</a>, |
|
| 485 |
<a href="video/3.wmv">3. j?zda</a>.</font></p> |
|
| 486 |
|
|
| 487 |
</body> |
|
| 488 |
|
|
| 489 |
</html> |
|
| Designs/ROBOTS/Camerus/DOC/HTML/Camerus.cs.html | ||
|---|---|---|
| 1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
|
| 2 |
<html> |
|
| 3 |
<head> |
|
| 4 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
|
| 5 |
<title> Camerus </title> |
|
| 6 |
<meta name="keywords" content="MLAB čárový robot Camerus"> |
|
| 7 |
<meta name="description" content="Čárový robot Camerus"> |
|
| 8 |
<!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE --> |
|
| 9 |
<link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl"> |
|
| 10 |
<link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print"> |
|
| 11 |
<link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico"> |
|
| 12 |
<script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script> |
|
| 13 |
<!-- AUTOINCLUDE END --> |
|
| 14 |
<style type="text/css"> |
|
| 15 |
p.Obrazek {text-align: center}
|
|
| 16 |
</style> |
|
| 17 |
|
|
| 18 |
</head> |
|
| 19 |
|
|
| 20 |
<body lang="cs"> |
|
| 21 |
|
|
| 22 |
<!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE --> |
|
| 23 |
<!-- ============== HLAVICKA ============== --> |
|
| 24 |
<div class="Header"> |
|
| 25 |
<script type="text/javascript"> |
|
| 26 |
<!-- |
|
| 27 |
SetRelativePath("../../../../../");
|
|
| 28 |
DrawHeader(); |
|
| 29 |
// --> |
|
| 30 |
</script> |
|
| 31 |
<noscript> |
|
| 32 |
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> |
|
| 33 |
</noscript> |
|
| 34 |
</div> |
|
| 35 |
<!-- AUTOINCLUDE END --> |
|
| 36 |
|
|
| 37 |
<!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE --> |
|
| 38 |
<!-- ============== MENU ============== --> |
|
| 39 |
<div class="Menu"> |
|
| 40 |
<script type="text/javascript"> |
|
| 41 |
<!-- |
|
| 42 |
SetRelativePath("../../../../../");
|
|
| 43 |
DrawMenu(); |
|
| 44 |
// --> |
|
| 45 |
</script> |
|
| 46 |
<noscript> |
|
| 47 |
<p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p> |
|
| 48 |
</noscript> |
|
| 49 |
</div> |
|
| 50 |
<!-- AUTOINCLUDE END --> |
|
| 51 |
|
|
| 52 |
<!-- ============== TEXT ============== --> |
|
| 53 |
<div class="Text"> |
|
| 54 |
|
|
| 55 |
<p class="Title"> |
|
| 56 |
Robot CAMERUS |
|
| 57 |
</p> |
|
| 58 |
|
|
| 59 |
<p class="Autor"> |
|
| 60 |
<a href="mailto:kaklik@mlab.cz">kaklik@mlab.cz</a>; |
|
| 61 |
<a href="mailto:kakl@i.cz">kakl@i.cz</a> |
|
| 62 |
M. Novotný |
|
| 63 |
</p> |
|
| 64 |
|
|
| 65 |
<p class="Subtitle"> |
|
| 66 |
Jak se dělá robot na IstRobot |
|
| 67 |
</p> |
|
| 68 |
|
|
| 69 |
|
|
| 70 |
<p class="Subtitle"> |
|
| 71 |
<a href="Pictures/image001.jpg"><img src="Pictures/image001_small.jpg" alt="Obrázek robotu"></a> |
|
| 72 |
</p> |
|
| 73 |
|
|
| 74 |
<h1> Úvodem </h1> |
|
| 75 |
|
|
| 76 |
<p> |
|
| 77 |
Tato dokumentace popisuje konstrukci robota Camerus, který byl |
|
| 78 |
zkonstruován pro soutěž IstRobot pro kategorii Stopár |
|
| 79 |
(<a href="http://www.robotika.sk/contest/">http://www.robotika.sk/contest/</a>). |
|
| 80 |
</p> |
|
| 81 |
|
|
| 82 |
<p> |
|
| 83 |
Snažili jsme se technickou dokumentaci pojmout poněkud netradičně. |
|
| 84 |
Kromě popisu finální verze robota zde naleznete chronologický popis |
|
| 85 |
jeho vývoje a popis všech slepých uliček. Doufáme, že takováto forma |
|
| 86 |
dokumentace bude mít pro naše následovníky větší hodnotu než pouhý |
|
| 87 |
návod na zopakování konstrukce. |
|
| 88 |
</p> |
|
| 89 |
|
|
| 90 |
<h1> První pokusy </h1> |
|
| 91 |
|
|
| 92 |
<h2> Robot 3Orbis </h2> |
|
| 93 |
|
|
| 94 |
<p> |
|
| 95 |
Vývoj robota Camerus začal před více jak dvěma roky vývojem robota |
|
| 96 |
3Orbis. Robot 3Orbis měl mít novou revoluční koncepci podvozku. Použili |
|
| 97 |
jsme tříkolý podvozek, který měl dvě hnaná kola, každé s nezávislým |
|
| 98 |
motorem a třetí kolo, které mělo řízené zatáčení. Jednalo se tedy o |
|
| 99 |
nonholonomní podvozek. Koncepci podvozku jsme nejdříve ověřovali se |
|
| 100 |
dvěma senzory na čáru, jako to měly naši předchozí holonomní roboti. |
|
| 101 |
To moc nefungovalo a proto jsme přidali další senzory, pomocí kterých |
|
| 102 |
se diskrétně nastavoval úhel zatáčecího kolečka. |
|
| 103 |
</p> |
|
| 104 |
|
|
| 105 |
<p class="Obrazek"> |
|
| 106 |
<a href="Pictures/image003.jpg"><img src="Pictures/image003_small.jpg" alt="Pohled na jízdu"></a> |
|
| 107 |
<br> |
|
| 108 |
Obr.1: První pokusy s tříkolým a třímotorovým robotem |
|
| 109 |
</p> |
|
| 110 |
|
|
| 111 |
<p class="Obrazek"> |
|
| 112 |
<a href="Pictures/image005.jpg"><img src="Pictures/image005_small.jpg" alt="Baterie senzorů"></a> |
|
| 113 |
<br> |
|
| 114 |
Obr.2: Baterie senzorů na čáru |
|
| 115 |
</p> |
|
| 116 |
|
|
| 117 |
<p> |
|
| 118 |
Přidáním dalších senzorů na čáru jsme se dostali do problémů |
|
| 119 |
s počtem vstupů použitého procesoru (PIC16F88). Tento problém jsme |
|
| 120 |
vyřešili tak, že jsme na zpracování signálů ze senzorů na čáru použili |
|
| 121 |
další samostatný procesor. Toto řešení se však později neukázalo jako |
|
| 122 |
výhodné, protože ladit distribuovaný kód bylo řádově obtížnější a navíc |
|
| 123 |
se musela naprogramovat komunikace mezi procesory. Často se nám také |
|
| 124 |
stávalo, že jsme během vývoje do jednoho procesoru nahráli kód pro |
|
| 125 |
druhý procesor, což kupodivu vždy trvalo určitou dobu, než jsme na to |
|
| 126 |
přišli. |
|
| 127 |
</p> |
|
| 128 |
|
|
| 129 |
<p class="Obrazek"> |
|
| 130 |
<a href="Pictures/image007.jpg"><img src="Pictures/image007_small.jpg" |
|
| 131 |
alt="Přední náhon"></a> |
|
| 132 |
<br> |
|
| 133 |
Obr. 3: Přední náhon; přidáno druhé patro na elektroniku |
|
| 134 |
</p> |
|
| 135 |
|
|
| 136 |
<p> |
|
| 137 |
Původní koncepce předpokládala hnaná kola vpředu a zatáčecí kolo vzadu. |
|
| 138 |
Modelářské servo však nedokázalo dostatečně rychle zatáčet, přestože |
|
| 139 |
bylo zpřevodováno do rychla převodem 1:2. Změnili jsme proto uspořádání |
|
| 140 |
na hnanou nápravu vzadu a zatáčecí kolečko vpředu. To nám umožňovalo |
|
| 141 |
„ostře řezat zatáčky“, ale objevily se další problémy. Podvozek se |
|
| 142 |
v zatáčkách dostával do smyku a protože hmotnost čidel byla |
|
| 143 |
nezanedbatelná, docházelo i k jeho naklápění a následně |
|
| 144 |
k falešnému signálu z čidel, protože čidla nebyla držena |
|
| 145 |
v konstantní vzdálenosti od povrchu. |
|
| 146 |
</p> |
|
| 147 |
|
|
| 148 |
<p> |
|
| 149 |
Pro 3Orbise byla vysoustružena duralová kola, pro která bylo plánováno |
|
| 150 |
obutí „O“ kroužky. To se pak ukázalo jako nepoužitelné. „O“ kroužky se |
|
| 151 |
nedokázaly udržet v drážkách na kolech. Původní kola byla tedy |
|
| 152 |
nahrazena plastovými z dětské hračky. Kola měla menší průměr, což |
|
| 153 |
zlepšilo převodový poměr, který byl pro vyrobené převodovky 5:1. Jako |
|
| 154 |
obutí byly použity ustřižené prsty z latexových rukavic pro |
|
| 155 |
domácnost. Jako obutí zatáčecího kolečka bylo použito pryžové těsnění |
|
| 156 |
12x10x2. Na zatáčecí kolečko bylo obuto tak, že se jelo po hraně |
|
| 157 |
těsnění. |
|
| 158 |
</p> |
|
| 159 |
|
|
| 160 |
<p class="Obrazek"> |
|
| 161 |
<a href="Pictures/image009.jpg"><img src="Pictures/image009_small.jpg" |
|
| 162 |
alt="Zadní náhon"></a> |
|
| 163 |
<br> |
|
| 164 |
Obr.4: Robot 3Orbis. Zadní náhon a menší kolečka z autobusu od |
|
| 165 |
syna pana Hronka.<br> |
|
| 166 |
Je vidět čidlo na hledání hrany cihly. |
|
| 167 |
</p> |
|
| 168 |
|
|
| 169 |
<p> |
|
| 170 |
Pro detekci a objíždění cihly byly na robotovi namontovány IR senzory. |
|
| 171 |
Jeden měl detekovat překážku na dráze a zbylé dva měly sloužit pro její |
|
| 172 |
objetí. Objetí cihly pomocí IR senzorů jsme však nedokázali odladit. |
|
| 173 |
Objíždění nebylo spolehlivé a tak robot nakonec objížděl cihlu |
|
| 174 |
naslepo. |
|
| 175 |
</p> |
|
| 176 |
|
|
| 177 |
<p> |
|
| 178 |
Při soutěži se objevil nečekaný problém, kvůli kterému robot nakonec |
|
| 179 |
nedojel. Soutěžní dráha je tvořena dvěma deskami. Desky nejsou dokonale |
|
| 180 |
slícovány a tak mezi nimi vzniká tmavá mezera. Tato mezera byla na |
|
| 181 |
soutěžní dráze přelepena bílou lepicí páskou. Bohužel čidla na čáru, |
|
| 182 |
které robot používal, vyhodnocovala bílou lepicí pásku jako černou |
|
| 183 |
(čidla pracují blízko ultrafialové oblasti). Tento problém by šel |
|
| 184 |
kompenzovat programově, ale na soutěži se nepodařilo program |
|
| 185 |
v časové tísni správně upravit. Robot tedy nakonec nedojel. |
|
| 186 |
</p> |
|
| 187 |
|
|
| 188 |
<p> |
|
| 189 |
Odhadovali jsme, že nám chyběl tak týden na odladění firmware, protože |
|
| 190 |
v roce 2006 u nás byla povodeň a ztratili jsme tak nejméně jeden |
|
| 191 |
kalendářní měsíc večerů/weekendů na programování. Nyní s odstupem |
|
| 192 |
času vidíme, že co se týká objetí cihly, chybělo nám mnohem více. |
|
| 193 |
</p> |
|
| 194 |
|
|
| 195 |
<h2> Robot Laserus </h2> |
|
| 196 |
|
|
| 197 |
<p> |
|
| 198 |
Další verzí robota se shodným podvozkem byl robot Laserus. Snahou bylo |
|
| 199 |
odstranit „těžká“ čidla předsunutá před robota a tak odstranit |
|
| 200 |
překlápění v ostrých zatáčkách. Řešením by bylo zvětšení dosahu |
|
| 201 |
čidel na čáru tak, aby mohla být umístěna co nejblíže k ose otáčení |
|
| 202 |
robota. Zároveň by se tím snížila obvodová setrvačná hmotnost robota. |
|
| 203 |
Znovu jsme použili tříkolý podvozek s jedním řízeným zatáčecím |
|
| 204 |
kolečkem, přestože na IstRobotu 2006 byla tato konfigurace diskutována |
|
| 205 |
a autoři druhého robota s podobnou koncepcí se v diskusi |
|
| 206 |
vyjádřili, že to nebyl dobrý nápad, že robot při větších rychlostech má |
|
| 207 |
snahu se rozkmitávat. Řešení tohoto problému jsme viděli ve zjemnění |
|
| 208 |
snímání čáry tak, aby se precizněji nastavovalo zatáčecí kolečko. |
|
| 209 |
Napadlo nás použít laserovou čtečku čárového kódu a skutečně jsme |
|
| 210 |
postavili funkčního robota (viz Obrázek 5), který dokázal, ale pomalu, |
|
| 211 |
jezdit po čáře. |
|
| 212 |
</p> |
|
| 213 |
|
|
| 214 |
<p class="Obrazek"> |
|
| 215 |
<a href="Pictures/image011.jpg"><img src="Pictures/image011_small.jpg" |
|
| 216 |
alt="Robot Laserus"></a> |
|
| 217 |
<br> |
|
| 218 |
Obr. 5: Robot Laserus. Na obrázku je vidět červená stopa LASERu. |
|
| 219 |
</p> |
|
| 220 |
|
|
| 221 |
<p> |
|
| 222 |
Problémy s touto konstrukcí byly dva. Pokud byl na dráze hrbol, |
|
| 223 |
tak se v důsledku vibrací zmenšil rozkmit laseru, protože laser je |
|
| 224 |
ve čtecím zařízení rozmítáván mechanicky zrcátkem, které vibruje a |
|
| 225 |
velké stranové zrychlení při přejetí hrbolu způsobovalo, že |
|
| 226 |
elektromagnetický mechanismus, který pohybuje zrcátkem vypadl |
|
| 227 |
z rezonance. Tento problém by ovšem zřejmě šlo kompenzovat |
|
| 228 |
softwarem, protože se čára četla v obou směrech pohybu zrcátka. |
|
| 229 |
Jednou jsme tedy dostali polohu čáry měřenou z leva a jednou z |
|
| 230 |
prava. |
|
| 231 |
</p> |
|
| 232 |
|
|
| 233 |
<p> |
|
| 234 |
Druhý problém byl závažnější. Protože bylo použito zařízení na čtení |
|
| 235 |
čárového kódu, snímali jsme vlastně polohu jedné čáry fiktivního |
|
| 236 |
čárového kódu ve scanovaném prostoru. V prudké zatáčce však |
|
| 237 |
dochází k tomu, že čáru vidí snímač šikmo a tak se relativně |
|
| 238 |
zvětšuje její tloušťka. Vnitřní elektronika snímače vyhodnotila tento |
|
| 239 |
stav, jako že se nejedná o čárový kód a čáru vyfiltrovala. To |
|
| 240 |
samozřejmě mělo v ostré zatáčce fatální následky. Dále jsme touto |
|
| 241 |
cestou nepokračovali, přesto, že víme, že v závodě DARPA se často |
|
| 242 |
používají laserové dálkoměry. Na soutěžních vozech je však vidět, že |
|
| 243 |
konstruktéři také mají problémy s odtlumením vibrací. |
|
| 244 |
</p> |
|
| 245 |
|
|
| 246 |
<h1> Robot Camerus </h1> |
|
| 247 |
|
|
| 248 |
<p> |
|
| 249 |
Znovu se vynořil nápad, použít pro snímání čáry kameru. To už nás |
|
| 250 |
napadlo několikrát, ale když jsme nápad analyzovali, vždy se ukázalo, že |
|
| 251 |
jednoduchým jednočipovým mikropočítačem nelze zpracovávat obraz kamery. |
|
| 252 |
Druhým problémem je, že běžně dostupné kamery mají snímkový kmitočet |
|
| 253 |
50Hz, což se nám zdálo na snímání čáry pomalé. Přesto jsme zakoupili |
|
| 254 |
jednu kameru a začali jsme osciloskopem testovat, co tak kamera vidí a |
|
| 255 |
jak by se to dalo zpracovat. Kupodivu jsme zjistili, že |
|
| 256 |
s procesorem na 20MHz stíháme načíst jeden obrazový řádek asi |
|
| 257 |
s polovičním rozlišením. To bylo povzbudivé a zaměřili jsme se |
|
| 258 |
tímto směrem. |
|
| 259 |
</p> |
|
| 260 |
|
|
| 261 |
<p> |
|
| 262 |
Druhým problémem bylo, že kamera nesnímá kontrastní obraz. Jak se |
|
| 263 |
vypořádat v jednočipovém počítači s tímto problémem, když |
|
| 264 |
jeho výpočetní výkon stačí sotva na načtení řádku a ještě se musí |
|
| 265 |
počítat regulace pro elektronický diferenciál? (Pro zvolenou koncepci |
|
| 266 |
podvozku je nutné diferencovat otáčky motorů na hnaných nápravách.) |
|
| 267 |
</p> |
|
| 268 |
|
|
| 269 |
<p> |
|
| 270 |
Problém jsme vyřešili něčím, čemu jsme pracovně začali říkat „digitální |
|
| 271 |
komparátor“. Jednoduše jsme pomocí logických hradel provedli OR třech |
|
| 272 |
nejvyšších bitů jasového signálu z kamery. Všechno co bylo pod |
|
| 273 |
0x1F bylo tedy černé a všechno nad bylo bílé. Expozici kamery pak bylo |
|
| 274 |
nutné nastavit tak, aby nejsvětlejší černá čára, byla ještě černá. To |
|
| 275 |
se udělalo snadno osciloskopem, ale pro závod bylo nutné vyvinout |
|
| 276 |
nějakou strategii, jak robot provede určení expozice. Řešením byla |
|
| 277 |
rutina „Expozimetr“, která postupně zvyšuje expoziční čas a hledá ve |
|
| 278 |
snímku (samozřejmě, že v našem případě na jedné řádce) čáru |
|
| 279 |
definované tloušťky. Vychází se z toho, že nejdříve při |
|
| 280 |
podexponování je černý celý obrázek, pak se postupně obrázek vyjasňuje, |
|
| 281 |
což je ovšem díky chybě apertury objektivu nerovnoměrné. Dalším |
|
| 282 |
zvyšováním času expozice se nakonec objeví čára správné tloušťky, ta se |
|
| 283 |
pak dále ztenčuje a nakonec je snímek přepálen a čára zmizí. Samozřejmě |
|
| 284 |
se předpokládalo, že na startu robot čáru vidí a ta je před ním |
|
| 285 |
přibližně uprostřed. |
|
| 286 |
</p> |
|
| 287 |
|
|
| 288 |
<p> |
|
| 289 |
První pokusy vypadaly velmi optimisticky, robot se držel čáry a vyjel |
|
| 290 |
jenom občas. Zajímavé bylo, že robot dokázal jezdit jenom po dráze, kde |
|
| 291 |
nebyly zatáčky doleva! Protože jsme neměli k dispozici obraz |
|
| 292 |
z kamery, aby bylo možné zkontrolovat co kamera vidí, bylo nutné |
|
| 293 |
tento problém řešit pouhou úvahou. Napadlo nás, že může docházet k |
|
| 294 |
„vytrhávání obrazu“ na krajích snímku. Kompenzovalo se to tím, že se |
|
| 295 |
zahazovaly okraje řádku a skutečně to pomohlo, robot spolehlivě, i když |
|
| 296 |
pomalu, sledoval čáru. To byl velký úspěch, protože kdyby nám někdo |
|
| 297 |
řekl před rokem, že to s kamerou a jednočipovým počítačem jde, a |
|
| 298 |
že je to spolehlivé, asi by jsme mu nevěřili. |
|
| 299 |
</p> |
|
| 300 |
|
|
| 301 |
<p> |
|
| 302 |
Po prvotních úspěších jsme zkusili zrychlit jenže to nefungovalo, robot |
|
| 303 |
vždy vypadl z dráhy, když se zatáčecí kolečko otočilo o velký |
|
| 304 |
úhel. Napadlo nás, že to může být způsobeno proudovými špičkami, které |
|
| 305 |
způsobuje motor serva. Pro stabilizaci napájení pro elektroniku byl |
|
| 306 |
totiž použit lineární stabilizátor s velkým drop-outem. Proto jsme |
|
| 307 |
vyvinuli měnič, který i při poklesu napětí baterií o 2V dokázal udržet |
|
| 308 |
napětí pro řídící elektroniku a zejména kameru stabilní. Po tomto |
|
| 309 |
vylepšení už robot dosahoval poměrně slušné rychlosti a nejzajímavější |
|
| 310 |
bylo, že díky „velké“ rozlišovací schopnosti kamery (procesor dokázal |
|
| 311 |
rozlišit asi 50 bodů) byla jízda v zatáčkách velmi plynulá. |
|
| 312 |
</p> |
|
| 313 |
|
|
| 314 |
<p> |
|
| 315 |
Problém s tmou v tunelu byl vyřešen jednoduše tak, že si |
|
| 316 |
robot celou cestu svítil. Na osvětlení dráhy byly použity červené LED. |
|
| 317 |
Nevíme, jaká barva pro osvětlení dráhy je nejlepší, eventuelně, jestli |
|
| 318 |
je lepší svítit bíle. S tím jsme už nestihli před soutěží |
|
| 319 |
experimentovat. |
|
| 320 |
</p> |
|
| 321 |
|
|
| 322 |
<p> |
|
| 323 |
Protože použitý procesor PIC16F876A neumí násobit a vůbec jeho |
|
| 324 |
výpočetní výkon není omračující (kdybychom ho ale měli před lety, tak |
|
| 325 |
by jsme si určitě nestěžovali), byl celkem problém naprogramovat |
|
| 326 |
elektronický diferenciál na hnanou nápravu. Nakonec se to vyřešilo |
|
| 327 |
procedurou „jakonásobení“, která kombinací rotací a podmíněného sčítání |
|
| 328 |
provádí rychle potřebný výpočet s uspokojivou přesností. |
|
| 329 |
</p> |
|
| 330 |
|
|
| 331 |
<p class="Obrazek"> |
|
| 332 |
<a href="Pictures/image013.jpg"><img src="Pictures/image013_small.jpg" |
|
| 333 |
alt="Osvětlení dráhy"></a> |
|
| 334 |
<br> |
|
| 335 |
Obr. 6: Měnič v krabičce od čaje a primitivní osvětlení dráhy. |
|
| 336 |
</p> |
|
| 337 |
|
|
| 338 |
<p class="Obrazek"> |
|
| 339 |
<a href="Pictures/image015.jpg"><img src="Pictures/image015_small.jpg" |
|
| 340 |
alt="Robot přítel člověka"></a> |
|
| 341 |
<br> |
|
| 342 |
Obr. 7: Robot, přítel člověka. |
|
| 343 |
</p> |
|
| 344 |
|
|
| 345 |
<p> |
|
| 346 |
Začali jsme tedy testovat pro sledování čáry asi nejobtížnější věc, |
|
| 347 |
dlouhou rovinku a na konci pravoúhlou zatáčku. Při dalším zvyšování |
|
| 348 |
rychlosti začal robot v takové zatáčce vypadávat. Ne, že by přímo |
|
| 349 |
vyjel a nevrátil se na dráhu, ale poloměr zatáčení byl menší než poloměr |
|
| 350 |
zatáčky a hrozilo tedy, že v Bratislavě spadne ze stolu. Udělali |
|
| 351 |
jsme předpoklad, že je to způsobeno pomalým snímkovým kmitočtem kamery, |
|
| 352 |
než si robot stačil všimnout, že je zatáčka ostrá, zmizela mu čára ze |
|
| 353 |
zorného pole. |
|
| 354 |
</p> |
|
| 355 |
|
|
| 356 |
<p> |
|
| 357 |
Dalším problémem bylo, že pokud bylo nerovnoměrné osvětlení dráhy, |
|
| 358 |
vypadával kameře obraz. Kamera má sice AGC, ale samozřejmě, že je |
|
| 359 |
schopna kompenzovat rozdíly jasu jenom v určitých mezích. Kupodivu |
|
| 360 |
nebyl problém v tunelu, kde si robot svítí, ale velký problém byl |
|
| 361 |
s denním světlem, pokud přicházelo pouze z jednoho směru. |
|
| 362 |
</p> |
|
| 363 |
|
|
| 364 |
<p> |
|
| 365 |
Konstrukční řešení, které následovalo, bylo doplnění dvou původních |
|
| 366 |
modrých čidel po stranách robota na sledování čáry. Čidla byla umístěna |
|
| 367 |
tak, že viděla čáru, až když čára byla mimo zorné pole kamery a |
|
| 368 |
uplatňovala se pouze v případě, že kamera čáru nevidí. To velmi |
|
| 369 |
zvýšilo spolehlivost sledování čáry. Zároveň jsme tato čidla použili |
|
| 370 |
pro opětovné vyhledání čáry po objetí cihly, protože jsme se báli pro |
|
| 371 |
tento úkol použít kameru, protože po dobu objíždění cihly kamera nevidí |
|
| 372 |
kontrastní obrázek (nevidí čáru) a díky AGC by mohla zaznamenat stín |
|
| 373 |
nebo špínu na trati jako čáru. |
|
| 374 |
</p> |
|
| 375 |
|
|
| 376 |
<p> |
|
| 377 |
Na objíždění cihly byl robot Camerus vybaven odometrií na pravém kole. |
|
| 378 |
Využili jsme otvorů ve větším kole převodovky a IR závory |
|
| 379 |
z tiskárny. Citlivost odometrie nebyla velká (4 impulzy na jednu |
|
| 380 |
otáčku kolečka (12,6mm)). |
|
| 381 |
</p> |
|
| 382 |
|
|
| 383 |
<h2> Jak jsme jeli „ladit“ do Vídně </h2> |
|
| 384 |
|
|
| 385 |
<p> |
|
| 386 |
Vše potřebné bylo naprogramováno, robot sledoval čáru. Přerušení |
|
| 387 |
nedělalo problémy, prostě byl výpadek obrazu a robot pokračoval |
|
| 388 |
v původním směru před přerušením. Cihla byla řešena pomocí |
|
| 389 |
odometrie. Takto vybaveni jsme odjeli do Vídně na Robot Challenge 2007. |
|
| 390 |
Řekli jsme si, že to tam odladíme, protože jsou tam jednodušší podmínky |
|
| 391 |
než v Bratislavě (alespoň na první pohled, robot může být větší a |
|
| 392 |
tunel je také větší, takže menší robot nemusí jet tak přesně). |
|
| 393 |
</p> |
|
| 394 |
|
|
| 395 |
<p> |
|
| 396 |
Rozhodnutí ladit robota na Robot Challenge se ukázalo jako správné. |
|
| 397 |
Podmínky totiž byly náročné. Bodové osvětlení, dráha složená |
|
| 398 |
z desek s mezerami, styl soutěže play-off. |
|
| 399 |
</p> |
|
| 400 |
|
|
| 401 |
<p> |
|
| 402 |
Camerus určitě jezdil nejrychleji, ale nedokázal objet cihlu! Jednou se |
|
| 403 |
stalo, že uviděl mezeru mezi deskami, podruhé mu zřejmě proklouzlo |
|
| 404 |
kolečko s odometrií, prostě katastrofa! Alespoň, že byl třetí |
|
| 405 |
v paralelním slalomu, to jsme mu ale zavinili my, protože jsme mu |
|
| 406 |
při zkoušení objetí cihly stáhli výkon motorů a pak jsme na to |
|
| 407 |
zapomněli. Za třetí místo tedy nemohl robot, ale lidský faktor. |
|
| 408 |
</p> |
|
| 409 |
|
|
| 410 |
<p> |
|
| 411 |
|
|
| 412 |
<p class="Obrazek"> |
|
| 413 |
<a href="Pictures/image017.jpg"><img src="Pictures/image017_small.jpg" |
|
| 414 |
alt="Robot Challenge 2007"></a> |
|
| 415 |
<br> |
|
| 416 |
Obr. 8: Robot Challenge 2007, Parallel Slalom. |
|
| 417 |
<br> |
|
| 418 |
Robot Camerus na dráze číslo 1. Na dráze jsou patrné stíny od bodového |
|
| 419 |
osvětlení. |
|
| 420 |
</p> |
|
| 421 |
|
|
| 422 |
<p class="Obrazek"> |
|
| 423 |
<a href="Pictures/image019.jpg"><img src="Pictures/image019_small.jpg" |
|
| 424 |
alt="Příprava"></a> |
|
| 425 |
<a href="Pictures/P3180028.JPG"><img src="Pictures/P3180028_small.JPG" |
|
| 426 |
alt="Jízda"></a> |
|
| 427 |
<br> |
|
| 428 |
Obr. 9: Robot Camerus na Robot Challenge 2007. |
|
| 429 |
<br> |
|
| 430 |
Robot nemá dostatek čidel na bezpečné objetí překážky. |
|
| 431 |
</p> |
|
| 432 |
|
|
| 433 |
<p> |
|
| 434 |
Jednoznačně se ukázalo, že objíždět překážku „napůl naslepo“ není dobrá |
|
| 435 |
strategie a zejména, pokud je odometrie na hnané nápravě. |
|
| 436 |
</p> |
|
| 437 |
|
|
| 438 |
<h2> Co s cihlou? </h2> |
|
| 439 |
|
|
| 440 |
<p> |
|
| 441 |
Další vývoj jsme věnovali objíždění cihly za pomoci čidel. Jaká čidla |
|
| 442 |
ale použít? Měli jsme špatné zkušenosti s IR čidly z 3Orbise |
|
| 443 |
a roboty s ultrazvukem jsme zase na minulých ročnících viděli, že |
|
| 444 |
si spletli tunel s cihlou, případně neviděli cihlu, pokud se |
|
| 445 |
k ní blížili zešikma. |
|
| 446 |
</p> |
|
| 447 |
|
|
| 448 |
<p> |
|
| 449 |
Nevěděli jsme co s tím a tak jsme začali zkoušet. Měřili jsme, co |
|
| 450 |
„vidí“ ultrazvuk a co různá optická čidla. Při měření se ukázaly |
|
| 451 |
všechny předpokládané problémy. Ultrazvuk vidí kde co, jenom ne cihlu, |
|
| 452 |
když je šikmo. IR snímač vidí cihlu sice spolehlivě, ale stejně dobře |
|
| 453 |
jako velkou bílou zeď několik metrů daleko. Nakonec byla pro cihlu |
|
| 454 |
zvolena kombinace sedmi senzorů. Skutečně čtete dobře, sedmi! Jeden IR |
|
| 455 |
senzor vpředu na detekci přiblížení se k cihle. Funguje na |
|
| 456 |
principu triangulace. IR vysílací dioda má úzkou hliníkovou trubičkou |
|
| 457 |
zúžen paprsek, aby nedocházelo k jeho integraci na velké vzdálené |
|
| 458 |
ploše. Další dva senzory jsou mikrospínače na mechanickém nárazníku, |
|
| 459 |
kdyby se stalo, že triangulační čidlo cihlu přehlédne. To se může stát |
|
| 460 |
v prudké zatáčce. Z boku jsou pak ultrazvukový senzor a |
|
| 461 |
on/off dálkoměr s červenou LED. Tyto čidla udržují konstantní |
|
| 462 |
vzdálenost od cihly při jejím objíždění. K tomu ještě již zmíněná |
|
| 463 |
odometrie na pravém kolečku, která zajišťuje prudkou zatáčku doleva |
|
| 464 |
jakmile je cihla detekována a nakonec kompas, který zabraňuje, aby se |
|
| 465 |
robot vracel zpět po trati (to se může stát, protože mezi předním |
|
| 466 |
čidlem a bočními čidly je slepý úhel). |
|
| 467 |
</p> |
|
| 468 |
|
|
| 469 |
<p> |
|
| 470 |
Přidání dalších čidel se neobešlo bez konstrukčních problémů. Boční LED |
|
| 471 |
čidlo se ukázalo jako málo citlivé a bylo to zřejmě způsobeno tím, že |
|
| 472 |
se jedná o průmyslové čidlo, které je normálně napájeno napětím 12 až |
|
| 473 |
48V. S naším napájecím napětím 7,2V a to ještě občas, nebylo moc |
|
| 474 |
spokojeno. Byl tady přidán další měnič nahoru na 12V. Byl použit měnič |
|
| 475 |
ze staré síťové karty. |
|
| 476 |
</p> |
|
| 477 |
|
|
| 478 |
<p> |
|
| 479 |
Samostatným konstrukčním problémem bylo umístění kompasu. Nakonec musel |
|
| 480 |
být kompas umístěn nad všechny desky s elektronikou a musel být |
|
| 481 |
orientován tak, aby čidla kompasu byla pod úhlem 45° k ose robota. Pokud |
|
| 482 |
byla čidla v ose robota, byl kompas ovlivňován zbytkovým magnetickým |
|
| 483 |
polem v kovových (zejména železných) částech robota. |
|
| 484 |
</p> |
|
| 485 |
|
|
| 486 |
<h2> Poslední weekend před soutěží </h2> |
|
| 487 |
|
|
| 488 |
<p> |
|
| 489 |
Přidání kompasu na I2C sběrnici si vyžádalo přeadresaci kamery, protože |
|
| 490 |
kamera a kompas měly na I2C sběrnici stejnou adresu a adresa kompasu se |
|
| 491 |
nedala změnit. To kupodivu byl velký problém, který jsme řešili až |
|
| 492 |
poslední weekend před soutěží a přitom vyžadoval tak zásadní zásah jako |
|
| 493 |
rozebrání objektivu kamery, což znamenalo pečlivé čištění pouzdra a čipu |
|
| 494 |
kamery, protože případné smítko na pouzdře čipu by mělo při soutěži |
|
| 495 |
fatální následky. Čip kamery sice přeadresaci umí, ale bylo nutné |
|
| 496 |
připojit vývod MULT (47) na log_1 a na to kupodivu na plošném spoji |
|
| 497 |
kamery nebylo pamatováno, přesto, že na plošném spoji jsou plošky na |
|
| 498 |
odpory, které umožňují změnu adresy. |
|
| 499 |
</p> |
|
| 500 |
|
|
| 501 |
<p class="Obrazek"> |
|
| 502 |
<a href="Pictures/image021.jpg"><img src="Pictures/image021_small.jpg" |
|
| 503 |
alt="Úprava kamery"></a> |
|
| 504 |
<br> |
|
| 505 |
Obr. 10: Propojka na PCB kamery umožňující její přeadresaci. |
|
| 506 |
</p> |
|
| 507 |
|
|
| 508 |
<p> |
|
| 509 |
Poslední weekend před soutěží nás napadlo ještě jednou projít seznam |
|
| 510 |
problémů, které jsme si poznamenali v průběhu loňské soutěže. |
|
| 511 |
Hned na začátku tam bylo: „Zkontrolovat, jestli neprokluzují kolečka na |
|
| 512 |
hřídeli.“ Prokluzovala... Zkusili jsme je přilepit anaerobním lepidlem. |
|
| 513 |
Výsledek byl, že se zalepily hřídelky do ložisek a kolečka prokluzovala |
|
| 514 |
dál. Zkusili jsme je přilepit epoxidem. Naneštěstí nám trochu epoxidu |
|
| 515 |
zřejmě nateklo do ložisek a kolečka se zase utrhla. Poslední neděli |
|
| 516 |
před soutěží jsme tedy měli zatuhlé převodovky a kolečka prokluzovala. |
|
| 517 |
Snažili jsme se do hřídelek vyvrtat dírky a dát tam kolík, ale vrták |
|
| 518 |
vůbec nitridovanou ocel z CD mechanik nebral. Nakonec jsme do |
|
| 519 |
hřídelek pouze vypilovali drážky a opět jsme je zalili epoxidem. Jestli |
|
| 520 |
neprokluzují, jsme pro jistotu už nezkoušeli. |
|
| 521 |
</p> |
|
| 522 |
|
|
| 523 |
<p> |
|
| 524 |
Při manipulaci s pravou převodovkou se podařilo ulomit vývod od IR |
|
| 525 |
závory na odometrii. Protože nešla vyměnit (je zalepená v pŕevodovce) a |
|
| 526 |
nechtěli jsme měnit celou převodovku, natavili jsme její pouzdro pájkou |
|
| 527 |
a drátek přiletovali na pahýl vývodu. |
|
| 528 |
</p> |
|
| 529 |
|
|
| 530 |
<p> |
|
| 531 |
Po rozebrání bylo nutné převodovky nechat znovu zaběhnout, to jsme |
|
| 532 |
dělali přes noc z pondělí na úterý (IstRobot bývá ve středu a my |
|
| 533 |
tam obvykle jedeme v úterý dopoledne). Motory se točily do rána do |
|
| 534 |
poslední chvíle před naložením robota do auta. |
|
| 535 |
</p> |
|
| 536 |
|
|
| 537 |
<h2> Noc před soutěží </h2> |
|
| 538 |
|
|
| 539 |
<p> |
|
| 540 |
„Kdyby nebylo poslední noci, tak není žádný projekt dokončen.“ |
|
| 541 |
Odpoledne jsme přijeli do Bratislavy na ubytovnu, rozložili dráhy a |
|
| 542 |
začali ladit poslední řádky programu. V našem případě to mělo být |
|
| 543 |
zpracování logu z jízdy. |
|
| 544 |
</p> |
|
| 545 |
|
|
| 546 |
<p> |
|
| 547 |
A vůbec to nejezdilo. Robot měl malý výkon v levotočivé zatáčce, |
|
| 548 |
při objíždění cihly se dokonce občas zastavil. No jasně, řekli jsme si, |
|
| 549 |
jsou stále zatuhlé převodovky, změnili jsme pár konstant |
|
| 550 |
v programu a jakš takš to zase jezdilo. Situace se ale o půlnoci |
|
| 551 |
zase zhoršila a začal smrdět H-můstek. Vyměnili jsme tedy H-můstek a |
|
| 552 |
nepomohlo to. Vyměnili jsme tedy motor a pomohlo to! (Pozdější analýzou |
|
| 553 |
záznamu použitého dílu bylo zjištěno, že motor č.2 byl použit spolu s |
|
| 554 |
původním podvozkem na výstavě Vzdělání a Řemeslo v Českých |
|
| 555 |
Budějovicích, kde byla levotočivá trať a jeho provozní doba tak |
|
| 556 |
vzrostla o desítky hodin proti motoru č.1 .) Po výměně motoru jsme |
|
| 557 |
vrátili do robota původní H-můstek (asi tak v jednu hodinu ráno) |
|
| 558 |
a zase to nejelo. Měřením jsme pak zjistili dvě věci, jednak byly přes |
|
| 559 |
pájecí lak odizolovány zemnící šrouby na plošném spoji H-můstku a tak |
|
| 560 |
všechen proud tekl přes hřebínkový konektor a pak tam ještě byl zkrat |
|
| 561 |
přes jeden tranzistor H-můstku, takže jeden motor nereverzoval. |
|
| 562 |
Představte si, že tyto závady byly vykompenzovány jednak regulátorem |
|
| 563 |
v software a také koncepcí podvozku, a že s nimi byl Camerus |
|
| 564 |
na Robot Challenge třetí! |
|
| 565 |
</p> |
|
| 566 |
|
|
| 567 |
<p> |
|
| 568 |
Pak už jenom stačilo doprogramovat tu logovací proceduru (přepisovala |
|
| 569 |
paměť). A kolem páté hodiny ranní byl robot připraven na soutěž. |
|
| 570 |
</p> |
|
| 571 |
|
|
| 572 |
<h2> IstRobot 2007 </h2> |
|
| 573 |
|
|
| 574 |
<p> |
|
| 575 |
IstRobot 2007 nás skutečně překvapil, byla na něm z našeho pohledu |
|
| 576 |
nejsložitější dráha, jakou jsme kdy viděli. Extrémně dlouhé přerušení, |
|
| 577 |
navíc v inflexním bodě (to nás vůbec nenapadlo, že je možné), |
|
| 578 |
cihla hned za pravoúhlou zatáčkou (sotva robot vyjede ze zatáčky, bác, |
|
| 579 |
a je tu cihla), viz Obrázek 11. |
|
| 580 |
</p> |
|
| 581 |
|
|
| 582 |
<p class="Obrazek"> |
|
| 583 |
<a href="Pictures/image023.jpg"><img src="Pictures/image023_small.jpg" |
|
| 584 |
alt="IstRobot 2007"></a> |
|
| 585 |
<br> |
|
| 586 |
Obr. 11: IstRobot 2007 – tvar dráhy. |
|
| 587 |
</p> |
|
| 588 |
|
|
| 589 |
<p> |
|
| 590 |
Potenciálním problémem byly magnetické stojánky na kterých stála čidla |
|
| 591 |
časomíry. Magnetické pole nad dráhou bylo díky nim značně nehomogenní |
|
| 592 |
(stojánek na Obr. 11 vlevo dole a dva stojánky na startu). Robot |
|
| 593 |
využíval kompas pouze u cihly, a zřejmě byl stojánek dostatečně |
|
| 594 |
daleko/blízko, že nakonec nevadil. Údaje z kompasu se zpracovávaly |
|
| 595 |
diferenčně, takže nevadilo, že byla díky stojánkům odchylka v celkové |
|
| 596 |
orientaci magnetického pole Země, podstatné bylo, aby nedocházelo k |
|
| 597 |
velkým zakřivením pole v oblasti cihly. K čemuž, jak jsme změřili, |
|
| 598 |
částečně docházelo, ale software se s tím vypořádal, když vážil údaje |
|
| 599 |
ze všech čidel při objíždění překážky. |
|
| 600 |
</p> |
|
| 601 |
|
|
| 602 |
<p> |
|
| 603 |
Obtížnost trati se ukázala hned v první jízdě, Camerus vypadnul na |
|
| 604 |
přerušení. V druhé jízdě jsme snížili výkon motorů, zde ale zase |
|
| 605 |
hrozilo, že se robot nerozjede, pokud někde (například při objíždění |
|
| 606 |
cihly) výrazně zpomalí. Robot jel plynuleji, přesto vyjel |
|
| 607 |
v přerušení (to dá rozum, protože kopíroval tvar dráhy před |
|
| 608 |
přerušením), vyhnul se tunelu, znovu našel dráhu (to fungovalo dobře) a |
|
| 609 |
na podruhé projel. Byl to úspěch, ale velká časová ztráta a navíc si |
|
| 610 |
robot špatně zapamatoval dráhu pro další jízdu, protože bloudil. |
|
| 611 |
</p> |
|
| 612 |
|
|
| 613 |
<p> |
|
| 614 |
Programovali jsme místo oběda a nakonec jsme to přerušení vyřešili. |
|
| 615 |
Prostě jsme zohlednili, že dráha za přerušením může pokračovat i na |
|
| 616 |
druhou stranu. Zní to jednoduše, ale úprava programu nebyla tak |
|
| 617 |
jednoduchá, viz soutěžní verzi |
|
| 618 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Designs/ROBOTS/Camerus/sw/#_Designs_ROBOTS_Camerus_sw_" |
|
| 619 |
>firmware</a>. |
|
| 620 |
</p> |
|
| 621 |
|
|
| 622 |
<p> |
|
| 623 |
Finálová jízda proběhla bez problémů, robot sice jel na méně jak |
|
| 624 |
polovinu regulačního rozsahu a bez našeho zásahu by se s dráhou |
|
| 625 |
dobře nevypořádal, ale jsme rádi, že dojel a nakonec stejně za to nemohl |
|
| 626 |
robot, ale my, že jsme mu naprogramovali, že dráha za přerušením nemůže |
|
| 627 |
vést na druhou stranu. Nakonec se podařilo s robotem s časem |
|
| 628 |
12,5s udělat „rekord trati“ ;-) |
|
| 629 |
</p> |
|
| 630 |
|
|
| 631 |
<p class="Obrazek"> |
|
| 632 |
<a href="Pictures/image025.jpg"><img src="Pictures/image025_small.jpg" |
|
| 633 |
alt="Robot Camerus"></a> |
|
| 634 |
<br> |
|
| 635 |
Obr. 12: Robot Camerus - finální verze robota. |
|
| 636 |
</p> |
|
| 637 |
|
|
| 638 |
<p class="Obrazek"> |
|
| 639 |
<a href="Pictures/index.2.gif"><img src="Pictures/index.1.gif" |
|
| 640 |
alt="Blokové schéma"></a> |
|
| 641 |
<br> |
|
| 642 |
Obr. 13: Blokové schéma propojení modulů robota. |
|
| 643 |
</p> |
|
| 644 |
|
|
| 645 |
<h1> Podklady </h1> |
|
| 646 |
|
|
| 647 |
<p> |
|
| 648 |
Desky plošných spojů a popis jednotlivých modulů robota naleznete na |
|
| 649 |
<a href="http://www.mlab.cz/">http://www.mlab.cz/</a> . |
|
| 650 |
</p> |
|
| 651 |
|
|
| 652 |
<h2 class="Small"> Deska procesoru </h2> |
|
| 653 |
<p> |
|
| 654 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FPIC%2FPIC16F87xSO2801A%2F#_Modules_PIC_PIC16F87xSO2801A_"> |
|
| 655 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/PIC/PIC16F87xSO2801A/#_Modules_PIC_PIC16F87xSO2801A_</a> |
|
| 656 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FPIC%2FPIC16F87xDIL2801A%2F#_Modules_PIC_PIC16F87xDIL2801A_"> |
|
| 657 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/PIC/PIC16F87xDIL2801A/#_Modules_PIC_PIC16F87xDIL2801A_</a> |
|
| 658 |
</p> |
|
| 659 |
|
|
| 660 |
<h2 class="Small"> H-můstky </h2> |
|
| 661 |
|
|
| 662 |
<p> |
|
| 663 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FH_Bridge%2F#_Modules_H-Bridge_"> |
|
| 664 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/H_Bridge/#_Modules_H-Bridge_</a> |
|
| 665 |
</p> |
|
| 666 |
|
|
| 667 |
<h2 class="Small"> LEDbar </h2> |
|
| 668 |
|
|
| 669 |
<p> |
|
| 670 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FHumanInterfaces%2FLEDbar%2F#_Modules_LEDbar_"> |
|
| 671 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/HumanInterfaces/LEDbar/#_Modules_LEDbar_</a> |
|
| 672 |
</p> |
|
| 673 |
|
|
| 674 |
<h2 class="Small"> Měnič </h2> |
|
| 675 |
|
|
| 676 |
<p> |
|
| 677 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FPowerSupply%2FBATPOWER02A%2F#_Modules_PowerSupply_BATPOWER02A_"> |
|
| 678 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/PowerSupply/BATPOWER02A/#_Modules_PowerSupply_BATPOWER02A_</a> |
|
| 679 |
</p> |
|
| 680 |
|
|
| 681 |
<h2 class="Small"> IR modulátor </h2> |
|
| 682 |
|
|
| 683 |
<p> |
|
| 684 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FCommIR%2FTXIR%2F#_Modules_CommIR_TXIR_"> |
|
| 685 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/CommIR/TXIR/#_Modules_CommIR_TXIR_</a> |
|
| 686 |
</p> |
|
| 687 |
|
|
| 688 |
<h2 class="Small"> Osvětlení dráhy </h2> |
|
| 689 |
|
|
| 690 |
<p> |
|
| 691 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FDesigns%2FROBOTS%2FCamerus%2FLEDpanel%2F#_Designs_ROBOTS_Camerus_LEDpanel_"> |
|
| 692 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Designs/ROBOTS/Camerus/LEDpanel/#_Designs_ROBOTS_Camerus_LEDpanel_</a> |
|
| 693 |
</p> |
|
| 694 |
|
|
| 695 |
<h2 class="Small"> Univerzálka pro 7432 </h2> |
|
| 696 |
|
|
| 697 |
<p> |
|
| 698 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/Universal/UNIDIL1601A/"> |
|
| 699 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/Universal/UNIDIL1601A/</a> |
|
| 700 |
</p> |
|
| 701 |
|
|
| 702 |
<h2 class="Small"> Modul trimrů </h2> |
|
| 703 |
|
|
| 704 |
<p> |
|
| 705 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FHumanInterfaces%2FTRIMQUAD01A%2F#_Modules_TRIMQUAD01A_"> |
|
| 706 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/HumanInterfaces/TRIMQUAD01A/#_Modules_TRIMQUAD01A_</a> |
|
| 707 |
</p> |
|
| 708 |
|
|
| 709 |
<h2 class="Small"> Dokumentace k použitému kamerovému čipu </h2> |
|
| 710 |
|
|
| 711 |
<p> |
|
| 712 |
<a href="http://www.cmucam.org/attachment/wiki/Documentation/OV6620.PDF"> |
|
| 713 |
http://www.cmucam.org/attachment/wiki/Documentation/OV6620.PDF</a> |
|
| 714 |
</p> |
|
| 715 |
|
|
| 716 |
<h2 class="Small"> Dokumentace k US senzoru </h2> |
|
| 717 |
|
|
| 718 |
<p> |
|
| 719 |
<a href="http://www.robot-electronics.co.uk/htm/srf08tech.shtml"> |
|
| 720 |
http://www.robot-electronics.co.uk/htm/srf08tech.shtml</a> |
|
| 721 |
</p> |
|
| 722 |
|
|
| 723 |
<h2 class="Small"> Dokumentace ke kompasu </h2> |
|
| 724 |
|
|
| 725 |
<p> |
|
| 726 |
<a href="http://www.robot-electronics.co.uk/htm/cmps3doc.shtml"> |
|
| 727 |
http://www.robot-electronics.co.uk/htm/cmps3doc.shtml</a> |
|
| 728 |
</p> |
|
| 729 |
|
|
| 730 |
<h2 class="Small"> Dokumentace k robotu 3Orbis </h2> |
|
| 731 |
|
|
| 732 |
<p> |
|
| 733 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FDesigns%2FROBOTS%2F3Orbis%2F#_Designs_ROBOTS_3Orbis_"> |
|
| 734 |
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Designs/ROBOTS/3Orbis/#_Designs_ROBOTS_3Orbis_</a> |
|
| 735 |
</p> |
|
| 736 |
|
|
| 737 |
|
|
| 738 |
<h2 class="Small"> Video </h2> |
|
| 739 |
|
|
| 740 |
<p> |
|
| 741 |
Videozáznam, jak Camerus jezdil při soutěži IstRobot 2007: |
|
| 742 |
<br> |
|
| 743 |
<a href="../video/1.wmv">1. jízda</a>, |
|
| 744 |
<a href="../video/2.wmv">2. jízda</a>, |
|
| 745 |
<a href="../video/3.wmv">3. jízda</a>. |
|
| 746 |
</p> |
|
| 747 |
|
|
| 748 |
</div> |
|
| 749 |
|
|
| 750 |
<!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --> |
|
| 751 |
<!-- ============== PATIČKA ============== --> |
|
| 752 |
<div class="Footer"> |
|
| 753 |
<script type="text/javascript"> |
|
| 754 |
<!-- |
|
| 755 |
SetRelativePath("../../../../../");
|
|
| 756 |
DrawFooter(); |
|
| 757 |
// --> |
|
| 758 |
</script> |
|
| 759 |
<noscript> |
|
| 760 |
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> |
|
| 761 |
</noscript> |
|
| 762 |
</div> |
|
| 763 |
<!-- AUTOINCLUDE END --> |
|
| 764 |
|
|
| 765 |
</body> |
|
| 766 |
</html> |
|