o: ActiveSupport::Cache::Entry :@compressedF:@value"F‚"?‚
| 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-1252"> |
|
| 6 |
<title>Nov? str?nka 1</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><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 konstrukci robota |
|
| 20 |
Camerus, kter? byl zkonstruov?n pro soutě? IstRobot pro kategorii Stop?r (<a href="http://www.robotika.sk/contest/">http://www.robotika.sk/contest/</a>). |
|
| 21 |
<br> |
|
| 22 |
<br> |
|
| 23 |
Sna?ili jsme se technickou dokumentaci pojmout poněkud netradičně. Kromě |
|
| 24 |
popisu fin?ln? verze robota zde naleznete chronologick? popis jeho v?voje a |
|
| 25 |
popis v?ech slep?ch uliček. Douf?me, ?e takov?to forma dokumentace bude m?t pro |
|
| 26 |
na?e n?sledovn?ky vět?? hodnotu ne? pouh? n?vod na zopakov?n? konstrukce.<br> |
|
| 27 |
</font></p> |
|
| 28 |
<p align="left"><font face="Times New Roman" size="4"><b>Robot 3Orbis</b></font></p> |
|
| 29 |
<p align="left"><font face="Times New Roman"><span lang="cs">V?voj robota Camerus začal před v?ce jak dvěma roky v?vojem |
|
| 30 |
robota 3Orbis. Robot 3Orbis měl m?t novou revolučn? koncepci podvozku. Pou?ili |
|
| 31 |
jsme tř?kol? podvozek, kter? měl dvě hnan? kola, ka?d? s nez?visl?m motorem a |
|
| 32 |
třet? kolo, kter? mělo ř?zen? zat?čen?. Jednalo se tedy o nonholonomn? podvozek. |
|
| 33 |
Koncepci podvozku jsme nejdř?ve ověřovali se dvěma senzory na č?ru, jako to měly |
|
| 34 |
na?i předchoz? holonomn? roboti. To moc nefungovalo a proto jsme přidali dal?? |
|
| 35 |
senzory, pomoc? kter?ch se diskr?tně nastavoval ?hel zat?čec?ho kolečka.</span></font></p> |
|
| 36 |
<p align="center"><font face="Times New Roman"><a href="pic/image003.jpg"> |
|
| 37 |
<img border="0" src="pic/image003_small.jpg" xthumbnail-orig-image="pic/image003.jpg"></a></font></p> |
|
| 38 |
<p align="center"><font face="Times New Roman">Ob<span lang="en-us">r.</span>1: Prvn? pokusy s tř?kol?m a tř?motorov?m robotem<br> |
|
| 39 |
<br> |
|
| 40 |
<a href="pic/image005.jpg"> |
|
| 41 |
<img border="0" src="pic/image005_small.jpg" xthumbnail-orig-image="pic/image005.jpg"></a></font></p> |
|
| 42 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 2: Baterie senzorů na č?ru</font></p> |
|
| 43 |
<p align="left"><font face="Times New Roman"><br> |
|
| 44 |
Přid?n?m dal??ch senzorů na č?ru jsme se dostali do probl?mů s počtem vstupů |
|
| 45 |
pou?it?ho procesoru (PIC16F88). Tento probl?m jsme vyře?ili tak, ?e jsme na |
|
| 46 |
zpracov?n? sign?lů ze senzorů na č?ru pou?ili dal?? samostatn? procesor. Toto |
|
| 47 |
ře?en? se v?ak později neuk?zalo jako v?hodn?, proto?e ladit distribuovan? k?d |
|
| 48 |
bylo ř?dově obt??něj?? a nav?c se musela naprogramovat komunikace mezi procesory. |
|
| 49 |
Často se n?m tak? st?valo, ?e jsme během v?voje do jednoho procesoru nahr?li k?d |
|
| 50 |
pro druh? procesor, co? kupodivu občas trvalo určitou dobu, ne? jsme na to |
|
| 51 |
při?li.<br> |
|
| 52 |
</font></p> |
|
| 53 |
<p align="center"><font face="Times New Roman"><a href="pic/image007.jpg"> |
|
| 54 |
<img border="0" src="pic/image007_small.jpg" xthumbnail-orig-image="pic/image007.jpg"></a></font></p> |
|
| 55 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">. </span>3: Předn? n?hon; přid?no druh? patro na |
|
| 56 |
elektroniku<br> |
|
| 57 |
</font></p> |
|
| 58 |
<p align="left"><font face="Times New Roman">Původn? koncepce předpokl?dala hnan? kola vpředu a zat?čec? kolo vzadu. |
|
| 59 |
Model?řsk? servo v?ak nedok?zalo dostatečně rychle zat?čet, přesto?e bylo |
|
| 60 |
zpřevodov?no do rychla převodem 1:2. Změnili jsme proto uspoř?d?n? na hnanou |
|
| 61 |
n?pravu vzadu a zat?čec? kolečko vpředu. To n?m umo?ňovalo ?ostře řezat zat?čky?, |
|
| 62 |
ale objevily se dal?? probl?my. Podvozek se v zat?čk?ch dost?val do smyku a |
|
| 63 |
proto?e hmotnost čidel byla nezanedbateln?, doch?zelo i k jeho nakl?pěn? a |
|
| 64 |
n?sledně k fale?n?mu sign?lu z čidel, proto?e čidla nebyla dr?ena v konstantn? |
|
| 65 |
vzd?lenosti od povrchu.<br> |
|
| 66 |
<br> |
|
| 67 |
Pro 3Orbise byla vysoustru?ena duralov? kola, pro kter? bylo pl?nov?no obut? ?O? |
|
| 68 |
krou?ky. To se pak uk?zalo jako nepou?iteln?. ?O? krou?ky se nedok?zaly udr?et |
|
| 69 |
v dr??k?ch na kolech. Původn? kola byla tedy nahrazena plastov?mi z dětsk? |
|
| 70 |
hračky. Kola měla men?? průměr, co? zlep?ilo převodov? poměr, kter? byl pro |
|
| 71 |
vyroben? převodovky 5:1. Jako obut? byly pou?ity ustři?en? prsty z latexov?ch |
|
| 72 |
rukavic pro dom?cnost. Jako obut? zat?čec?ho kolečka bylo pou?ito pry?ov? |
|
| 73 |
těsněn? 12x10x2. Na zat?čec? kolečko bylo obuto tak, ?e se jelo po hraně těsněn?.</font></p> |
|
| 74 |
<p align="center"><font face="Times New Roman"> |
|
| 75 |
<br> |
|
| 76 |
<a href="pic/image009.jpg"> |
|
| 77 |
<img border="0" src="pic/image009_small.jpg" xthumbnail-orig-image="pic/image009.jpg"></a></font></p> |
|
| 78 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 4: Robot 3Orbis. Zadn? n?hon a men?? kolečka z autobusu |
|
| 79 |
od syna pana Hronka.<br> |
|
| 80 |
Je vidět čidlo na hled?n? hrany cihly.</font></p> |
|
| 81 |
<p align="left"><font face="Times New Roman"><br> |
|
| 82 |
Pro detekci a obj??děn? cihly byly na robotovi namontov?ny IR senzory. Jeden měl |
|
| 83 |
detekovat přek??ku na dr?ze a zbyl? dva měly slou?it pro jej? objet?. Objet? |
|
| 84 |
cihly pomoc? IR senzorů jsme v?ak nedok?zali odladit. Obj??děn? nebylo |
|
| 85 |
spolehliv? a tak robot nakonec obj??děl cihlu naslepo. <br> |
|
| 86 |
Při soutě?i se objevil nečekan? probl?m, kvůli kter?mu robot nakonec nedojel. |
|
| 87 |
Soutě?n? dr?ha je tvořena dvěma deskami. Desky nejsou dokonale sl?cov?ny a tak |
|
| 88 |
mezi nimi vznik? tmav? mezera. Tato mezera byla na soutě?n? dr?ze přelepena |
|
| 89 |
b?lou lepic? p?skou. Bohu?el čidla na č?ru, kter? robot pou??val, vyhodnocovala |
|
| 90 |
b?lou lepic? p?sku jako černou (čidla pracuj? bl?zko ultrafialov? oblasti). |
|
| 91 |
Tento probl?m by ?el kompenzovat programově, ale na soutě?i se nepodařilo |
|
| 92 |
program v časov? t?sni spr?vně upravit. Robot tedy nakonec nedojel.<br> |
|
| 93 |
<br> |
|
| 94 |
Odhadovali jsme, ?e n?m chyběl tak t?den na odladěn? firmware, proto?e v roce |
|
| 95 |
2006 u n?s byla povodeň a ztratili jsme tak nejm?ně jeden měs?c večerů na |
|
| 96 |
programov?n?. Nyn? s odstupem času vid?me, ?e co se t?k? objet? cihly, chybělo |
|
| 97 |
mnohem v?ce.<br> |
|
| 98 |
</font></p> |
|
| 99 |
<p align="left"><font face="Times New Roman" size="4"><b>Robot Laserus</b></font></p> |
|
| 100 |
<p align="left"><font face="Times New Roman">Dal?? verz? robota se shodn?m podvozkem byl robot Laserus. Snahou bylo odstranit |
|
| 101 |
?tě?k?? čidla předsunut? před robota a tak odstranit překl?pěn? v ostr?ch |
|
| 102 |
zat?čk?ch. Ře?en?m by bylo zvět?en? dosahu čidel na č?ru tak, aby mohla b?t |
|
| 103 |
um?stěna co nejbl??e k ose ot?čen? robota. Z?roveň by se t?m sn??ila obvodov? |
|
| 104 |
setrvačn? hmotnost robota. Znovu jsme pou?ili tř?kol? podvozek s jedn?m ř?zen?m |
|
| 105 |
zat?čec?m kolečkem, přesto?e na IstRobotu 2006 byla tato konfigurace diskutov?na |
|
| 106 |
a autoři druh?ho robota s podobnou koncepc? se v diskusi vyj?dřili, ?e to nebyl |
|
| 107 |
dobr? n?pad, ?e robot při vět??ch rychlostech m? snahu se rozkmit?vat. Ře?en? |
|
| 108 |
tohoto probl?mu jsme viděli ve zjemněn? sn?m?n? č?ry tak, aby se precizněji |
|
| 109 |
nastavovalo zat?čec? kolečko.<span lang="en-us"> </span>Napadlo n?s pou??t laserovou čtečku č?rov?ho k?du a skutečně jsme postavili |
|
| 110 |
funkčn?ho robota (viz Obr?zek 5), kter? dok?zal, ale pomalu, jezdit po č?ře. </font></p> |
|
| 111 |
<p align="center"><font face="Times New Roman"><a href="pic/image011.jpg"> |
|
| 112 |
<img border="0" src="pic/image011_small.jpg" xthumbnail-orig-image="pic/image011.jpg"></a></font></p> |
|
| 113 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 5: Robot Laserus. |
|
| 114 |
Na obr?zku je vidět červen? stopa LASERu.</font></p> |
|
| 115 |
<p align="left"><font face="Times New Roman"> <br> |
|
| 116 |
Probl?my s touto konstrukc? byly dva. Pokud byl na dr?ze hrbol, tak se v důsledku |
|
| 117 |
vibrac? zmen?il rozkmit laseru, proto?e laser je ve čtec?m zař?zen? rozm?t?v?n |
|
| 118 |
mechanicky zrc?tkem, kter? vibruje a velk? stranov? zrychlen? při přejet? hrbolu |
|
| 119 |
způsobovalo, ?e elektromagnetick? mechanismus, kter? pohybuje zrc?tkem vypadl z rezonance. |
|
| 120 |
Tento probl?m by ov?em zřejmě ?lo kompenzovat softwarem, proto?e se č?ra četla |
|
| 121 |
v obou směrech pohybu zrc?tka. Jednou jsme tedy dostali polohu č?ry měřenou z |
|
| 122 |
leva a jednou z prava.<br> |
|
| 123 |
<br> |
|
| 124 |
Druh? probl?m byl z?va?něj??. Proto?e bylo pou?ito zař?zen? na čten? č?rov?ho |
|
| 125 |
k?du, sn?mali jsme vlastně polohu jedn? č?ry ve scanovan?m prostoru. V prudk? |
|
| 126 |
zat?čce v?ak doch?z? k tomu, ?e č?ru vid? sn?mač ?ikmo a tak se relativně |
|
| 127 |
zvět?uje jej? tlou?ťka. Vnitřn? elektronika sn?mače vyhodnotila tento stav, jako |
|
| 128 |
?e se nejedn? o č?rov? k?d a č?ru vyfiltrovala. To samozřejmě mělo v ostr? |
|
| 129 |
zat?čce fat?ln? n?sledky. D?le jsme touto cestou nepokračovali, přesto, ?e v?me, |
|
| 130 |
?e v z?vodě DARPA se často pou??vaj? laserov? d?lkoměry. Na soutě?n?ch vozech je |
|
| 131 |
v?ak vidět, ?e konstrukt?ři tak? maj? probl?my s odtlumen?m vibrac?.<br> |
|
| 132 |
</font></p> |
|
| 133 |
<p align="left"><font face="Times New Roman" size="4"><b>Robot Camerus</b></font></p> |
|
| 134 |
<p align="left"><font face="Times New Roman">Znovu se vynořil n?pad, pou??t pro sn?m?n? č?ry kameru. To u? n?s napadlo |
|
| 135 |
několikr?t, ale kdy? jsme n?pad analyzovali, v?dy se uk?zalo, ?e jednoduch?m |
|
| 136 |
jednočipov?m mikropoč?tačem nelze zpracov?vat obraz kamery. Druh?m probl?mem je, |
|
| 137 |
?e bě?ně dostupn? kamery maj? sn?mkov? kmitočet 50Hz, co? se n?m zd?lo na |
|
| 138 |
sn?m?n? č?ry pomal?.<span lang="en-us"> </span>Přesto jsme zakoupili jednu kameru a začali jsme osciloskopem testovat, co tak |
|
| 139 |
kamera vid? a jak by se to dalo zpracovat. Kupodivu jsme zjistili, ?e s procesorem |
|
| 140 |
na 20MHz st?h?me nač?st jeden obrazov? ř?dek asi s polovičn?m rozli?en?m. To |
|
| 141 |
bylo povzbudiv? a zaměřili jsme se t?mto směrem.<br> |
|
| 142 |
Druh?m probl?mem bylo, ?e kamera nesn?m? kontrastn? obraz. Jak se vypoř?dat v jednočipov?m |
|
| 143 |
poč?tači s t?mto probl?mem, kdy? jeho v?početn? v?kon stač? sotva na načten? |
|
| 144 |
ř?dku a je?tě se mus? poč?tat regulace pro elektronick? diferenci?l? (Pro |
|
| 145 |
zvolenou koncepci podvozku je nutn? diferencovat ot?čky motorů na hnan?ch |
|
| 146 |
n?prav?ch.)<br> |
|
| 147 |
<br> |
|
| 148 |
Probl?m jsme vyře?ili něč?m, čemu jsme pracovně začali ř?kat ?digit?ln? |
|
| 149 |
kompar?tor?. Jednodu?e jsme pomoc? logick?ch hradel provedli OR třech nejvy???ch |
|
| 150 |
bitů jasov?ho sign?lu z kamery. V?echno co bylo pod 0x1F bylo tedy čern? a |
|
| 151 |
v?echno nad bylo b?l?. Expozici kamery pak bylo nutn? nastavit tak, aby |
|
| 152 |
nejsvětlej?? čern? č?ra, byla je?tě čern?. To se udělalo snadno osciloskopem, |
|
| 153 |
ale pro z?vod bylo nutn? vyvinout nějakou strategii, jak robot provede určen? |
|
| 154 |
expozice. Ře?en?m byla rutina ?Expozimetr?, kter? postupně zvy?uje expozičn? čas |
|
| 155 |
a hled? ve sn?mku (samozřejmě, ?e v na?em př?padě na jedn? ř?dce) č?ru |
|
| 156 |
definovan? tlou?ťky. Vych?z? se z toho, ?e nejdř?ve při podexponov?n? je čern? |
|
| 157 |
cel? obr?zek, pak se postupně obr?zek vyjasňuje, co? je ov?em d?ky chybě |
|
| 158 |
apertury objektivu nerovnoměrn?. Dal??m zvy?ov?n?m času expozice se nakonec |
|
| 159 |
objev? č?ra spr?vn? tlou?ťky, ta se pak d?le ztenčuje a nakonec je sn?mek |
|
| 160 |
přep?len a č?ra zmiz?. Samozřejmě se předpokl?dalo, ?e na startu robot č?ru vid? |
|
| 161 |
a ta je před n?m přibli?ně uprostřed. <br> |
|
| 162 |
<br> |
|
| 163 |
Prvn? pokusy vypadaly velmi optimisticky, robot se dr?el č?ry a vyjel jenom |
|
| 164 |
občas. Zaj?mav? bylo, ?e robot dok?zal jezdit jenom po dr?ze, kde nebyly zat?čky |
|
| 165 |
doleva! Proto?e jsme neměli k dispozici obraz z kamery, aby bylo mo?n? |
|
| 166 |
zkontrolovat co kamera vid?, bylo nutn? tento probl?m ře?it pouhou ?vahou. |
|
| 167 |
Napadlo n?s, ?e mů?e doch?zet k ?vytrh?v?n? obrazu? na kraj?ch sn?mku. |
|
| 168 |
Kompenzovalo se to t?m, ?e se zahazovaly okraje ř?dku a skutečně to pomohlo, |
|
| 169 |
robot spolehlivě, i kdy? pomalu, sledoval č?ru. To byl velk? ?spěch, proto?e |
|
| 170 |
kdyby n?m někdo řekl před rokem, ?e to s kamerou a jednočipov?m poč?tačem jde, a |
|
| 171 |
?e je to spolehliv?, asi by jsme mu nevěřili.<br> |
|
| 172 |
<br> |
|
| 173 |
Po prvotn?ch ?spě??ch jsme zkusili zrychlit jen?e to nefungovalo, robot v?dy |
|
| 174 |
vypadl z dr?hy, kdy? se zat?čec? kolečko otočilo o velk? ?hel. Napadlo n?s, ?e |
|
| 175 |
to mů?e b?t způsobeno proudov?mi ?pičkami, kter? způsobuje motor serva. Pro |
|
| 176 |
stabilizaci nap?jen? pro elektroniku byl toti? pou?it line?rn? stabiliz?tor s velk?m |
|
| 177 |
drop-outem. Proto jsme vyvinuli měnič, kter? i při poklesu napět? bateri? o 2V |
|
| 178 |
dok?zal udr?et napět? pro ř?d?c? elektroniku a zejm?na kameru stabiln?. Po tomto |
|
| 179 |
vylep?en? u? robot dosahoval poměrně slu?n? rychlosti a nejzaj?mavěj?? bylo, ?e |
|
| 180 |
d?ky ?velk?? rozli?ovac? schopnosti kamery (procesor dok?zal rozli?it asi 50 |
|
| 181 |
bodů) byla j?zda v zat?čk?ch velmi plynul?.<br> |
|
| 182 |
<br> |
|
| 183 |
Probl?m s tmou v tunelu byl vyře?en jednodu?e tak, ?e si robot celou cestu |
|
| 184 |
sv?til. Na osvětlen? dr?hy byly pou?ity červen? LED. Nev?me, jak? barva pro |
|
| 185 |
osvětlen? dr?hy je nejlep??, eventuelně, jestli je lep?? sv?tit b?le. S t?m jsme |
|
| 186 |
u? nestihli před soutě?? experimentovat.<br> |
|
| 187 |
<br> |
|
| 188 |
Proto?e pou?it? procesor PIC16F876A neum? n?sobit a vůbec jeho v?početn? v?kon |
|
| 189 |
nen? omračuj?c? (kdybychom ho ale měli před lety, tak by jsme si určitě |
|
| 190 |
nestě?ovali), byl celkem probl?m naprogramovat elektronick? diferenci?l na |
|
| 191 |
hnanou n?pravu. Nakonec se to vyře?ilo procedurou ?jakon?soben??, kter? |
|
| 192 |
kombinac? rotac? a podm?něn?ho sč?t?n? prov?d? rychle potřebn? v?počet s uspokojivou |
|
| 193 |
přesnost?.</font></p> |
|
| 194 |
<p align="center"><font face="Times New Roman"><a href="pic/image013.jpg"> |
|
| 195 |
<img border="0" src="pic/image013_small.jpg" xthumbnail-orig-image="pic/image013.jpg"></a></font></p> |
|
| 196 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 6: Měnič v krabičce od čaje a primitivn? |
|
| 197 |
osvětlen? dr?hy.<br> |
|
| 198 |
</font></p> |
|
| 199 |
<p align="center"><font face="Times New Roman"><a href="pic/image015.jpg"> |
|
| 200 |
<img border="0" src="pic/image015_small.jpg" xthumbnail-orig-image="pic/image015.jpg"></a></font></p> |
|
| 201 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 7: Robot, př?tel člověka.</font></p> |
|
| 202 |
<p align="left"><font face="Times New Roman">Začali jsme tedy testovat pro sledov?n? č?ry asi nejobt??něj?? věc, dlouhou |
|
| 203 |
rovinku a na konci pravo?hlou zat?čku. Při dal??m zvy?ov?n? rychlosti začal |
|
| 204 |
robot v takov? zat?čce vypad?vat. Ne, ?e by př?mo vyjel a nevr?til se na dr?hu, |
|
| 205 |
ale poloměr zat?čen? byl men?? ne? poloměr zat?čky a hrozilo tedy, ?e v Bratislavě |
|
| 206 |
spadne ze stolu. Udělali jsme předpoklad, ?e je to způsobeno pomal?m sn?mkov?m |
|
| 207 |
kmitočtem kamery, ne? si robot stačil v?imnout, ?e je zat?čka ostr?, zmizela mu |
|
| 208 |
č?ra ze zorn?ho pole.<br> |
|
| 209 |
<br> |
|
| 210 |
Dal??m probl?mem bylo, ?e pokud bylo nerovnoměrn? osvětlen? dr?hy, vypad?val |
|
| 211 |
kameře obraz. Kamera m? sice AGC, ale samozřejmě, ?e je schopna kompenzovat |
|
| 212 |
rozd?ly jasu jenom v určit?ch mez?ch. Kupodivu nebyl probl?m v tunelu, kde si |
|
| 213 |
robot sv?t?, ale velk? probl?m byl s denn?m světlem, pokud přich?zelo pouze z jednoho |
|
| 214 |
směru.<br> |
|
| 215 |
<br> |
|
| 216 |
Konstrukčn? ře?en?, kter? n?sledovalo, bylo doplněn? dvou modr?ch čidel po |
|
| 217 |
stran?ch robota na sledov?n? č?ry. Čidla byla um?stěna tak, ?e viděla č?ru, a? |
|
| 218 |
kdy? č?ra byla mimo zorn? pole kamery a uplatňovala se pouze v př?padě, ?e |
|
| 219 |
kamera č?ru nevid?. To velmi zv??ilo spolehlivost sledov?n? č?ry. Z?roveň jsme |
|
| 220 |
tato čidla pou?ili pro opětovn? vyhled?n? č?ry po objet? cihly, proto?e jsme se |
|
| 221 |
b?li pro tento ?kol pou??t kameru, proto?e po dobu obj??děn? cihly kamera nevid? |
|
| 222 |
kontrastn? obr?zek (nevid? č?ru) a d?ky AGC by mohla zaznamenat st?n nebo ?p?nu |
|
| 223 |
na trati jako č?ru. <br> |
|
| 224 |
<br> |
|
| 225 |
Na obj??děn? cihly byl robot Camerus vybaven odometri? na prav?m kole. Vyu?ili |
|
| 226 |
jsme otvorů ve vět??m kole převodovky a IR z?vory z tisk?rny. Citlivost |
|
| 227 |
o<span lang="en-us">d</span>ometrie nebyla velk? (4 impulzy na jednu ot?čku kolečka (12,6mm)).<br> |
|
| 228 |
</font></p> |
|
| 229 |
<p align="left"><b><font face="Times New Roman" size="4">Jak jsme jeli ?ladit? do V?dně</font></b></p> |
|
| 230 |
<p align="left"><font face="Times New Roman">V?e potřebn? bylo naprogramov?no, robot sledoval č?ru. Přeru?en? nedělalo |
|
| 231 |
probl?my, prostě byl v?padek obrazu a robot pokračoval v původn?m směru před |
|
| 232 |
přeru?en?m. Cihla byla ře?ena pomoc? odometrie. Takto vybaveni jsme odjeli do |
|
| 233 |
V?dně na Robot Challenge 2007. Řekli jsme si, ?e to tam odlad?me, proto?e jsou |
|
| 234 |
tam jednodu??? podm?nky ne? v Bratislavě (alespoň na prvn? pohled, robot mů?e |
|
| 235 |
b?t vět?? a tunel je tak? vět??, tak?e robot nemus? jet tak přesně).<br> |
|
| 236 |
<br> |
|
| 237 |
Rozhodnut? ladit robota na Robot Challenge se uk?zalo jako spr?vn?. Podm?nky |
|
| 238 |
toti? byly n?ročn?. Bodov? osvětlen?, dr?ha slo?en? z desek s mezerami, styl |
|
| 239 |
soutě?e play-off.<br> |
|
| 240 |
<br> |
|
| 241 |
Camerus určitě jezdil nejrychleji, ale nedok?zal objet cihlu! Jednou se stalo, |
|
| 242 |
?e uviděl mezeru mezi deskami, podruh? mu zřejmě proklouzlo kolečko s odometri?, |
|
| 243 |
prostě katastrofa! Alespoň, ?e byl třet? v paraleln?m slalomu, to jsme mu ale |
|
| 244 |
zavinili my, proto?e jsme mu při zkou?en? objet? cihly st?hli v?kon motorů a pak |
|
| 245 |
jsme na to zapomněli. Za třet? m?sto tedy nemohl robot, ale lidsk? faktor.<br> |
|
| 246 |
<br> |
|
| 247 |
</font></p> |
|
| 248 |
<p align="center"><font face="Times New Roman"><a href="pic/image017.jpg"> |
|
| 249 |
<img border="0" src="pic/image017_small.jpg" xthumbnail-orig-image="pic/image017.jpg"></a></font></p> |
|
| 250 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 8: Robot Challenge 2007, Parallel Slalom. Robot |
|
| 251 |
Camerus na dr?ze č?slo 1. Na dr?ze jsou patrn? st?ny od bodov?ho osvětlen?.<br> |
|
| 252 |
</font></p> |
|
| 253 |
<p align="center"><font face="Times New Roman"><a href="pic/image019.jpg"> |
|
| 254 |
<img border="0" src="pic/image019_small.jpg" xthumbnail-orig-image="pic/image019.jpg"></a><span lang="en-us"> |
|
| 255 |
</span><a href="pic/P3180028.JPG"> |
|
| 256 |
<img border="0" src="pic/P3180028_small.JPG" xthumbnail-orig-image="pic/P3180028.JPG"></a><br> |
|
| 257 |
<br> |
|
| 258 |
Obr<span lang="en-us">.</span> 9: Robot Camerus na Robot Challenge 2007. Robot |
|
| 259 |
nem? dostatek čidel na bezpečn? objet? přek??ky.<br> |
|
| 260 |
</font></p> |
|
| 261 |
<p align="left"><font face="Times New Roman">Jednoznačně se uk?zalo, ?e obj??dět přek??ku ?naslepo? nen? dobr? strategie a |
|
| 262 |
zejm?na, pokud je odometrie na hnan? n?pravě.<br> |
|
| 263 |
</font></p> |
|
| 264 |
<p align="left"><font face="Times New Roman" size="4"><b>Co s cihlou?</b></font></p> |
|
| 265 |
<p align="left"><font face="Times New Roman">Dal?? v?voj jsme věnovali obj??děn? cihly za pomoci čidel. Jak? čidla ale pou??t? |
|
| 266 |
Měli jsme ?patn? zku?enosti s IR čidly s 3Orbise a roboty s ultrazvukem jsme |
|
| 267 |
zase na minul?ch ročn?c?ch viděli, ?e si spletli tunel s cihlou, př?padně |
|
| 268 |
neviděli cihlu, pokud se k n? bl??ili ze?ikma.<br> |
|
| 269 |
<br> |
|
| 270 |
Nevěděli jsme co s t?m a tak jsme začali zkou?et. Měřili jsme, co ?vid?? |
|
| 271 |
ultrazvuk a co různ? optick? čidla. Při měřen? se uk?zaly v?echny předpokl?dan? |
|
| 272 |
probl?my. Ultrazvuk vid? kde co, jenom ne cihlu, kdy? je ?ikmo. IR sn?mač vid? |
|
| 273 |
cihlu sice spolehlivě, ale stejně dobře jako velkou b?lou zeď několik metrů |
|
| 274 |
daleko. Nakonec byla pro cihlu zvolena kombinace sedmi senzorů. Skutečně čtete |
|
| 275 |
dobře, sedmi! Jeden IR senzor vpředu na detekci přibl??en? se k cihle. Funguje |
|
| 276 |
na principu triangulace. IR vys?lac? dioda m? ?zkou hlin?kovou trubičkou z??en |
|
| 277 |
paprsek, aby nedoch?zelo k jeho integraci na velk? vzd?len? plo?e. Dal?? dva |
|
| 278 |
senzory jsou mikrosp?nače na mechanick?m n?razn?ku, kdyby se stalo, ?e |
|
| 279 |
triangulačn? čidlo cihlu přehl?dne. To se mů?e st?t v prudk? zat?čce. Z boku |
|
| 280 |
jsou pak ultrazvukov? senzor a d?lkoměr s červenou LED. Tyto čidla udr?uj? |
|
| 281 |
konstantn? vzd?lenost od cihly při jej?m obj??děn?. K tomu je?tě ji? zm?něn? |
|
| 282 |
odometrie na prav?m kolečku, kter? zaji?ťuje prudkou zat?čku doleva jakmile je |
|
| 283 |
cihla detekov?na a nakonec kompas, kter? zabraňuje, aby se robot vracel zpět po |
|
| 284 |
trati (to se mů?e st?t, proto?e mezi předn?m čidlem a bočn?mi čidly je slep? |
|
| 285 |
?hel).<br> |
|
| 286 |
<br> |
|
| 287 |
Přid?n? dal??ch čidel se neobe?lo bez konstrukčn?ch probl?mů. Bočn? LED čidlo se |
|
| 288 |
uk?zalo jako m?lo citliv? a bylo to zřejmě způsobeno t?m, ?e se jedn? o |
|
| 289 |
průmyslov? čidlo, kter? je norm?lně nap?jeno napět?m 12 a? 48V. S na??m |
|
| 290 |
nap?jec?m napět?m 7,2V a to je?tě občas, nebylo moc spokojeno. Byl tady přid?n |
|
| 291 |
dal?? měnič nahoru na 12V. Byl pou?it měnič ze star? s?ťov? karty.<br> |
|
| 292 |
</font></p> |
|
| 293 |
<p align="left"><font face="Times New Roman" size="4"><b>Posledn? weekend před soutě??</b></font></p> |
|
| 294 |
<p align="left"><font face="Times New Roman">Přid?n? kompasu na I2C sběrnici si vy??dalo přeadresaci kamery, proto?e kamera a |
|
| 295 |
kompas měly na I2C sběrnici stejnou adresu a adresa kompasu se nedala změnit. To |
|
| 296 |
kupodivu byl velk? probl?m, kter? jsme u? ře?ili posledn? weekend před soutě?? a |
|
| 297 |
vynutil si tak z?sadn? z?sah jako rozebr?n? objektivu kamery, co? znamenalo |
|
| 298 |
pečliv? či?těn? pouzdra čipu kamery, proto?e př?padn? sm?tko na pouzdře čipu by |
|
| 299 |
mělo při soutě?i fat?ln? n?sledky. Čip kamery sice přeadresaci um?, ale bylo |
|
| 300 |
nutn? připojit v?vod MULT (47) na <span lang="en-us">log_1 </span>a na to kupodivu na plo?n?m spoji kamery |
|
| 301 |
nebylo pamatov?no, přesto, ?e na plo?n?m spoji jsou plo?ky na odpory, kter? |
|
| 302 |
umo?ňuj? změnu adresy.<br> |
|
| 303 |
</font></p> |
|
| 304 |
<p align="center"><font face="Times New Roman"><a href="pic/image021.jpg"> |
|
| 305 |
<img border="0" src="pic/image021_small.jpg" xthumbnail-orig-image="pic/image021.jpg"></a></font></p> |
|
| 306 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 10: Propojka na PCB kamery umo?ňuj?c? jej? |
|
| 307 |
přeadresaci.<br> |
|
| 308 |
</font></p> |
|
| 309 |
<p align="left"><font face="Times New Roman">Posledn? weekend před soutě?? n?s napadlo je?tě jednou proj?t seznam probl?mů, |
|
| 310 |
kter? jsme si poznamenali v průběhu loňsk? soutě?e. Hned na zač?tku tam bylo: ?Zkontrolovat, |
|
| 311 |
jestli neprokluzuj? kolečka na hř?deli.? Prokluzovaly. Zkusili jsme je přilepit |
|
| 312 |
anaerobn?m lepidlem. V?sledek byl, ?e se zalepily hř?delky do lo?isek a kolečka |
|
| 313 |
prokluzovala d?l. Zkusili jsme je přilepit epoxidem. Nane?těst? n?m trochu |
|
| 314 |
epoxidu zřejmě nateklo do lo?isek a kolečka se zase utrhla. Posledn? weekend |
|
| 315 |
před soutě?? jsme tedy měli zatuhl? převodovky a kolečka prokluzovala. Sna?ili |
|
| 316 |
jsme se do hř?delek vyvrtat d?rky a d?t tam kol?k, ale vrt?k vůbec nitridovanou |
|
| 317 |
ocel z CD mechanik nebral. Nakonec jsme do hř?delek pouze vypilovali dr??ky a |
|
| 318 |
opět jsme je zalili epoxidem. Jestli neprokluzuj?, jsme pro jistotu u? |
|
| 319 |
nezkou?eli.<br> |
|
| 320 |
<br> |
|
| 321 |
Je?tě bylo nutn? znovu zaběhnout převodovky, to jsme dělali přes noc z ponděl? |
|
| 322 |
na ?ter? (IstRobot b?v? ve středu a my tam obvykle jedeme v ?ter? dopoledne). |
|
| 323 |
Motory se točily do r?na do posledn? chv?le před nalo?en?m robota do auta.<br> |
|
| 324 |
</font></p> |
|
| 325 |
<p align="left"><font face="Times New Roman" size="4"><b>Noc před soutě??</b></font></p> |
|
| 326 |
<p align="left"><font face="Times New Roman">?Kdyby nebylo posledn? noci, tak nen? ??dn? projekt dokončen.? Odpoledne jsme |
|
| 327 |
přijeli do Bratislavy na ubytovnu, rozlo?ili dr?hy a začali ladit posledn? ř?dky |
|
| 328 |
programu. V na?em př?padě to mělo b?t zpracov?n? logu z j?zdy.<br> |
|
| 329 |
<br> |
|
| 330 |
A vůbec to nejezdilo. Robot měl mal? v?kon v levotočiv? zat?čce, při obj??děn? |
|
| 331 |
cihly se dokonce občas zastavil. No jasně, řekli jsme si, jsou st?le zatuhl? |
|
| 332 |
převodovky, změnili jsme p?r konstant v programu a jak? tak? to zase jezdilo. |
|
| 333 |
Situace se ale o půlnoci zase zhor?ila a začal smrdět H-můstek. Vyměnili jsme |
|
| 334 |
tedy H-můstek a nepomohlo to. Vyměnili jsme tedy motor a pomohlo to! Prostě jsme |
|
| 335 |
neust?l?m laděn?m programu a zkou?en?m zničili jeden motor! Vr?tili jsme tedy do |
|
| 336 |
robota původn? H-můstek (asi tak v jednu hodinu r?no) a zase to nejelo. Měřen?m |
|
| 337 |
jsme pak zjistili dvě věci, jednak byly přes p?jec? lak odizolov?ny zemn?c? |
|
| 338 |
?rouby na plo?n?m spoji H-můstku a tak v?echen proud tekl přes hřeb?nkov? |
|
| 339 |
konektor a pak tam je?tě byl zkrat přes jeden tranzistor H-můstku, tak?e jeden |
|
| 340 |
motor nereverzoval. Představte si, ?e tyto z?vady byly vykompenzov?ny |
|
| 341 |
regul?torem v software a ?e s nimi byl Camerus na Robot Challenge třet?!<br> |
|
| 342 |
<br> |
|
| 343 |
Pak u? jenom stačilo doprogramovat tu logovac? proceduru (přepisovala paměť). A |
|
| 344 |
kolem p?t? hodiny rann? byl robot připraven na soutě?.<br> |
|
| 345 |
</font></p> |
|
| 346 |
<p align="left"><font face="Times New Roman" size="4"><b>IstRobot 2007</b></font></p> |
|
| 347 |
<p align="left"><font face="Times New Roman">IstRobot 2007 n?s skutečně překvapil, byla na něm z na?eho pohledu nejslo?itěj?? |
|
| 348 |
dr?ha, jakou jsme kdy viděli. Extr?mně dlouh? přeru?en?, nav?c v inflexn?m bodě |
|
| 349 |
(to n?s vůbec nenapadlo, ?e je mo?n?), cihla hned za pravo?hlou zat?čkou (sotva |
|
| 350 |
robot vyjede ze zat?čky, b?c, a je tu cihla), viz Obr?zek 11. </font></p> |
|
| 351 |
<p align="left"> </p> |
|
| 352 |
<p align="center"><font face="Times New Roman"><a href="pic/image023.jpg"> |
|
| 353 |
<img border="0" src="pic/image023_small.jpg" xthumbnail-orig-image="pic/image023.jpg"></a></font></p> |
|
| 354 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 11: IstRobot 2007 ? tvar dr?hy.</font></p> |
|
| 355 |
<p align="left"><font face="Times New Roman">Obt??nost trati se |
|
| 356 |
uk?zala hned v prvn? j?zdě, Camerus vypadnul na přeru?en?. V druh? j?zdě jsme |
|
| 357 |
sn??ili v?kon motorů, zde ale zase hrozilo, ?e se robot nerozjede, pokud někde (např?klad |
|
| 358 |
při obj??děn? cihly) v?razně zpomal?. Robot jel plynuleji, přesto vyjel v přeru?en? |
|
| 359 |
(to d? rozum, proto?e kop?roval tvar dr?hy před přeru?en?m), vyhnul se tunelu, |
|
| 360 |
znovu na?el dr?hu (to fungovalo dobře) a na podruh? projel. Byl to ?spěch, ale |
|
| 361 |
velk? časov? ztr?ta a nav?c si robot ?patně zapamatoval dr?hu pro dal?? j?zdu, |
|
| 362 |
proto?e bloudil.</font></p> |
|
| 363 |
<p align="left"><font face="Times New Roman">Programovali jsme m?sto oběda a nakonec jsme to přeru?en? vyře?ili. Prostě jsme |
|
| 364 |
zohlednili, ?e dr?ha za přeru?en?m mů?e pokračovat i na druhou stranu. Zn? to |
|
| 365 |
jednodu?e, ale ?prava programu nebyla tak jednoduch?, viz soutě?n? verzi |
|
| 366 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Designs/ROBOTS/Camerus/sw/#_Designs_ROBOTS_Camerus_sw_">firmware</a>.</font></p> |
|
| 367 |
<p align="left"><font face="Times New Roman">Fin?lov? j?zda proběhla bez |
|
| 368 |
probl?mů, robot sice jel na m?ně jak polovinu regulačn?ho rozsahu a bez na?eho |
|
| 369 |
z?sahu by se s dr?hou dobře nevypoř?dal, ale jsme r?di, ?e dojel a nakonec |
|
| 370 |
stejně za to nemohl robot, ale my, ?e jsme mu naprogramovali, ?e dr?ha za |
|
| 371 |
přeru?en?m nemů?e v?st na druhou stranu. Nakonec se podařilo s robotem s časem |
|
| 372 |
12,5s udělat ?rekord trati? <span lang="en-us">;-)</span><br> |
|
| 373 |
</font></p> |
|
| 374 |
<p align="center"><font face="Times New Roman"><a href="pic/image025.jpg"> |
|
| 375 |
<img border="0" src="pic/image025_small.jpg" xthumbnail-orig-image="pic/image025.jpg"></a></font></p> |
|
| 376 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span>12: Robot Camerus - fin?ln? verze robota.<br> |
|
| 377 |
<br> |
|
| 378 |
</font></p> |
|
| 379 |
<p align="center"><a href="pic/index.2.gif"> |
|
| 380 |
<img border="0" src="pic/index.1.gif" xthumbnail-orig-image="pic/index.2.gif"></a></p> |
|
| 381 |
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">. </span>13: Blokov? sch?ma propojen? modulů robota.<br> |
|
| 382 |
</font></p> |
|
| 383 |
<p align="left"><font face="Arial">Desky plo?n?ch spojů a popis jednotliv?ch modulů robota naleznete na |
|
| 384 |
<a href="http://www.mlab.cz/">http://www.mlab.cz/</a> |
|
| 385 |
.<br> |
|
| 386 |
</font></p> |
|
| 387 |
<p align="left"><font face="Arial">Deska procesoru<br> |
|
| 388 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/PIC16F87x/#_Modules_PIC16F87x_">http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FPIC16F87x%2F#_Modules_PIC16F87x_</a> |
|
| 389 |
<br> |
|
| 390 |
</font></p> |
|
| 391 |
<p align="left"><font face="Arial">H-můstky<br> |
|
| 392 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/HBRIDGE/#_Modules_HBRIDGE_">http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FHBRIDGE%2F#_Modules_HBRIDGE_</a> |
|
| 393 |
<br> |
|
| 394 |
</font></p> |
|
| 395 |
<p align="left"><font face="Arial">LEDbar<br> |
|
| 396 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/LEDbar/#_Modules_LEDbar_">http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FLEDbar%2F#_Modules_LEDbar_</a><br> |
|
| 397 |
</font></p> |
|
| 398 |
<p align="left"><font face="Arial">Měnič<br> |
|
| 399 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/PowerSupply/BATPOWER02A/#_Modules_PowerSupply_BATPOWER02A_">http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FPowerSupply%2FBATPOWER02A%2F#_Modules_PowerSupply_BATPOWER02A_</a><br> |
|
| 400 |
</font></p> |
|
| 401 |
<p align="left"><font face="Arial">IR modul?tor<br> |
|
| 402 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/TXIR/#_Modules_TXIR_">http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FTXIR%2F#_Modules_TXIR_</a><br> |
|
| 403 |
</font></p> |
|
| 404 |
<p align="left"><font face="Arial">Osvětlen? dr?hy<br> |
|
| 405 |
Chyb?</font></p> |
|
| 406 |
<p align="left"> </p> |
|
| 407 |
<p align="left"><font face="Arial">Univerz?lka pro 7432<br> |
|
| 408 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/UNI/UNIDIL1601A/#_Modules_UNI_UNIDIL1601A_">http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FUNI%2FUNIDIL1601A%2F#_Modules_UNI_UNIDIL1601A_</a><br> |
|
| 409 |
</font></p> |
|
| 410 |
<p align="left"><font face="Arial">Trimry<br> |
|
| 411 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Modules/TRIMQUAD01A/#_Modules_TRIMQUAD01A_">http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FModules%2FTRIMQUAD01A%2F#_Modules_TRIMQUAD01A_</a><br> |
|
| 412 |
</font></p> |
|
| 413 |
<p align="left"><font face="Arial">Dokumentace k pou?it?mu kamerov?mu čipu je na |
|
| 414 |
<a href="http://www.cmucam.org/attachment/wiki/Documentation/OV6620.PDF">http://www.cmucam.org/attachment/wiki/Documentation/OV6620.PDF</a> |
|
| 415 |
.<br> |
|
| 416 |
</font></p> |
|
| 417 |
<p align="left"><font face="Arial">Dokumentace k US senzoru je na |
|
| 418 |
<a href="http://www.robot-electronics.co.uk/htm/srf08tech.shtml">http://www.robot-electronics.co.uk/htm/srf08tech.shtml</a> .<br> |
|
| 419 |
</font></p> |
|
| 420 |
<p align="left"><font face="Arial">Dokumentace ke kompasu je na<span lang="en-us"> |
|
| 421 |
</span><a href="http://www.robot-electronics.co.uk/htm/cmps3doc.shtml">http://www.robot-electronics.co.uk/htm/cmps3doc.shtml</a> .<br> |
|
| 422 |
</font></p> |
|
| 423 |
<p align="left"><font face="Arial">Dokumentace k robotu 3Orbis, ze kter?ho Camerus vy?el, je na<span lang="en-us"> |
|
| 424 |
</span> |
|
| 425 |
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Designs/ROBOTS/3Orbis/#_Designs_ROBOTS_3Orbis_">http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FDesigns%2FROBOTS%2F3Orbis%2F#_Designs_ROBOTS_3Orbis_</a> |
|
| 426 |
.</font></p> |
|
| 427 |
|
|
| 428 |
</body> |
|
| 429 |
|
|
| 430 |
</html> |
|