czech english

Eurobot 2003 za 25 dní

aneb ,,ostré'' zápasy a ,,ostré'' senzory

Máme za sebou první zápas Dany s Daisy. Spíše než Eurobota to připomínalo nějakou sumo soutěž, kdy každý robot má za úkol vytlačit z arény svého soupeře. Co s tím? Novou naději teď vidíme v senzorech od firmy Sharp, které umožňují detekci předmětů zhruba do jednoho metru. Ale ani nové senzory nejsou zcela bezproblémové…

Dana zcela nekompromisně 2x za sebou srazila Daisy, aniž by měla čas se pořadně pohnout ze startovní pozice (viz článek Cofax). Oba roboti si odnesli menší škrábance a tým Short Circuits Prague navíc téměř morální kapitulaci - pokud se na Daisy vrhne rychlý a těžký robot, tak absolutně nemá šanci mu odolat. Pravidla sice zakazují, aby součástí strategie bylo ublížení protivníkovi, ale přiznejme si, že to Dana vůbec neměla v úmyslu.
Co s tím? Novou naději teď vidíme v senzorech od firmy Sharp, které umožňují detekci předmětů zhruba do jednoho metru. Daisy tak dostane i malého maskota, protože prototyp, který David Obdržálek vyrobil, značně připomíná číslo 5.

Dana

Dana za poslední dva týdny má za sebou viditelný postup. Třetí verze software (v3) už umožňuje systematickou jízdu po hřišti s obracení cestou detekovaných puků správnou barvou navrh. Na puky reaguje ve dvou krocích. V prvním kroku je ruka zvednutá a dopředu namontovaný senzor Sharp GP2 měří vzdálenost od puku. Robot na něj najede, aby ho uvedl do dobře definovane polohy, a kousek couvne. Ve druhém kroku pak ruka přejde do spodní polohy a po nabrání puku na ruce namontované senzory detekují jeho barvu.
V3 ještě není „bullet proof”, což se ukázalo i na soutěži Istrobot. Nastal klasický generálský efekt a při vytažení startovního kabelu Dana začala couvat ze hřiště místo aby jela normálně dopředu. Pozdější analýza ukázala, že důvodem byla chybná detekce puku, na který robot reagoval couvaním – prostě je ještě co vylepšovat .

Daisy zvaná Tik-Tak

Daisy si od první verze řídící AVR desky vysloužila přezdívku tik-tak. Někteří se ptají na její zdraví, případně komentují, že je ze zápasu celá vyklepaná. Daisy totiž nemá stabilní polohu serv :(. Nedávné měření osciloskopem potvrdilo i proč: řídící pulzy na serva pro jednu konkrétní polohu kolísala mezi 1.28ms až 1.44ms. Důvod je zatím stále tajemný, protože výstupy generuje přerušení s nejvyšší prioritou (tedy nepočítáme-li reset a externí přerušení, která nejsou použita), a nejdelší ošetření přerušení trvá 0.04ms (toto je pouze horní odhad, kdy počet paměťových míst byl násoben dvěma děleno rychlostí oscilátoru – ne, nespletl jsem se, kód neobsahuje žádné smyčky). Až doposud tento problém nebyl na seznamu kritických, ale s požadavky na přesnější polohování nového senzoru se mu bude třeba věnovat. Daisy má už nahradní desku, takže by změny neměly být nevratné.

Kód

Je to překvapující, ale vypadá to (ťuk, ťuk, ťuk), že zbyde alespoň troška času na o něco chytřejší software. Až doposud oba roboti jezdili podle předem naplánované trasy a nebrali v úvahu rozložení puků či polohu nepřátelského robota. U Daisy to tak mělo i zůstat – přeci jenom neměla žádné senzory na detekci okolí. S novým Sharpem se však situace změnila.
Software pro oba roboty měl být původně vyvíjen společně, ale přílišná odlišnost obou systémů nakonec vedla k oddělení. Nyní to vypadá, že přeci jenom bude dostatek společných částí: Daisy používá GMCL na navigaci a jednoduché řízení s otáčením v rozích původně určené pouze pro Danu. Dana si zase pomalu osvojuje cyklus /simulace/realné měření/analýza logu/ používaný od prvního krůčku Daisy. Je velká šance, že i mapování a herní strategie bude mít podobný ráz u obou robotů.

Co dál?

Pokud jste sledovali celou řady Eurobota za 70, 60, 45 a teď 25 dní, tak asi tušíte, jaké bude další číslo ;(. Ne, nebyl to úmysl, ale stane se. Další zpráva tedy bude buď už přímo z Eurobota nebo velmi krátce před ním. Tak nám držte palce

Výstup ze senzoru
Výstup ze senzoru
P.S. i nové senzory Sharp, jak naměřil David, mají své mouchy. Tou nejvější je asi 25Hz vzorkovací frekvence, tj. senzor na svém analogovém výstupu generuje „schody” odpovídající 25 měřením za sekundu:
To trošku komplikuje rychlé skenování robotova okolí a bude se tedy spíše jednat o sledování jednoho konkretního cíle (např. nepřátelského robota). Dále je to nezanedbatelný šum, který vytváří samotný senzor. Pro krátké vzdálenosti to není problém, ale pro větší by byl senzor bez filtru nepoužitelný.