Interaktívna stolová hra založená na platformách Arduino a Virtools - stiahnutie PDF zadarmo
Interaktívna stolová hra založená na počítačoch Arduino a Virtools Jakob F. Leitner D I P L O M A R B E I T 05/1/0305/016 predložená na univerzitu aplikovaných vied v Hagenbergu v septembri 2007.

Vyhlásenie Týmto čestne prehlasujem, že som napísal toto dielo nezávisle a bez vonkajšej pomoci, že som nepoužil žiadne iné zdroje alebo pomôcky ako sú uvedené a že som ako také označil pasáže prevzaté z iných zdrojov. Hagenberg, 5. septembra 2007 Jakob F. Leitner iii
Obsah Vysvetlenie Predhovor Zhrnutie Abstrakt iii vii viii ix 1 Úvod 1 1.1 Motivácia. 1 1.2 Interaktivita. 4 1.3 Štruktúra. 5 2 Súvisiace práce 7 2.1 Stolové platformy. 7 2.1.1 DiamondTouch. 7 2.1.2 TARBoard. 8 2.1.3 Televízie. 8 2.1.4 Zábavné predmety. 9 2.1.5 HVIEZDY. 9 2.1.6 Reaktivácia. 9 2.2 Stolové aplikácie. 10 2.2.1 Falošní proroci. 10 2.2.2 Televízne hry Stolné hry na hrdinov. 10 2.2.3 KnightMage. 11 2.2.4 Lov Snark. 11 2.2.5 Read-It. 11 2.2.6 CarettaDeti. 11 2.2.7 Bohovia počasia. 12 2.2.8 monkeybridge. 12 2.2.9 hranie kdekoľvek. 12 2.2.10 Rozšírené Koloseum. 13 iv
OBSAH v 3 Koncept 14 3.1 Nápad. 14 3.2 Rolové modely. 14 3.2.1 Neuveriteľný stroj. 15 3.2.2 Domino. 18 3.3 Návrh hry. 18 3.4 Návrh interakcie. 20 3.4.1 Interakcia s hráčom. 20 3.4.2 Interakcia s fyzickými hernými komponentmi. 22 4 Technologické princípy 24 4.1 Softvér. 24 4.1.1 Virtooly. 24 4.1.2 vvvv. 26 4.2 Hardvér. 26 4.2.1 Anoto. 27 4.2.2 Arduino. 31 5 Implementácia 34 5.1 Princíp hry. 34 5.2 Hardvér. 35 5.2.1 Tabuľka. 35 5.2.2 Anoto menu. 36 5.2.3 Arduino senzorová skrinka. 41 5.2.4 Comino portály. 45 5.3 Softvér. 50 5.3.1 Komunikácia s Arduino. 50 5.3.2 Komunikácia vo vvvv. 52 5.3.3 Komunikácia v C ++. 53 5.3.4 Komunikácia vo virtuálnych nástrojoch. 57 5.4 Implementácia vo Virtools. 64 5.4.1 Prvé kroky. 64 5.4.2 Interakčné techniky. 65 5.4.3 3D modely. 66 5.4.4 Integrácia Arduina. 68 5.4.5 Integrácia Anoto. 70 5.4.6 Úroveň organizácie. 73 5.4.7 Integrácia pomoci. 74 5.4.8 Nezávislá aplikácia Virtools. 75 5.5 Úrovňový dizajn. 76 5.5.1 Úroveň 1. 76 5.5.2 Úroveň 2. 77 5.5.3 Úroveň 3. 78 5.6 Návrh interakcie. 79
OBSAH vi 5.6.1 Inštalácia. 79 5.6.2 Vymazať. 81 5.6.3 Preklepnutie. 82 5.6.4 Presun. 82 6 Diskusia 84 6.1 Vstup. 84 6.1.1 Interakcia s perom. 84 6.1.2 Anoto menu. 86 6.2 Hra. 86 6.2.1 Návrh interakcie. 86 6.2.2 Úrovňový dizajn. 87 6.2.3 Cieľ hry. 87 Vydanie 6.3. 88 6.3.1 Grafický výstup. 88 6.3.2 Perspektíva kamery. 88 6.3.3 Comino portály. 88 6.3.4 Zvuk. 90 7 Závery 91 7.1 Zhrnutie. 91 7.2 Dosiahnuté ciele. 91 7.3 Výhľad. 93 A Obsah CD-ROM 96 A.1 Diplomová práca. 96 A.2 Prehľad. 96 A.3 Aplikácia Comino. 96 A.4 Nástroje Comino. 97 súborov A.5 Maya. 97 A.6 Súbory Virtools. 97 A.7 Súbory Visual Studio. 97 súborov A.8 vvvv. 98 A.9 Obrázky a grafika. 98 A.10 Referenčný materiál. 98 Bibliografia 99
Predhovor Táto práca je venovaná mojim rodičom, ktorí ma podporovali vo všetkom, čo som doteraz urobila a ktorým vďačím za veľa v živote. Ďakujem tiež súrodencom a priateľom, ktorí ma sprevádzajú a inšpirujú v mojej práci i v živote a veľké ďakujem mojej priateľke za trpezlivosť a náklonnosť, ktorú mi preukazuje aj v rušných časoch. V neposlednom rade patrí srdečné poďakovanie môjmu vedúcemu, ktorému vďačím za veľa úspechov v štúdiu a ktorého nevyčerpateľná motivácia je stálym zdrojom novej inšpirácie a záujmov nielen pre mňa. vii
KAPITOLA 2. SÚVISIACE PRÁCE 13 stolových systémov navzájom prepojených, čo umožňuje interakciu so vzdialenými používateľmi. 2.2.10 Augmented Coliseum [17] Augmented Coliseum umožňuje hráčom bojovať proti skutočným miniatúrnym robotom v súboji s virtuálnymi zbraňami. Hra sa hrá na hracej ploche, ktorá sa na ňu premieta zhora. Pohyby robotov sú riadené špeciálnymi premietanými vzormi, ktoré sú na robotoch čítané niekoľkými fotodiódami. Robot sleduje premietanú grafiku, akonáhle sa presunie na hraciu plochu. Hráč má rôzne útočné a obranné funkcie, ktoré sa premietajú na virtuálnu hraciu plochu okolo skutočného robota. Hráči bojujú s virtuálnymi zbraňami, ktoré môžu strieľať z vlastného robota. Ak je jeden z robotov zničený, naznačuje to virtuálny výbuch.
KAPITOLA 4. TECHNOLOGICKÉ ZÁKLADY 27 Obrázok 4.3: Screenshot z vvvv zobrazuje čiastkovú opravu z projektu vvvv. jednoduché použitie a rozsiahla dokumentácia. Používanie viacerých komponentov súčasne bolo dôležité, keďže koncept bol navrhnutý pre viacerých používateľov. V nasledujúcich častiach je popísaný vybraný hardvér, ktorý sa použil na implementáciu používateľských rozhraní Comino. 4.2.1 Anoto Ako už bolo spomenuté v časti 3.4.1, na interakciu používateľa s virtuálnym domino sú potrebné dve rozhrania. Prvé rozhranie má používateľovi umožniť prepínanie medzi jednotlivými akciami v hre, druhé rozhranie slúži ako ukazovacie zariadenie na interakciu na hracej ploche. Použitie digitálnych pier na báze technológie Anoto 7 umožnilo implementovať obe rozhrania pomocou jediného hardvérového zariadenia. Perá sa v ďalšom texte označujú ako perá Anoto. Prepínanie medzi rôznymi funkciami 7 http://www.anoto.com/
KAPITOLA 4. TECHNOLOGICKÉ ZÁSADY 30 (a) (b) Obrázok 4.5: Pri použití atramentu, ktorý nezakrýva vzor Anoto, je možné na papier tlačiť rôzne užívateľské rozhrania bez narušenia rozpoznávania (a). Tieto grafické používateľské rozhrania sa potom ovládajú pomocou anotopicku (b). Batéria-LED Pripojenie-LED Napájanie-LED Mína Prídržné oko Optická jednotka Infračervená dióda vyžarujúca svetlo Optický filter Vibrátor Nabíjateľná lítium-iónová batéria Procesor Bluetooth Svetelné diódy Pamäťový čip (1 MB) Procesor spracovania obrazu Snímač tlaku Hlavný procesor Obrázok 4.6: Schematické znázornenie pera Maxell s hlavné komponenty. Infračervený dosah. Optická jednotka pera pozostávajúca z filtra, fotoaparátu a diódy pracuje v oblasti, ktorá nie je pre ľudské oko viditeľná. Dióda vyžaruje svetlo potrebné na sledovanie a umožňuje tak použitie pera aj vo veľmi tmavých svetelných podmienkach. Vďaka rýchlosti nahrávania 50 až 100 obrázkov za sekundu fotoaparát zabezpečí, aby boli stále rozpoznané aj rýchle pohyby pera. Údaje zaznamenané fotoaparátom sú už spracované v pere. Spracovanie obrazu prebieha vo vlastnej pro-
KAPITOLA 5. IMPLEMENTÁCIA 40 Obrázok 5.5: Vo Freehand MX je funkcia na zmenu farebných vzťahov grafiky v ponuke Xtras-> Colors-> Color Control. (a) (b) (c) Obrázok 5.6: Obrázok zobrazuje kópie dizajnu hlavnej ponuky, ktoré boli pomocou ponuky Color Control (Ovládanie farieb) zmenšené na azúrové (a), purpurové (b) a yellowfrab (c). Dolný riadok obsahuje nastavenia ponuky pre výsledok uvedený vyššie. jednotlivé citlivé oblasti rozhrania je možné kalibrovať. Jednotlivé preukazy je možné vytlačiť v ľubovoľnom poradí! Po kalibrácii je možné rozhranie rozrezať na veľkosť a integrovať do rôznych komponentov. Obrázok 5.7 zobrazuje výrez hlavnej ponuky Comino. Na ochranu pred poškriabaním bol potlačený papier pripevnený medzi dve akrylové tabule.
KAPITOLA 5. IMPLEMENTÁCIA 43 DIN zásuvky RCA zásuvky vstupy/výstupy Skriňa snímača Popis Kábel Farba Napájacie vstupy/výstupy Zem Arduino + 5V Analógové vstupy (analógové I) Digitálne vstupy/výstupy (digitálne I/O) 0 1 2 3 4 5 2 3 4 5 6 7 8 9 PWM 1 1 0 1 1 1 2 3 valcový konektor USB LED + výstup 5 V zem + 5 V mini-DIN * biela 1 mini-DIN biela 2 mini-DIN čierna 1 zem + 5 V digitálny I/O digitálny I/O PWM zem + 5V digitálny I/O digitálny I/O PWM zem + 5V digitálny I/O analógový I Mini-DIN čierna 2 zem + 5V digitálny I/O analógový I RCA ** modrá zem PWM RCA červená zem digitálny I/O RCA zelená zem digitálny I/O RCA oranžová zem digitálny I/O LED priradenie zemných údajov kolíkom RCA: * 4-pin ** RCA je medzinárodné označenie konektora pre Cinch Mini-DIN: hlavňový konektor: signálny zemný signálny signál + 5V zem + 5V zem Obrázok 5.9: Schematické znázornenie skrinky snímača. Vodorovné čiary znázorňujú vedenie od zásuviek po kolíky Arduino, ktoré sú znázornené zvislými čiarami. Na ľavom a pravom okraji sú schematické ilustrácie nainštalovaných zásuviek. Spodná časť zobrazuje priradenie pinov použitých zásuviek.
KAPITOLA 5. IMPLEMENTÁCIA 44 Obrázok 5.10: Skrinka snímača bez krytu. Štyri zásuvky cinch sú nad štyrmi zásuvkami mini-DIN. Na tomto obrázku nie je hlaveň konektora a LED ešte pridané do skrinky snímača. LED senzorová skrinka nepájivá pole RCA modrá RCA červená RCA zelená RCA oranžová + výstup 5V Arduino radič Obrázok 5.11: Zapojenie štyroch RCA zásuviek skrinky senzora. Aby bolo možné dať ľahko zrozumiteľný návod na zapojenie herných komponentov, boli použité rôzne sfarbené zásuvky.
KAPITOLA 5. IMPLEMENTÁCIA 49 ovládateľných LED ovládacích prvkov pre domino LED otočné rameno servomotorov LED Obrázok 5.17: Pomocou servomotora, ku ktorému je pripevnené otočné rameno, môže rozhranie V2R prenášať mechanické impulzy na skutočné domino. (a) (b) (c) Obrázok 5.18: Správne umiestnenie domina je pre tento portál tiež veľmi dôležité (a). Otočné rameno (b), ktoré spúšťa virtuálna udalosť, sa posúva dozadu a prepadáva domino pod ním (c). nastavujú sa rôzne parametre časticových systémov, ktoré sa premietajú okolo portálov v hre. Obrázok 5.19 zobrazuje interakciu s perom, ako aj premenlivé parametre v hre. Okrem projektovanej spätnej väzby môže byť používateľovi poskytnutá spätná väzba aj priamo cez portál. V Comine musia používatelia najskôr aktivovať dva portály, aby mohli byť použité v hre. To sa deje s perami Anoto priamo na rozhraní. Pohybom pera na boku môže užívateľ zmeniť farbu časticového systému patriaceho k portálu. Veko
KAPITOLA 5. IMPLEMENTÁCIA 54 Obrázok 5.21: Screenshot zobrazuje hlavný patch komunikácie Firmata vo vvvv. Patch, ktorý je vizuálne oddelený zvislou čiarou v strede, obsahuje ako čítanie vstupov, tak aj zápis výstupov radiča Arduino. Premenné pre výstupy radiča Arduino sa vytvárajú v hornej časti patchu, vstupy v dolnej časti. Implementácia vvvv slúžila ako testovacia platforma pre komunikáciu s Arduinom.
KAPITOLA 5. IMPLEMENTÁCIA 62 Obrázok 5.23: Screenshot z dialógového okna nastavení Arduino BB. Umožňuje nastavenie všetkých parametrov relevantných pre komunikáciu s Arduinom. pri implementácii adaptácie prijímača UDP, ktorý prijíma všetky dôležité údaje z pera a ktorý bol zapuzdrený do stavebného bloku na použitie vo Virtools. Anoto-BB funguje iba v kombinácii s už dostupným vysielačom UPD (Anoto vysielač), ktorý sa pre použitie s Comino nemusel meniť. Obrázok 5.24 zobrazuje grafické zobrazenie Anoto-BB v programe Virtools. Anoto-BB je tiež integrovaný do ukážkového skriptu v grafike. Premenné pripojené k vstupom parametrov nad Anoto-BB označujú identifikačné čísla (ID) použitých pier. Ak sa jeden z užívateľom definovaných identifikátorov pera zhoduje s jedným z identifikátorov pera prijatého dátového paketu, hodnoty sa uložia.