Jednoduche pohyby Androids
Jednoduché pohyby
Táto podkapitola sa zameriava na analýzu jednoduchých pohybov, ktoré implementoval tím Androids. V prvej časti sú uvedené pohyby implementované do prototypu a v druhej časti pohyby, ktoré obsahuje finálny produkt. Informácie sä čerpané z [1] – dokumentácie tímu Android.
Základné pohyby implementované v prototype:
Vstávanie
Androids vytvorili 2 typy vstávania a to vstávanie z chrbta a vstávanie z brucha, pričom ako základ využili vstávanie JIM-a.
Implementovali aj pomocné pohyby pád vpred a vzad, ktoré používali pri testovaní vstávania.
• Vstávanie z brucha
Odstránili dlhé čakacie fázy a niekoľko zbytočných pohybov kĺbov, ktoré už pred vykonaním zmeny boli v koncovej polohe vďaka niektorej skoršej fáze pohybu. Upravili záver pohybu tak, aby hráč po jeho vykonaní ostal stáť v základnom postoji, do ktorého ho nastaví server po nabeamovaní, keďže pôvodný pohyb končil pádom hráča späť na zem. Pohyb prebieha v nasledovných krokoch: - najskôr hráč uvedie všetky kĺby do neutrálnej polohy, okrem ramenných, ktoré pripaží - hráč rozkročí a úplne skrčí nohy - postupne prinožuje a vystiera nohy, čím zároveň vstáva - v koncovej fáze vystierania hráč predpaží ruky, ktoré až do tejto fázy boli pripažené
• Vstávanie z chrbta
U tohto pohybu vykonali rovnaké úpravy ako u vstávania z brucha a aj priebeh pohybu je takmer totožný s výnimkou začiatku. Fázy pohybu sú: - vystretie tela a pripaženie rúk - rýchle predpaženie a čiastočné rozkročenie, vďaka čomu sa hráč čiastočne posadí - dokončenie rozkročovania a pokrčenia nôh, a zároveň opätovné pripaženie, čím sa hráč prevráti na brucho - hráč rozkročí a úplne skrčí nohy - postupne prinožuje a vystiera nohy, čím zároveň vstáva - v koncovej fáze vystierania hráč predpaží ruky, ktoré až do tejto fázy boli pripažené Aj toto vstávanie úspešne otestovali na 100%.
Pád vpred a vzad
Tieto pomocné pohyby sú založené na jednoduchej rýchlej zmene uhla kĺbu členku, ktorý je zodpovedný napnutie a pritiahnutie nártu. Boli vyvinuté čisto pre potreby testovania vstávania.
Chôdza
Implementovali veľmi drobnú, pomalú chôdzu dopredu a dozadu, pričom obe chôdze vznikli úpravou prototypu chôdze, ktorý prevzali spolu s agentom JIM. Vytvorili aj verziu rýchlej chôdze dopredu, ktorá je založená na drobčení.
• Drobná pomalá chôdza dopredu
Oproti zdedenej chôdzi je tento typ chôdze vzpriamenejší a podstatne drobnejší. Dĺžka kroku je približne pätina dĺžky hráčovho chodidla. Táto chôdza je veľmi pomalá a jej účelom je predovšetkým presné priblíženie k lopte bez jej odkopnutia. Pri tejto aj ostatných implementovaných chôdzach hráč výrazne pracuje s rukami, keďže ruky sú dôležitým prvkom v udržiavaní rovnováhy a prenášaní ťažiska. Periebeh pohybu: - na začiatku kráčania robot pokrčí ruky aj nohy, aby zvýšil svoju stabilitu a jeden krok následne pozostáva z dvoch fáz - hráč prenesie váhu na opornú nohu a druhú nohu zdvihne a mierne vystrie v kolene, čím ju predsunie pred opornú nohu, zároveň rukou na strane opornej nohy pohne v ramene dopredu - dostúpi na predsunutú nohu a prenesie na ňu váhu kvôli ďalšiemu kroku
Testovaním zistili, že chôdza je stabilná a hráč nespadol. Jeden krok trvá 300 ms, inicializačná fáza 700 ms. Na 90% bola táto chôdza pri testovaní priamočiara.
• Drobná pomalá chôdza dozadu
Práca rúk je rovnaká ako v predošlom opísanom spôsobe chôdze. Dĺžka kroku je približne tretina chodidla Tento pohyb pozostáva z nasledovných úkonov: - mierne odrazenie sa z päty pri predkopnutí nohy, lebo päta sa jemne zachytí o zem - mierne zanoženie pri vrátení predkopnutej nohy späť na zem
Táto chôdza bola pri testovaní taktiež stabilná. Krok trvá 300 ms, inicializácia 700 ms, výraznejšie však mení smer.
• Drobčivá rýchla chôdza dopredu
Podobá sa drobnej chôdzi dozadu, hráč pri nej mierne nadskakuje. Rozdielom voči pohybu JIM-a je menší predklon hráča, vďaka čomu sa nestáva, že by padol na nos. Táto chôdza má rovnaké fázy ako predošlé dve chôdze, odlišuje sa len v hodnotách otočení jednotlivých kĺbov a je pri nej výraznejšie prenášanie váhy na opornú nohu pri kroku. Je určená hlavne na prekonávanie väčších vzdialeností Otáčanie Implementovali otočenie o 90° do oboch smerov. • Otočenie o 90° Toto otočenie okrem fázy inicializácie pracuje len s kĺbmi nôh. Je implementované do oboch smerov a založené na humanoidnom spôsobe otáčania. Priebeh jedného cyklu otočenia je nasledovný: - mierne pokrčenie nôh a rúk v inicializačnej fáze pre zvýšenie stability priblížením ťažiska k zemi - prenesenie váhy na opornú nohu a otočenie druhej nohy v bedrovom kĺbe úplne na stranu - prenesenie váhy na otočenú nohu a prinoženie pôvodnej opornej nohy - uvedenie pohybovaných kĺbov do pozície, v ktorej boli na konci inicializačnej fázy pred ďalším pokračovaním Pri úspešne vykonaných cykloch sa hráč takmer nepohne z miesta, čo je výrazné zlepšenie v porovnaní so zdedeným otáčaním. Problémom je nedeterminizmus cyklu, keďže kvôli nedoladenému prenosu váhy v počiatočných fázach hráč približne v 50% vykonaných cyklov nezmení svoje natočenie. Ďalším nedostatkom je fakt, že ani pri úspešnom vykonaní cyklu nie je výsledný uhol otočenia 90°, ale len približne 70°. Toto je pravdepodobne tiež spôsobené chybou v prenose váhy počas cyklu.
Kop do lopty
Naimplementovali dva typy kopu: - priamy kop do lopty - kop do lopty hranou chodidla
• Priamy kop do lopty
Ide o kop špicou chodidla pri zapojení bedrového, kolenného kĺbu a členku. Ide o kop, ktorý slúži na ďaleké prihrávky a kopy na bránu. Pohyb tvorí päť fáz: - počiatočná fáza prikrčenia sa dostane robota do polohy, z ktorej môže kop vykonať čonajstabilnejšie. Prikrčenie posunie ťažisko robota nižšie a zvýši tak stability a do tejto fázy sa zapájajú kĺby bedier, kolien a členkov - druhá fáza vychýlenia tela do strany získa pre agenta priestor na samotný kop a zabezpečí, že po zdvihnutí nohy (opačnej ako je smer naklonenia agenta) sa agent nepreváži na opačnú stranu. V tejto časti pohybu sa okrem kĺbov členkov a bedier zapájajú aj ramenné kĺby ruky - treťou fázou je zodvihnutie nohy. Ide o spoluprácu bedrového, kolenného kĺbu a kĺbu členka s cieľom nezavadiť nohou počas zdvíhania o podložku - štvrtá fáza je samotný výkop so zapojením troch kĺbov – členku, kolena a bedra. Cieľom bolo zapojiť väčší počet kĺbov a dosiahnuť tak sčítanie momentov - posledná fáza je stabilizačná, slúži na návrat agenta do vzpriamenej polohy.
• Kop do lopty hranou chodidla
V tomto prípade ide o kop do lopty hranou chodidla agenta. Nejde však o kop dopredu, ale do boku. Tento kop umožňuje agentovi nahrávku do strany bez nutnosti zdĺhavo sa nastavovať k lopte. Vzhľadom na možnosti a anatómiu agenta nejde o silný kop – na kop možno využiť iba jediný kĺb. Tento pohyb má fázy: - prvá fáza je založená na prvej fáze priameho kopu – agent sa prikrčí do polosedu, aby tak získal lepšiu stabilitu - v druhej fáze sa agent naváži na jednu stranu, aby tak udržal rovnováhu po zodvihnutí opačnej nohy, ktoré nasleduje v ďalšej fáze. Zapája kĺby členkov, bedier, torzo sa mierne nakláňa dopredu kvôli stabilite a rovnováha sa vyvažuje aj rukou - agent zapojením kĺbov bedra, kolena a členku vysunie nohu pred telo a zároveň mierne do boku, aby si tak prichystal vhodnú pozíciu na kop - štvrtá fáza je samotný kop, ktorý realizujú bedrové kĺby a zároveň ho vyvažujú ruky (kĺby, ramena a lakťa) - posledná fáza je stabilizačná, slúži na návrat agenta do vzpriamenej polohy
Základné pohyby implementované vo finálnom produkte:
Vstávanie
• Vstávanie zo sedu rozkročmo
Tento pohyb vznikol kvôli potrebe bránenia v sede rozkročmo. Úpravou samotného sadnutia rozkročmo a jeho hlavnou myšlienkou bolo dostať obe nohy do základnej polohy bez použitia rúk len jednoduchým prinožením, pričom najväčším problémom bolo udržanie rovnováhy. Fázy pohybu: - prinožovanie do polostoja - roznoženie, aby pokleslo ťažisko a zachovala sa rovnováha - pokračovanie prinožovania až do úplného postavenia sa
Chôdza
• Chôdza do strany
Táto chôdza bola implementvaná hlavne kvôli potrebe pohybu brankára. Implementovaná pre obe strany, pre každú dvomi spôsobmi, ktoré sa od seba odlišujú len tým, že jeden sa stáča mierne dozadu a druhý dopredu, teda robot v oboch prípadoch ide nie priamo doboku, ale v oblúku. Využiteľná je hlavne verzia so stáčaním dozadu, ktorá sa približuje reálnemu pohybu brankára Fázy pohybu: - pokrčenie nôh a prenesenie váhy na pravú nohu - zdvihnutie ľavej nohy a jej natiahnutie čo najviac do strany - dostúpenie na ľavú nohu a prenos váhy na ňu - prisunutie pravej nohy Tento pohyb je extrémne pomalý, ale pri pokusoch o zrýchlenie strácal stabilitu. Najväčší problém robí neúplné prenesenie váhy na nohu, ktorou sa robí úkrok. Napriek tomu je tento pohyb stabilný a v kontexte výkonu ostatných pohybov stále použiteľný.
• Chôdza dozadu 2
Vznikla z úkrokov a je pomalšia (drobnejšia) ako chôdza dozadu v prototype. Výhodou tejto verzie chôdze dozadu je, že robot pri nej nepredkopáva, vďaka čomu sa hodí na presnejší pohyb v okolí lopty. Robot sa pri tejto chôdzi odráža zo špičiek. Fázy pohybu: - robot pokrčí nohy - odrazí sa zo špičky, a tým sa posunie mierne šikmo dozadu - dostúpi a vystrie nohy
Približné posunutie dozadu je o štvrť chodidla. Kvôli týmto vlastnostiam nie je uvedený pohyb vôbec vhodný na prekonávanie väčších vzdialeností. Je tu veľký priestor pre vylepšenia. Výhodou tohto pohybu je pomerne veľká presnosť, keďže robot zachováva veľmi spoľahlivo priamy smer, kým nespadne.
Otáčanie
Nanovo vytvorili otočenie o 90° do oboch strán, keďže verzia v prototype nebola použiteľná. Vytvorili aj otočenie o 135°, 180°.
• Otočenie o 90°
Keďže pôvodný pokus vytvoriť tento pohyb na základe pozorovania jeho ľudskej verzie zlyhal, rozhodli sa vytvoriť jeho výrazne robotickú verziu, ktorá je prispôsobená vlastnostiam a možnostiam fyziky servera. Pohyb je zimplementovaný do oboch smerov. Fázy pohybu „pravej“ verzie: - naváženie sa ľavú nohu tak, že hráč stojí len na nej - zdvihnutie a pokrčenie pravej nohy - pohyb v bedrovom kĺbe pravej aj ľavej nohy tak, že zvierajú pravý uhol - položenie pravej nohy a preváženie na ňu - zdvihnutie, pokrčenie, prinoženie a vystretie ľavej nohy - dokončenie pohybu celkovým narovnaním robota Výsledný uhol otočenia je mierne väčší ako želaných 90°, avšak táto odchýlka je len niekoľkostupňová. Pohyb je oproti prototypu deterministický.
• Plynulé drobné otáčanie - 5°
Plynulé drobné otáčanie o 5° je cyklický pohyb, ktorý by mal hráč využívať v situáciách, keď sa potrebuje pomerne presne napríklad k lopte. Fázy pohybu: - agent sa mierne prikrčí a zloží ruky s cieľom zvýšenia stability - naváži sa pootočením bedrových a členkových kĺbov na jednu zo strán - mierne sa nadvihne a predsunie jednu z nôh - položenie nohy s miernym vychýlením, výsledkom je natočenie agenta o malý úsek - finalize fáza slúži na postavenie agenta do východzej polohy Agenta sa počas jednej minúty dokázal otočiť približne o 130°, pričom sa ale neotáčal doslova, ale tvoril špirálu, čo ale nie je až také dôležité vzhľadom na podstatu, ktorou je otáčanie práve drobné otáčanie. Testovanie odhalilo stabilitu agenta. Trvanie pohybu je 2000 ms.
• Plynulé drobné otáčanie - 20°
Plynulé drobné otáčanie o 20° je cyklický pohyb, ktorý by mal hráč využívať v situáciách, keď sa potrebuje pomerne presne, po väčších úsekoch, natočiť, napríklad k lopte. Je vďaka rozsiahlejším pohybom kĺbov menej stabilné ako plynulé otáčanie o 5°. Fázy pohybu: - agent sa mierne prikrčí a zloží ruky s cieľom zvýšenia stability - podobne ako pri jemnejšom otáčaní sa naváži agent pootočením bedrových a členkových kĺbov na jednu zo strán - výraznejšie nadvihnutie a predsunutie jednej z nôh - položenie nohy s vychýlením - finalize fáza znovu slúži na postavenie agenta do východzej polohy Výsledkom je natočenie agenta o úsek zodpovedajúci približne 20°. Agent sa pri testovaní otočil počas jednej minúty približne o 400°, tiež do špirály. V tomto prípade bol špirálový efekt výraznejší, nakoľko prikročenie môže aj vinou vnášania rôznych chýb zo strany servera spôsobiť menší či väčší posun.
Kop do lopty
Implementovali ďalší kop a to priamy kop do lopty hranou chodidla. Kop do lopty priamy hranou chodidl Ide o kombináciu dvoch pohybov – priameho kopu a kopu do boku. Je to kop hranou chodidla, teda styčnou plochou hráča s loptou je hrana chodidla a lopta smeruje priamo. Fázy pohybu: - agent sa dostane do stabilizovanej polohy, ktorá mu umožňuje v nasledovnej fáze stáť na jednej nohe. Táto poloha spočíva v pokrčení kolien, nastavení torza a miernom upažení rúk - navážei sa na jednu stranu (na ľavú alebo na pravú podľa toho, ktorou nohou agent kope) - zdvihne a vytočí nohu tak, aby bolo možné kopnúť hranou chodidla - samotný kop - agent sa dostane opäť do stabilizovanej polohy.
Tento kop je určite slabší oproti ďalším dvom implementovaným kopom. Spôsobené je to najmä tým, že uhol vytočenia neumožní dostatočný náklon, a preto je tento pohyb vhodný skôr ako prihrávku, ako výkop na bránu. Zároveň však vďaka kopacej ploche má tento kop potenciál byť presnejším. Vďaka neveľkej sile kopu je tento zároveň pomerne stabilný pohyb.