2,7 → 2,7 |
|
<head> |
<meta http-equiv="Content-Language" content="cs"> |
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> |
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> |
<title>Camerus</title> |
</head> |
|
9,7 → 9,7 |
<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><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><br> |
16,239 → 16,251 |
</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>). |
<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> |
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="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> |
<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="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 občas trvalo určitou dobu, ne jsme na to |
přili.<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 obèas 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> |
<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> |
<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> |
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="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> |
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 měsíc večerů na |
programování. Nyní s odstupem času vidíme, e co se týká objetí cihly, chybělo |
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 mìsíc veèerù na |
programování. Nyní s odstupem èasu vidíme, e co se týká objetí cihly, chybìlo |
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="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="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> |
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 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í tlouťka. 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> |
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 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 |
<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 |
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é tlouťky. 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é tlouťky, 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> |
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> |
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> |
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> |
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> |
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> |
<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> |
<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> |
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 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> |
Konstrukèní øeení, které následovalo, bylo doplnìní dvou 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> |
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 robot nemusí jet tak přesně).<br> |
<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 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> |
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> |
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> |
<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"> |
256,192 → 268,216 |
<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> |
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 naslepo není dobrá strategie a |
zejména, pokud je odometrie na hnané nápravě.<br> |
<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 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 s 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> |
<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 s 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 |
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 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á zajiťuje 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ý |
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 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 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 |
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 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 u řeili poslední weekend před soutěí a |
vynutil si tak zásadní zásah jako rozebrání objektivu kamery, co znamenalo |
pečlivé čitění pouzdra č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> |
<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 u øeili poslední weekend pøed soutìí a vynutil si tak zásadní |
zásah jako rozebrání objektivu kamery, co znamenalo peèlivé èitìní pouzdra |
è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> |
<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. Prokluzovaly. 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í weekend |
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.<br> |
<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. Prokluzovaly. 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í weekend 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.<br> |
<br> |
Jetě bylo nutné znovu zaběhnout převodovky, 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> |
Jetì bylo nutné znovu zabìhnout pøevodovky, 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> |
<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! Prostě jsme |
neustálým laděním programu a zkouením zničili jeden motor! Vrátili jsme tedy 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 |
regulátorem v software a e s nimi byl Camerus na Robot Challenge třetí!<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! Prostì jsme |
neustálým ladìním programu a zkouením znièili jeden motor! Vrátili jsme tedy 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 |
regulátorem v software 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> |
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"><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="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ály č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, |
magnetické stojánky na kterých stály è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> |
<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> |
<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> |
<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 |
<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> |
<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> |
<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> |
<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> |
<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> |
<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> |
<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> |
<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> |
<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> |
<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> |
<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> |
</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"> |
<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> |
<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> |
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> |
|