Uživatelské nástroje

Nástroje pro tento web


eurobot2008

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

eurobot2008 [2017/10/10 00:00] (aktuální)
Řádek 1: Řádek 1:
 +====== Eurobot 2008 aneb Jak nestavět robota ======
 +
 +[[http://​translate.google.com/​translate?​prev=hp&​hl=cs&​js=n&​u=http%3A%2F%2Fprojects.adamh.cz%2Feurobot2008&​sl=auto&​tl=en|English version]]
 +
 +Na Internetu je o robotech spousta článků a návodů. Tento "​antinávod"​ spíše shrnuje pro výstrahu a poučení chyby, kterých jsem se dopustil.
 +
 +{{http://​www.ceskatelevize.cz/​specialy/​vecernicek/​galerie/​robotemil/​obr/​ilust.gif?​150x150}}
 +
 +===== Úvod =====
 +
 +Na podzim 2007 mi kamarád vyprávěl o soutěži Robotour, konané v Praze, které se zúčastnil. Programováním se zabývám již déle a tak mě nadchla
 +myšlenka postavit a naprogramovat vozítko, které by samostatně plnilo nějakou úlohu. "​Vždyť na tom není nic těžkého."​ Dostal jsem se k webu [[http://​www.robotika.cz|Robotika.cz]] a jal se studovat. Koupil jsem si jednočip ATmega8, který jsem krátce na to málem spálil, postavil programátor do paralelního portu a po několika večerech a bezesných nocích jsem konečně do jednočipu nahrál program "Hello World",​ který blikal ledkou :-)
 +
 +{{http://​temp.adamh.cz/​robot/​foto/​deska-detail1.jpg?​200x150}}
 +
 +===== Řízení mobilem =====
 +
 +O robotovi jsem měl jasnou představu. Vezmu podvozek závodního RC auta, takže budu mít vyřešenu mechanickou část, řízení a zdroj proudu, místo přijímače zapojím jednočip s číselným displejem pro ladění, který bude řídit servo a regulátor (tomu se posílají stejné příkazy jako servu) a s jednočipem se bude bavit mobilní telefon, do kterého jednoduše nahraju program v Javě. Mobilní telefon má fotoaparát,​ takže robot uvidí.
 +
 +Největším problémem se stala komunikace mezi mobilem a jednočipem - k infraportu mě Java v mobilu nepustila a sériový port telefonu mi připadal moc složitý. Byl jsem přesvědčen o tom, že mi bude stačit jednosměrná komunikace, a rozhodl jsem se pro blikání displejem: K displeji je připevněn fotoodpor a přes A/D převodník jsem schopen zjisti, jestli na displeji svítí bílá nebo černá a z počtu bliknutí získám příkaz. Po nekolika dnech jsem se dostal k verzi, kdy jsem byl schopen mobilem a blikáním displeje ovládat serva. Ovšem přenos byl velice pomalý (u čísla 9 jsem se dostal na necelou sekundu) a nespolehlivý. V lednu 2008 jsem se tedy rozhodl pro komunikaci po sériovém portu. Na Internetu jsem našel zapojení kabelu Siemens, připojil jej k jednočipu a po několika dnech už si mobil s jednočipem vesele a rychle povídal.
 +
 +{{http://​temp.adamh.cz/​robot/​foto/​cely1.jpg?​200x150}}
 +
 +
 +===== Soutěž Eurobot =====
 +
 +Přibližně v lednu jsem se dozvěděl o soutěži [[http://​eurobot.cz|Eurobot]] - robot má za úkol posbírat míčky své barvy a dostat je do kontejneru. Na hledání míčků jsem použil fotoaparát v mobilu. Tato metoda byla kvůli proměnlivému osvětlění a "​rychlosti"​ mobilu (cca 1 snímek za sekundu) zamítnuta a já sháněl jiné senzory. Na Internetu jsem objevil ultrazvukový měřič vzdálenosti SRF02 za příjemnou cenu a tak jsem si jej objednal. Sonar jsem připojil na servo a velmi rychle přišel na jeho neduh - pokud je sonar u překážky moc blízko (méně než 15 cm, což je minimální vzdálenost),​ posílá mi nesmyslné údaje.
 +
 +
 +===== Použití routeru =====
 +
 +Mobilní telefon mi přestal jako mozek robota vyhovovat - sice jsem pro něj mohl psát ve své oblíbené Javě, ale s připojeným kabelem se velmi rychle vybíjel a já občas také potřeboval volat. Občas se stalo, že mi někdo volal v době, kdy mobil řídil robota a ten se rozjel plnou rychlostí proti zdi. Na wiki serveru robotika.cz jsem se dočetl o routeru **Edimax BR-6104K**, do kterého se dá nahrát Linux a který ma dva USB porty, kam můžu připojit Flash disk s řídícím programem a snad i webkamerou (časem jsem zjistil že USB webkamera připojit nejde). Po dvou týdbech bádání jsem získal skvělý robotiký mozek, programy jsem psal v Perlu (skriptovací jazyk) a mohl je pohodlně měnit takřka za běhu přes FTP. S routerem mi velice pomohl pan [[http://​bezstarosti.cz|Jiří Bezstarosti]],​ který vytrvale a ochotně odpovídal na mé často hloupé dotazy.
 +
 +Router se s jednočipem bavil zase po sériovém portu, takže program v jednočipu mohl zůstat zachován. Začal jsem řešit zásadní problém - co s bateriemi? Podvozek měl baterii svou, ze které byl napájen i jednočip, ale router jsem měl zapojený v 12 V trafu. Baterie se stejným napětím mi přišla poměrně drahá a tak jsem připojil dvě 9 V baterie, protože jsem byl přesvědčen o tom, že vstupní stabilizátor unese 24 V. Zmýlil jsem se a router po připojení baterie pouze blikl a přestal fungovat. Spolu s routerem jsem spálil i Flash disk, se kterým jsem ztratil řídící programy (zálohy jsou důležité :-) ). Po překonání návalu zlosti jsem začal přemýšlet,​ co teď. Neměl jsem dost peněz ani náladu na koupi a přestavbu nového routeru a tak jsem si prohlédl desku plošných spojů toho spáleného. Zjistil jsem, že z regulátoru jdou dvě větve - 5 V pro USB a 3,3 V pro čipy. Zkusmo jsem připojil 3,3 V na větev s čipy a ejhle - ono to jede! Od té doby jsem robota provozoval s třemi tužkovými bateriemi připojenými na 3,3 V větvi.
 +
 +{{http://​temp.adamh.cz/​robot/​foto/​router.jpg?​200x150}}
 +
 +
 +===== Použití optické myši =====
 +
 +Občas se mi stalo, že robot překážku nepoznal nebo se jedním kolem zasekl. Z toho důvodu jsem se rozhodl použít optickou myš, o které jsem si bláhově myslel, že půjde použít i místo odometrie. Implementací protokolu PS/2 jsem ztratil spoustu času a nakonec jsem byl schopen pouze určit směr, kterým se robot pohybuje. Navíc myš musela téměř "​šoupat"​ po zemi, maximální výška nad povrchem byla jen několik mlimetrů. Ale aspoň něco.
 +
 +{{http://​temp.adamh.cz/​robot/​foto/​mys-detail.jpg?​200x150}}
 +
 +
 +===== Závěr =====
 +
 +Soutěž se blížila a robot se zatím uměl pouze vyhýbat řekážkám a to na něj nesměla být nastražena žádná kulišárna (překážka pod úhlem, kdy se signál ze sonaru odrazí do prostoru a nevrátí se zpátky). Potřeboval jsem vymyslet, jak bude robot detekovat míček. Sbírání jsem zatím neřešil, spoléhal jsem na to, že se to "​nějak udělá"​ (celkem zásadní chyba). Myslel jsem si, že bude stačit sonarem připevněným k servu sledovat prostor před sebou, ale takováto detekce míčku byla velice nespolehlivá.
 +
 +Nakonec jsem se rozhodl, že robot bude míčky vybírat ze svislých zásobníků na stěnách hřiště a pak je vysype do společnéh kontejneru. Když jsem se dostal k veri, která byla schopna míčky sebrat a vysypat, do soutěžě zbývalo už asi pět dní. Navíc to, že bez odometrie, kterou jsem v začátcích zavrhnul a s podvozkem auta, se kterým se velmi špatně manévruje, nejsem schopen udělat zatáčku o 90 stupňů, aby se robot dostal ke kontejneru. Poslední úpravy na robotovi jsem dodělával pár hodin před Homologací,​ kterou nakonec prošla asi jen polovina přihlášených robotů, mezi které ten můj samozřejmě nepatřil.
 +
 +{{http://​temp.adamh.cz/​robot/​foto/​sber-micku1.jpg?​200x150}}
 +
 +Svého snažení a účasti na Eurobotovi rozhodně nelituji, protože jsem se poučil a vím, do čeho se příště pouštět nebudu :-)
 +
 +
 +...Postupem času vzniká nová, hezčí a funkčnější verze, více na [[Robot2]] :-)
 +
 +===== Videa =====
 +  - [[http://​www.youtube.com/​watch?​v=M2MpZ4HWOpo|Objetí překážky]]
 +  - [[http://​www.youtube.com/​watch?​v=6MaBeaM4cDA|Nabírání míčků]]
 +
 +
 +
 +
 +===== Odkazy =====
 +  * Robotika.cz - www.robotika.cz
 +  * Eurobot - www.eurobot.cz
 +  * Eurobot [EN] - www.eurobot.org
  
eurobot2008.txt · Poslední úprava: 2017/10/10 00:00 (upraveno mimo DokuWiki)


© 2008-2012 Adam Heinrich, adamh.cz, adam@adamh.cz