957 |
miho |
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> |