0,0 → 1,489 |
<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">; <font size="2">M. Novot</font></span><font size="2">ný</font><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> |