HWTK Leipzig
Z RoboCupTP wiki
Analýza tímu Nao-Team HWTK Leipzig
O tíme
Tím vznikol vo februári 2009 na Univerzite aplikovaných vied v Leipzigu. Tím sa zúčastnil turnaja RoboCup German Open 2009 a obsadil druhé miesto. Obsadil prvé miesto v súťaži Technical Challenge of RoboCup 2009. V roku 2010 sa dostal do štvrťfinále RoboCup v Singapúre a získal prvé miesto v súťaži Open challenge počas tohto turnaja. Tím skúma mnohé oblasti úzko späté s robotickým futbalom. Ide hlavne o spracovanie obrazu a jeho segmentáciu, lokalizáciu samotného robota, pohyby a ich vytváranie, architektúru softvéru a optimalizáciu vnorených systémov s obmedzenými zdrojmi. Niektoré vybrané riešenia sú uvedené v podkapitolách.
Segmentácia
Tím v začiatkoch používal na identifikáciu ihriska a objektov len na základe tabuliek farieb, podľa ktorých jednotlivé objekty určoval. Táto metóda však mala veľkú nevýhodu v zmene jasu, pričom je generovanie takejto tabuľky pri zmenených jasových podmienkach veľmi časovo náročné. Ďalším problémom bolo, že na jednotlivých súťažiach sa menili aj farby lopty. Kvôli týmto problémom sa rozhodol tím používať „real-time“ segmentáciu bez potreby kalibrovania. Vyvinuli algoritmus na segmentáciu obrazu, pričom dokážu rozoznávať tvary objektov, pričom nie je potrebné tento algoritmus kalibrovať pri zmene jasových podmienok. Základom algoritmu sú malé historamy založené na tabuľkách farieb, ktoré sa automaticky generujú počas segmentácie každého obrázku. Tieto tabuľky sa vytvárajú iteratívne po identifikovaní objektu pomocou jeho tvaru alebo odhadnutej farby.
Časy jednotlivých fáz segmentácií[ms]:
Rozpoznanie podlahy 2 Rozpoznanie čiary 8 Rozpoznanie lopty 5 Rozpoznanie gólu 9
Táto metóda bola úspešne použitá na turnajoch German Open 2010 a RoboCup 2010, kde vyhrala cenu Open Challenge.
Chôdza
Do začiatku roka 2010 používal tento tím genetický algoritmus na pohyb chodenia. Tieto pohyby boli síce rýchle, ale nie aplikovateľné na všetky smery. Kvôli tomuto nedostatku sa rozhodli vyvinúť nový spôsob chôdze, ktorý je založený na parametrizovateľnom modeli chôdze a podporovaný novým stabilizačným algoritmom. Výhodou tohto algoritmu je možnosť veľmi rýchlej chôdze do všetkých smerov s dodržaním potrebnej stability. Tento algoritmus plánujú zverejniť po jeho úspešnej integrácii. Algoritmus je podobný, ako v [1], pričom sa krok parametrizuje smerom chôdze, rýchlosťou chôdze a uhlovou rýchlosťou. Tento prístup dosahuje nízku výpotovä zložitosť.
Editor pohybov
Základným cieľom je získanie kľúčových rámcov od robota , narábanie s nimi a interpolácia s Groovy scripting engine medzi nimi. Existuje predefinovaný skript, ktorý definuje lineárnu a vyhladzovaciu interpoláciu medzi rámcami. Tieto zachytené pohyby sú uložené v XML súbore a môžu byť exportované do formátu iného tímu. Architektúra editora je navrhnutá tak, aby bolo rýchle pridať novú funkcionalitu, pričom sa teda nové požiadavky môžu vytvárať rýchlo podľa potreby.
Stratégia
Stratégia hry je založená na konečnom stavovom automate, ktorý prechádza šiestimi stavmi: - nájdi loptu - otoč sa k lopte - kráčaj k lopte - nastav sa na loptu - otáčaj sa okolo lopty - strieľaj
Každý z týchto stavov zahŕňa sériu pohybových a segmentačných nastavení, napríklad v prípade hľadania lopty sa segmentácia zameriava len na loptu, pričom ignoruje ciele a ostatné objekty. V prípade otáčania sa okolo lopty je zas segmentácia zameraná na ciele, pričom sa neprihliada na aktuálnu polohu lopty, keďže je predpoklad, že je v blízkosti nohy. Takéto zmýšľanie podporuje zrýchlenie rozhodovania a aj rýchlosť vykonávania oboch stavov, pričom sa dosahuje vyššia reakčná rýchlosť a minimalizuje sa otáčanie hlavou.