<html>
<head>
<meta http-equiv="Content-Language" content="cs">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Camerus</title>
</head>
<body>
<p align="center"><font face="Arial"><font size="7">Robot CAMERUS<br>
</font><font size="4">Jak se dìlá robot na IstRobot<br>
</font><br>
<a href="mailto:kaklik@mlab.cz">kaklik@mlab.cz</a>; <a href="mailto:kakl@i.cz">
kakl@i.cz</a><span lang="en-us">; M. Novot</span>ný<br>
</font></p>
<p align="center"><a href="pic/image001.jpg">
<img border="0" src="pic/image001_small.jpg" xthumbnail-orig-image="pic/image001.jpg"></a></p>
<p align="left"><font face="Times New Roman">Tato dokumentace popisuje
konstrukci robota 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>).
<br>
<br>
Snaili jsme se technickou dokumentaci pojmout ponìkud netradiènì. Kromì popisu
finální verze robota zde naleznete chronologický popis jeho vývoje a popis vech
slepých ulièek. Doufáme, e takováto forma dokumentace bude mít pro nae
následovníky vìtí hodnotu ne pouhý návod na zopakování konstrukce.<br>
</font></p>
<p align="left"><font face="Times New Roman" size="4"><b>Robot 3Orbis</b></font></p>
<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 robota 3Orbis. Robot 3Orbis mìl
mít novou revoluèní koncepci podvozku. Pouili jsme tøíkolý podvozek, který mìl
dvì hnaná kola, kadé s nezávislým motorem a tøetí kolo, které mìlo øízené
zatáèení. Jednalo se tedy o nonholonomní podvozek. Koncepci podvozku jsme
nejdøíve ovìøovali se dvìma senzory na èáru, jako to mìly nai pøedchozí
holonomní roboti. To moc nefungovalo a proto jsme pøidali dalí senzory, pomocí
kterých se diskrétnì nastavoval úhel zatáèecího koleèka.</span></font></p>
<p align="center"><font face="Times New Roman"><a href="pic/image003.jpg">
<img border="0" src="pic/image003_small.jpg" xthumbnail-orig-image="pic/image003.jpg"></a></font></p>
<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>
<br>
<a href="pic/image005.jpg">
<img border="0" src="pic/image005_small.jpg" xthumbnail-orig-image="pic/image005.jpg"></a></font></p>
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 2:
Baterie senzorù na èáru</font></p>
<p align="left"><font face="Times New Roman"><br>
Pøidáním dalích senzorù na èáru jsme se dostali do problémù s poètem vstupù
pouitého procesoru (PIC16F88). Tento problém jsme vyøeili tak, e jsme na
zpracování signálù ze senzorù na èáru pouili dalí samostatný procesor. Toto
øeení se vak pozdìji neukázalo jako výhodné, protoe ladit distribuovaný kód
bylo øádovì obtínìjí a navíc se musela naprogramovat komunikace mezi
procesory. Èasto se nám také stávalo, e jsme bìhem vývoje do jednoho procesoru
nahráli kód pro druhý procesor, co kupodivu <span lang="en-us">v</span>dy trvalo urèitou dobu, ne jsme
na to pøili.<br>
</font></p>
<p align="center"><font face="Times New Roman"><a href="pic/image007.jpg">
<img border="0" src="pic/image007_small.jpg" xthumbnail-orig-image="pic/image007.jpg"></a></font></p>
<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 elektroniku<br>
</font></p>
<p align="left"><font face="Times New Roman">Pùvodní koncepce pøedpokládala
hnaná kola vpøedu a zatáèecí kolo vzadu. Modeláøské servo vak nedokázalo
dostateènì rychle zatáèet, pøestoe bylo zpøevodováno do rychla pøevodem 1:2.
Zmìnili jsme proto uspoøádání na hnanou nápravu vzadu a zatáèecí koleèko vpøedu.
To nám umoòovalo ostøe øezat zatáèky, ale objevily se dalí problémy.
Podvozek se v zatáèkách dostával do smyku a protoe hmotnost èidel byla
nezanedbatelná, docházelo i k jeho naklápìní a následnì k falenému signálu
z èidel, protoe èidla nebyla drena v konstantní vzdálenosti od povrchu.<br>
<br>
Pro 3Orbise byla vysoustruena duralová kola, pro která bylo plánováno obutí O
krouky. To se pak ukázalo jako nepouitelné. O krouky se nedokázaly udret
v drákách na kolech. Pùvodní kola byla tedy nahrazena plastovými z dìtské
hraèky. Kola mìla mení prùmìr, co zlepilo pøevodový pomìr, který byl pro
vyrobené pøevodovky 5:1. Jako obutí byly pouity ustøiené prsty z latexových
rukavic pro domácnost. Jako obutí zatáèecího koleèka bylo pouito pryové
tìsnìní 12x10x2. Na zatáèecí koleèko bylo obuto tak, e se jelo po hranì
tìsnìní.</font></p>
<p align="center"><font face="Times New Roman">
<br>
<a href="pic/image009.jpg">
<img border="0" src="pic/image009_small.jpg" xthumbnail-orig-image="pic/image009.jpg"></a></font></p>
<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 od syna pana Hronka.<br>
Je vidìt èidlo na hledání hrany cihly.</font></p>
<p align="left"><font face="Times New Roman"><br>
Pro detekci a objídìní cihly byly na robotovi namontovány IR senzory. Jeden mìl
detekovat pøekáku na dráze a zbylé dva mìly slouit pro její objetí. Objetí
cihly pomocí IR senzorù jsme vak nedokázali odladit. Objídìní nebylo
spolehlivé a tak robot nakonec objídìl cihlu naslepo. <br>
Pøi soutìi se objevil neèekaný problém, kvùli kterému robot nakonec nedojel.
Soutìní dráha je tvoøena dvìma deskami. Desky nejsou dokonale slícovány a tak
mezi nimi vzniká tmavá mezera. Tato mezera byla na soutìní dráze pøelepena
bílou lepicí páskou. Bohuel èidla na èáru, které robot pouíval, vyhodnocovala
bílou lepicí pásku jako èernou (èidla pracují blízko ultrafialové oblasti).
Tento problém by el kompenzovat programovì, ale na soutìi se nepodaøilo
program v èasové tísni správnì upravit. Robot tedy nakonec nedojel.<br>
<br>
Odhadovali jsme, e nám chybìl tak týden na odladìní firmware, protoe v roce
2006 u nás byla povodeò a ztratili jsme tak nejménì jeden kalendáøní mìsíc veèerù/weekendù na
programování. Nyní s odstupem èasu vidíme, e co se týká objetí cihly, chybìlo
nám mnohem více.<br>
</font></p>
<p align="left"><font face="Times New Roman" size="4"><b>Robot Laserus</b></font></p>
<p align="left"><font face="Times New Roman">Dalí verzí robota se shodným
podvozkem byl robot Laserus. Snahou bylo odstranit tìká èidla pøedsunutá pøed
robota a tak odstranit pøeklápìní v ostrých zatáèkách. Øeením by bylo zvìtení
dosahu èidel na èáru tak, aby mohla být umístìna co nejblíe k ose otáèení
robota. Zároveò by se tím sníila obvodová setrvaèná hmotnost robota. Znovu jsme
pouili tøíkolý podvozek s jedním øízeným zatáèecím koleèkem, pøestoe na
IstRobotu 2006 byla tato konfigurace diskutována a autoøi druhého robota
s podobnou koncepcí se v diskusi vyjádøili, e to nebyl dobrý nápad, e robot
pøi vìtích rychlostech má snahu se rozkmitávat. Øeení tohoto problému jsme
vidìli ve zjemnìní snímání èáry tak, aby se preciznìji 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 funkèního robota (viz Obrázek 5), který dokázal,
ale pomalu, jezdit po èáøe. </font></p>
<p align="center"><font face="Times New Roman"><a href="pic/image011.jpg">
<img border="0" src="pic/image011_small.jpg" xthumbnail-orig-image="pic/image011.jpg"></a></font></p>
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 5:
Robot Laserus. Na obrázku je vidìt èervená stopa LASERu.</font></p>
<p align="left"><font face="Times New Roman"> <br>
Problémy s touto konstrukcí byly dva. Pokud byl na dráze hrbol, tak se
v dùsledku vibrací zmenil rozkmit laseru, protoe laser je ve ètecím zaøízení
rozmítáván mechanicky zrcátkem, které vibruje a velké stranové zrychlení pøi
pøejetí hrbolu zpùsobovalo, e elektromagnetický mechanismus, který pohybuje
zrcátkem vypadl z rezonance. Tento problém by ovem zøejmì lo kompenzovat
softwarem, protoe se èára èetla v obou smìrech pohybu zrcátka. Jednou jsme tedy
dostali polohu èáry mìøenou z leva a jednou z prava.<br>
<br>
Druhý problém byl závanìjí. Protoe bylo pouito zaøízení na ètení èárového
kódu, snímali jsme vlastnì polohu jedné èáry fiktivního èárového kódu ve scanovaném prostoru. V prudké
zatáèce vak dochází k tomu, e èáru vidí snímaè ikmo a tak se relativnì
zvìtuje její tlouka. Vnitøní elektronika snímaèe vyhodnotila tento stav, jako
e se nejedná o èárový kód a èáru vyfiltrovala. To samozøejmì mìlo v ostré
zatáèce fatální následky. Dále jsme touto cestou nepokraèovali, pøesto, e víme,
e v závodì DARPA se èasto pouívají laserové dálkomìry. Na soutìních vozech je
vak vidìt, e konstruktéøi také mají problémy s odtlumením vibrací.<br>
</font></p>
<p align="left"><font face="Times New Roman" size="4"><b>Robot Camerus</b></font></p>
<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 nìkolikrát, ale kdy jsme nápad
analyzovali, vdy se ukázalo, e jednoduchým jednoèipovým mikropoèítaèem nelze
zpracovávat obraz kamery. Druhým problémem je, e bìnì dostupné kamery mají
snímkový kmitoèet 50Hz, co se nám zdálo na snímání èáry pomalé.<span lang="en-us"> </span>
Pøesto jsme zakoupili jednu kameru a zaèali jsme osciloskopem testovat, co tak
kamera vidí a jak by se to dalo zpracovat. Kupodivu jsme zjistili, e
s procesorem na 20MHz stíháme naèíst jeden obrazový øádek asi s polovièním
rozliením. To bylo povzbudivé a zamìøili jsme se tímto smìrem.<br>
Druhým problémem bylo, e kamera nesnímá kontrastní obraz. Jak se vypoøádat
v jednoèipovém poèítaèi s tímto problémem, kdy jeho výpoèetní výkon staèí sotva
na naètení øádku a jetì se musí poèítat regulace pro elektronický diferenciál?
(Pro zvolenou koncepci podvozku je nutné diferencovat otáèky motorù na hnaných
nápravách.)<br>
<br>
Problém jsme vyøeili nìèím, èemu jsme pracovnì zaèali øíkat digitální
komparátor. Jednodue jsme pomocí logických hradel provedli OR tøech nejvyích
bitù jasového signálu z kamery. Vechno co bylo pod 0x1F bylo tedy èerné a
vechno nad bylo bílé. Expozici kamery pak bylo nutné nastavit tak, aby
nejsvìtlejí èerná èára, byla jetì èerná. To se udìlalo snadno osciloskopem,
ale pro závod bylo nutné vyvinout nìjakou strategii, jak robot provede urèení
expozice. Øeením byla rutina Expozimetr, která postupnì zvyuje expozièní èas
a hledá ve snímku (samozøejmì, e v naem pøípadì na jedné øádce) èáru
definované tlouky. Vychází se z toho, e nejdøíve pøi podexponování je èerný
celý obrázek, pak se postupnì obrázek vyjasòuje, co je ovem díky chybì
apertury objektivu nerovnomìrné. Dalím zvyováním èasu expozice se nakonec
objeví èára správné tlouky, ta se pak dále ztenèuje a nakonec je snímek
pøepálen a èára zmizí. Samozøejmì se pøedpokládalo, e na startu robot èáru vidí
a ta je pøed ním pøiblinì uprostøed. <br>
<br>
První pokusy vypadaly velmi optimisticky, robot se drel èáry a vyjel jenom
obèas. Zajímavé bylo, e robot dokázal jezdit jenom po dráze, kde nebyly zatáèky
doleva! Protoe jsme nemìli k dispozici obraz z kamery, aby bylo moné
zkontrolovat co kamera vidí, bylo nutné tento problém øeit pouhou úvahou.
Napadlo nás, e mùe docházet k vytrhávání obrazu na krajích snímku.
Kompenzovalo se to tím, e se zahazovaly okraje øádku a skuteènì to pomohlo,
robot spolehlivì, i kdy pomalu, sledoval èáru. To byl velký úspìch, protoe
kdyby nám nìkdo øekl pøed rokem, e to s kamerou a jednoèipovým poèítaèem jde, a
e je to spolehlivé, asi by jsme mu nevìøili.<br>
<br>
Po prvotních úspìích jsme zkusili zrychlit jene to nefungovalo, robot vdy
vypadl z dráhy, kdy se zatáèecí koleèko otoèilo o velký úhel. Napadlo nás, e
to mùe být zpùsobeno proudovými pièkami, které zpùsobuje motor serva. Pro
stabilizaci napájení pro elektroniku byl toti pouit lineární stabilizátor
s velkým drop-outem. Proto jsme vyvinuli mìniè, který i pøi poklesu napìtí
baterií o 2V dokázal udret napìtí pro øídící elektroniku a zejména kameru
stabilní. Po tomto vylepení u robot dosahoval pomìrnì sluné rychlosti a
nejzajímavìjí bylo, e díky velké rozliovací schopnosti kamery (procesor
dokázal rozliit asi 50 bodù) byla jízda v zatáèkách velmi plynulá.<br>
<br>
Problém s tmou v tunelu byl vyøeen jednodue tak, e si robot celou cestu
svítil. Na osvìtlení dráhy byly pouity èervené LED. Nevíme, jaká barva pro
osvìtlení dráhy je nejlepí, eventuelnì, jestli je lepí svítit bíle. S tím jsme
u nestihli pøed soutìí experimentovat.<br>
<br>
Protoe pouitý procesor PIC16F876A neumí násobit a vùbec jeho výpoèetní výkon
není omraèující (kdybychom ho ale mìli pøed lety, tak by jsme si urèitì
nestìovali), byl celkem problém naprogramovat elektronický diferenciál na
hnanou nápravu. Nakonec se to vyøeilo procedurou jakonásobení, která
kombinací rotací a podmínìného sèítání provádí rychle potøebný výpoèet
s uspokojivou pøesností.</font></p>
<p align="center"><font face="Times New Roman"><a href="pic/image013.jpg">
<img border="0" src="pic/image013_small.jpg" xthumbnail-orig-image="pic/image013.jpg"></a></font></p>
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 6:
Mìniè v krabièce od èaje a primitivní osvìtlení dráhy.<br>
</font></p>
<p align="center"><font face="Times New Roman"><a href="pic/image015.jpg">
<img border="0" src="pic/image015_small.jpg" xthumbnail-orig-image="pic/image015.jpg"></a></font></p>
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 7:
Robot, pøítel èlovìka.</font></p>
<p align="left"><font face="Times New Roman">Zaèali jsme tedy testovat pro
sledování èáry asi nejobtínìjí vìc, dlouhou rovinku a na konci pravoúhlou
zatáèku. Pøi dalím zvyování rychlosti zaèal robot v takové zatáèce vypadávat.
Ne, e by pøímo vyjel a nevrátil se na dráhu, ale polomìr zatáèení byl mení ne
polomìr zatáèky a hrozilo tedy, e v Bratislavì spadne ze stolu. Udìlali jsme
pøedpoklad, e je to zpùsobeno pomalým snímkovým kmitoètem kamery, ne si robot
staèil vimnout, e je zatáèka ostrá, zmizela mu èára ze zorného pole.<br>
<br>
Dalím problémem bylo, e pokud bylo nerovnomìrné osvìtlení dráhy, vypadával
kameøe obraz. Kamera má sice AGC, ale samozøejmì, e je schopna kompenzovat
rozdíly jasu jenom v urèitých mezích. Kupodivu nebyl problém v tunelu, kde si
robot svítí, ale velký problém byl s denním svìtlem, pokud pøicházelo pouze
z jednoho smìru.<br>
<br>
Konstrukèní øeení, které následovalo, bylo doplnìní dvou pùvodních modrých èidel po
stranách robota na sledování èáry. Èidla byla umístìna tak, e vidìla èáru, a
kdy èára byla mimo zorné pole kamery a uplatòovala se pouze v pøípadì, e
kamera èáru nevidí. To velmi zvýilo spolehlivost sledování èáry. Zároveò jsme
tato èidla pouili pro opìtovné vyhledání èáry po objetí cihly, protoe jsme se
báli pro tento úkol pouít kameru, protoe po dobu objídìní cihly kamera nevidí
kontrastní obrázek (nevidí èáru) a díky AGC by mohla zaznamenat stín nebo pínu
na trati jako èáru. <br>
<br>
Na objídìní cihly byl robot Camerus vybaven odometrií na pravém kole. Vyuili
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
nebyla velká (4 impulzy na jednu otáèku koleèka (12,6mm)).<br>
</font></p>
<p align="left"><b><font face="Times New Roman" size="4">Jak jsme jeli ladit
do Vídnì</font></b></p>
<p align="left"><font face="Times New Roman">Ve potøebné bylo naprogramováno,
robot sledoval èáru. Pøeruení nedìlalo problémy, prostì byl výpadek obrazu a
robot pokraèoval v pùvodním smìru pøed pøeruením. Cihla byla øeena pomocí
odometrie. Takto vybaveni jsme odjeli do Vídnì na Robot Challenge 2007. Øekli
jsme si, e to tam odladíme, protoe jsou tam jednoduí podmínky ne
v Bratislavì (alespoò na první pohled, robot mùe být vìtí a tunel je také
vìtí, take mení robot nemusí jet tak pøesnì).<br>
<br>
Rozhodnutí ladit robota na Robot Challenge se ukázalo jako správné. Podmínky
toti byly nároèné. Bodové osvìtlení, dráha sloená z desek s mezerami, styl
soutìe play-off.<br>
<br>
Camerus urèitì jezdil nejrychleji, ale nedokázal objet cihlu! Jednou se stalo,
e uvidìl mezeru mezi deskami, podruhé mu zøejmì proklouzlo koleèko s odometrií,
prostì katastrofa! Alespoò, e byl tøetí v paralelním slalomu, to jsme mu ale
zavinili my, protoe jsme mu pøi zkouení objetí cihly stáhli výkon motorù a pak
jsme na to zapomnìli. Za tøetí místo tedy nemohl robot, ale lidský faktor.<br>
<br>
</font></p>
<p align="center"><font face="Times New Roman"><a href="pic/image017.jpg">
<img border="0" src="pic/image017_small.jpg" xthumbnail-orig-image="pic/image017.jpg"></a></font></p>
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span> 8:
Robot Challenge 2007, Parallel Slalom. Robot Camerus na dráze èíslo 1. Na dráze
jsou patrné stíny od bodového osvìtlení.<br>
</font></p>
<p align="center"><font face="Times New Roman"><a href="pic/image019.jpg">
<img border="0" src="pic/image019_small.jpg" xthumbnail-orig-image="pic/image019.jpg"></a><span lang="en-us">
</span><a href="pic/P3180028.JPG">
<img border="0" src="pic/P3180028_small.JPG" xthumbnail-orig-image="pic/P3180028.JPG"></a><br>
<br>
Obr<span lang="en-us">.</span> 9: Robot Camerus na Robot Challenge 2007. Robot
nemá dostatek èidel na bezpeèné objetí pøekáky.<br>
</font></p>
<p align="left"><font face="Times New Roman">Jednoznaènì se ukázalo, e objídìt
pøekáku napùl naslepo není dobrá strategie a zejména, pokud je odometrie na hnané
nápravì.<br>
</font></p>
<p align="left"><font face="Times New Roman" size="4"><b>Co s cihlou?</b></font></p>
<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? Mìli jsme patné zkuenosti s IR
èidly z 3Orbise a roboty s ultrazvukem jsme zase na minulých roènících vidìli,
e si spletli tunel s cihlou, pøípadnì nevidìli cihlu, pokud se k ní blíili
zeikma.<br>
<br>
Nevìdìli jsme co s tím a tak jsme zaèali zkouet. Mìøili jsme, co vidí
ultrazvuk a co rùzná optická èidla. Pøi mìøení se ukázaly vechny pøedpokládané
problémy. Ultrazvuk vidí kde co, jenom ne cihlu, kdy je ikmo. IR snímaè vidí
cihlu sice spolehlivì, ale stejnì dobøe jako velkou bílou zeï nìkolik metrù
daleko. Nakonec byla pro cihlu zvolena kombinace sedmi senzorù. Skuteènì ètete
dobøe, sedmi! Jeden IR senzor vpøedu na detekci pøiblíení se k cihle. Funguje
na principu triangulace. IR vysílací dioda má úzkou hliníkovou trubièkou zúen
paprsek, aby nedocházelo k jeho integraci na velké vzdálené ploe. Dalí dva
senzory jsou mikrospínaèe na mechanickém nárazníku, kdyby se stalo, e
triangulaèní èidlo cihlu pøehlédne. To se mùe stát v prudké zatáèce. Z boku
jsou pak ultrazvukový senzor a on/off dálkomìr s èervenou LED. Tyto èidla udrují
konstantní vzdálenost od cihly pøi jejím objídìní. K tomu jetì ji zmínìná odometrie na pravém koleèku, která zajiuje prudkou zatáèku doleva jakmile je
cihla detekována a nakonec kompas, který zabraòuje, aby se robot vracel zpìt po
trati (to se mùe stát, protoe mezi pøedním èidlem a boèními èidly je slepý
úhel).<br>
<br>
Pøidání dalích èidel se neobelo bez konstrukèních problémù. Boèní LED èidlo se
ukázalo jako málo citlivé a bylo to zøejmì zpùsobeno tím, e se jedná o
prùmyslové èidlo, které je normálnì napájeno napìtím 12 a 48V. S naím
napájecím napìtím 7,2V a to jetì obèas, nebylo moc spokojeno. Byl tady pøidán
dalí mìniè nahoru na 12V. Byl pouit mìniè ze staré síové karty.</font></p>
<p align="left"><font face="Times New Roman">Samostatným konstrukèním problémem
bylo umístìní kompasu. Nakonec musel být kompas umístìn nad vechny desky s
elektronikou a musel být orientován tak, aby èidla kompasu byla pod úhlem 45<span lang="en">°
k </span>ose robota.<span lang="en"> Pokud byla èidla v ose robota, byl kompas
ovlivòován zbytkovým magnetickým polem v kovových (zejména elezných) èástech
robota.</span><br>
</font></p>
<p align="left"><font face="Times New Roman" size="4"><b>Poslední weekend pøed
soutìí</b></font></p>
<p align="left"><font face="Times New Roman">Pøidání kompasu na I2C sbìrnici si
vyádalo pøeadresaci kamery, protoe kamera a kompas mìly na I2C sbìrnici
stejnou adresu a adresa kompasu se nedala zmìnit. To kupodivu byl velký problém,
který jsme øeili a poslední weekend pøed soutìí a pøitom vyadoval tak zásadní
zásah jako rozebrání objektivu kamery, co znamenalo peèlivé èitìní pouzdra a
èipu kamery, protoe pøípadné smítko na pouzdøe èipu by mìlo pøi soutìi fatální
následky. Èip kamery sice pøeadresaci umí, ale bylo nutné pøipojit vývod MULT
(47) na <span lang="en-us">log_1 </span>a na to kupodivu na ploném spoji kamery
nebylo pamatováno, pøesto, e na ploném spoji jsou ploky na odpory, které
umoòují zmìnu adresy.<br>
</font></p>
<p align="center"><font face="Times New Roman"><a href="pic/image021.jpg">
<img border="0" src="pic/image021_small.jpg" xthumbnail-orig-image="pic/image021.jpg"></a></font></p>
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span>
10: Propojka na PCB kamery umoòující její pøeadresaci.<br>
</font></p>
<p align="left"><font face="Times New Roman">Poslední weekend pøed soutìí nás
napadlo jetì jednou projít seznam problémù, které jsme si poznamenali v prùbìhu
loòské soutìe. Hned na zaèátku tam bylo: Zkontrolovat, jestli neprokluzují
koleèka na høídeli. Prokluzovala... Zkusili jsme je pøilepit anaerobním lepidlem.
Výsledek byl, e se zalepily høídelky do loisek a koleèka prokluzovala dál.
Zkusili jsme je pøilepit epoxidem. Nanetìstí nám trochu epoxidu zøejmì nateklo
do loisek a koleèka se zase utrhla. Poslední nedìli pøed soutìí jsme tedy
mìli zatuhlé pøevodovky a koleèka prokluzovala. Snaili jsme se do høídelek
vyvrtat dírky a dát tam kolík, ale vrták vùbec nitridovanou ocel z CD mechanik
nebral. Nakonec jsme do høídelek pouze vypilovali dráky a opìt jsme je zalili
epoxidem. Jestli neprokluzují, jsme pro jistotu u nezkoueli. </font></p>
<p align="left"><font face="Times New Roman">Pøi manipulaci s pravou pøevodovkou
se podaøilo ulomit vývod od IR závory na odometrii. Protoe nela vymìnit (je
zalepená v pàevodovce)a nechtìli jsme mìnit celou pøevodovku, natavili jsme její
pouzdro pájkou a drátek pøiletovali na pahýl vývodu.<br>
<br>
Po rozebrání bylo nutné pøevodovky nechat znovu zabìhnout, to jsme dìlali pøes noc z pondìlí
na úterý (IstRobot bývá ve støedu a my tam obvykle jedeme v úterý dopoledne).
Motory se toèily do rána do poslední chvíle pøed naloením robota do auta.<br>
</font></p>
<p align="left"><font face="Times New Roman" size="4"><b>Noc pøed soutìí</b></font></p>
<p align="left"><font face="Times New Roman">Kdyby nebylo poslední noci, tak
není ádný projekt dokonèen. Odpoledne jsme pøijeli do Bratislavy na ubytovnu,
rozloili dráhy a zaèali ladit poslední øádky programu. V naem pøípadì to mìlo
být zpracování logu z jízdy.<br>
<br>
A vùbec to nejezdilo. Robot mìl malý výkon v levotoèivé zatáèce, pøi objídìní
cihly se dokonce obèas zastavil. No jasnì, øekli jsme si, jsou stále zatuhlé
pøevodovky, zmìnili jsme pár konstant v programu a jak tak to zase jezdilo.
Situace se ale o pùlnoci zase zhorila a zaèal smrdìt H-mùstek. Vymìnili jsme
tedy H-mùstek a nepomohlo to. Vymìnili jsme tedy motor a pomohlo to! (Pozdìjí analýzou záznamu pouitého dílu bylo zjitìno, e motor è.2 byl pouit 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>)
Po výmìnì motoru jsme vrátili do
robota pùvodní H-mùstek (asi tak v jednu hodinu ráno) a zase to nejelo. Mìøením
jsme pak zjistili dvì vìci, jednak byly pøes pájecí lak odizolovány zemnící
rouby na ploném spoji H-mùstku a tak vechen proud tekl pøes høebínkový
konektor a pak tam jetì byl zkrat pøes jeden tranzistor H-mùstku, take jeden
motor nereverzoval. Pøedstavte si, e tyto závady byly vykompenzovány
jednak regulátorem v software a také koncepcí podvozku, a e s nimi byl Camerus na Robot Challenge tøetí!<br>
<br>
Pak u jenom staèilo doprogramovat tu logovací proceduru (pøepisovala pamì). A
kolem páté hodiny ranní byl robot pøipraven na soutì.<br>
</font></p>
<p align="left"><font face="Times New Roman" size="4"><b>IstRobot 2007</b></font></p>
<p align="left"><font face="Times New Roman">IstRobot 2007 nás skuteènì
pøekvapil, byla na nìm z naeho pohledu nejsloitìjí dráha, jakou jsme kdy
vidìli. Extrémnì dlouhé pøeruení, navíc v inflexním bodì (to nás vùbec
nenapadlo, e je moné), cihla hned za pravoúhlou zatáèkou (sotva robot vyjede
ze zatáèky, bác, a je tu cihla), viz Obrázek 11. </font></p>
<p align="left"> </p>
<p align="center"><font face="Times New Roman"><a href="pic/image023.jpg">
<img border="0" src="pic/image023_small.jpg" xthumbnail-orig-image="pic/image023.jpg"></a></font></p>
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span>
11: IstRobot 2007 tvar dráhy.</font></p>
<p align="left"><font face="Times New Roman">Potenciálním problémem byly
magnetické stojánky na kterých stála èidla èasomíry. Magnetické pole nad dráhou
bylo díky nim znaènì nehomogenní (stojánek na Obr. 11 vlevo dole a dva stojánky
na startu). Robot vyuíval kompas pouze u cihly, a zøejmì byl stojánek
dostateènì daleko/blízko, e nakonec nevadil. Údaje z kompasu se zpracovávaly
diferenènì, take nevadilo, e byla díky stojánkùm odchylka v celkové orientaci
magnetického pole Zemì, podstatné bylo, aby nedocházelo k velkým zakøivením pole
v oblasti cihly. K èemu, jak jsme zmìøili, èásteènì docházelo, ale software se
s tím vypoøádal, kdy váil údaje ze vech èidel pøi objídìní pøekáky.</font></p>
<p align="left"><font face="Times New Roman">Obtínost trati se ukázala hned
v první jízdì, Camerus vypadnul na pøeruení. V druhé jízdì jsme sníili výkon
motorù, zde ale zase hrozilo, e se robot nerozjede, pokud nìkde (napøíklad pøi
objídìní cihly) výraznì zpomalí. Robot jel plynuleji, pøesto vyjel v pøeruení
(to dá rozum, protoe kopíroval tvar dráhy pøed pøeruením), vyhnul se tunelu,
znovu nael dráhu (to fungovalo dobøe) a na podruhé projel. Byl to úspìch, ale
velká èasová ztráta a navíc si robot patnì zapamatoval dráhu pro dalí jízdu,
protoe bloudil.</font></p>
<p align="left"><font face="Times New Roman">Programovali jsme místo obìda a
nakonec jsme to pøeruení vyøeili. Prostì jsme zohlednili, e dráha za
pøeruením mùe pokraèovat i na druhou stranu. Zní to jednodue, ale úprava
programu nebyla tak jednoduchá, viz soutìní verzi
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Designs/ROBOTS/Camerus/sw/#_Designs_ROBOTS_Camerus_sw_">
firmware</a>.</font></p>
<p align="left"><font face="Times New Roman">Finálová jízda probìhla bez
problémù, robot sice jel na ménì jak polovinu regulaèního rozsahu a bez naeho
zásahu by se s dráhou dobøe nevypoøádal, ale jsme rádi, e dojel a nakonec
stejnì za to nemohl robot, ale my, e jsme mu naprogramovali, e dráha za
pøeruením nemùe vést na druhou stranu. Nakonec se podaøilo s robotem s èasem
12,5s udìlat rekord trati <span lang="en-us">;-)</span><br>
</font></p>
<p align="center"><font face="Times New Roman"><a href="pic/image025.jpg">
<img border="0" src="pic/image025_small.jpg" xthumbnail-orig-image="pic/image025.jpg"></a></font></p>
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">.</span>12:
Robot Camerus - finální verze robota.<br>
<br>
</font></p>
<p align="center"><a href="pic/index.2.gif">
<img border="0" src="pic/index.1.gif" xthumbnail-orig-image="pic/index.2.gif"></a></p>
<p align="center"><font face="Times New Roman">Obr<span lang="en-us">. </span>
13: Blokové schéma propojení modulù robota.<br>
</font></p>
<p align="left"><font face="Arial">Desky ploných spojù a popis jednotlivých
modulù robota naleznete na
<a href="http://www.mlab.cz/">http://www.mlab.cz/</a>
.<br>
</font></p>
<p align="left"><font face="Arial">Deska procesoru<br>
<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>
<br>
</font></p>
<p align="left"><font face="Arial">H-mùstky<br>
<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>
<br>
</font></p>
<p align="left"><font face="Arial">LEDbar<br>
<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>
</font></p>
<p align="left"><font face="Arial">Mìniè<br>
<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>
</font></p>
<p align="left"><font face="Arial">IR modulátor<br>
<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>
</font></p>
<p align="left"><font face="Arial">Osvìtlení dráhy<br>
<a href="http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=/Designs/ROBOTS/Camerus/LEDpanel/#_Designs_ROBOTS_Camerus_LEDpanel_">
http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FDesigns%2FROBOTS%2FCamerus%2FLEDpanel%2F#_Designs_ROBOTS_Camerus_LEDpanel_</a></font><br>
</p>
<p align="left"><font face="Arial">Univerzálka pro 7432<br>
<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>
</font></p>
<p align="left"><font face="Arial">Trimry<br>
<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>
</font></p>
<p align="left"><font face="Arial">Dokumentace k pouitému kamerovému èipu je na
<a href="http://www.cmucam.org/attachment/wiki/Documentation/OV6620.PDF">
http://www.cmucam.org/attachment/wiki/Documentation/OV6620.PDF</a>
.<br>
</font></p>
<p align="left"><font face="Arial">Dokumentace k US senzoru je na
<a href="http://www.robot-electronics.co.uk/htm/srf08tech.shtml">
http://www.robot-electronics.co.uk/htm/srf08tech.shtml</a> .<br>
</font></p>
<p align="left"><font face="Arial">Dokumentace ke kompasu je na<span lang="en-us">
</span><a href="http://www.robot-electronics.co.uk/htm/cmps3doc.shtml">
http://www.robot-electronics.co.uk/htm/cmps3doc.shtml</a> .<br>
</font></p>
<p align="left"><font face="Arial">Dokumentace k robotu 3Orbis, ze kterého
Camerus vyel, je na<span lang="en-us">
</span>
<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>
.</font></p>
<p align="left"><font face="Arial"><span lang="en-us">Videoz</span>áznam, jak
Camerus jezdil pøi soutìi IstRobot 2007:<br>
<a href="video/1.wmv">1. jízda</a>, <a href="video/2.wmv">2. jízda</a>,
<a href="video/3.wmv">3. jízda</a>.</font></p>
</body>
</html>