SENZORY / MOBILNÍ APLIKACE / HRA

SORCERER: pohybová hůlka a webová aréna

Pohyb telefonu nebo fyzické hůlky se mění v kouzla a živý souboj. Vlastní zpracování inerciálních, zvukových a obrazových signálů řeší klid, drift a hranice gest.

01 / PRO ČLOVĚKA

Co to řeší v praxi

SORCERER mění skutečný pohyb v ovládání kouzelnické hry. Telefon může být hůlkou v ruce, nebo stát jako kamera a sledovat barevnou špičku fyzické hůlky. Nakreslené gesto se promítá na větší obrazovku, porovnává s naučenými kouzly a v aréně spouští herní akci. Vlastní senzorové algoritmy pomáhají udržet čitelnou stopu i při šumu, krátkém zastavení a postupném driftu měření.

Hráč si na obrazovce vybere kouzlo, natrénuje několik dobrých pohybů a pak může kreslit hůlkou bez dotyku displeje. Mobilní aplikace ukazuje připravenost, rozpoznání i důvod odmítnutí. Web zobrazuje živou stopu, efekty a průběh souboje; telefon a obrazovka se párují QR kódem.

Projekt podporuje dvě podoby hůlky. V první drží hráč telefon a používá jeho inerciální senzory: akcelerometr, gyroskop a orientaci zařízení. Ve druhé telefon stojí jako snímač, kamerou sleduje kontrastní špičku skutečné hůlky a z jejího pohybu vytváří obrazovou dráhu. Hráči mohou trénovat, navazovat kouzla, použít volitelný hlas a hrát proti počítači nebo druhému hráči.

Pohybové ovládání má obtíž, kterou běžné klikání nemá: zrychlení se měří v osách otáčejícího se telefonu a obsahuje gravitační složku. SORCERER proto pomocí kvaternionu orientace převádí měření do prostorových souřadnic, odečítá gravitaci a z očištěného zrychlení postupně rekonstruuje rychlost a trajektorii. I nepatrná chyba se ale při integraci sčítá a hůlka může na obrazovce pomalu „ujíždět“, přestože ruka stojí. Aplikace proto vyhodnocuje klid, hlídá stabilitu počáteční kalibrace a odděluje herní korekce od původního měření.

U části senzorových režimů lze jako pomocné vodítko využít i mikrofon a kameru telefonu. Zvuk po pohybu a následné ztišení nebo úbytek optického toku pomáhají posoudit, zda hůlka doopravdy spočinula. Samotné ticho ani jeden nejistý snímek za důkaz klidu nestačí; při neshodě či chybějícím signálu systém zachovává nejistotu. Tyto podpůrné režimy jsou experimentální a výslednou přesnost je nutné ověřit s konkrétním telefonem a hůlkou.

Za projektem je Android aplikace, nativní senzorová vrstva, lokální rozpoznávání, webový klient, server pro souboje i nástroje pro opakované vyhodnocení měření. Surové inerciální vzorky, obraz a zvuk zůstávají v telefonu; do arény putuje odvozený herní vstup. Kamerový režim a hra mají implementaci a testy, nikoli univerzální záruku fyzické přesnosti v každém prostředí.

VYBRANÉ FUNKCE

Co řešení umí

01

Telefon jako hůlka

Pohybové senzory vytvářejí živou dráhu gesta, kterou vidí vzdálená obrazovka.

02

Skutečná hůlka před kamerou

Stojící telefon sleduje barevnou špičku a z její 2D stopy vytváří herní vstup.

03

Vlastní kouzla a trénink

Knihovna ukládá označené příklady a umožňuje nastavovat přijímanou shodu.

04

Průběžné rozpoznávání

Kouzla lze za vhodných podmínek přijímat i během navazujícího pohybu.

05

Hlasové doplnění

Volitelné vyslovení formule se časově páruje s nezávisle rozpoznaným gestem.

06

Online souboj

Dva hráči připojí vlastní telefony a server drží společný stav arény.

07

Ochrana surových dat

Surové pohybové měření a obraz z kamery zůstávají v telefonu; web dostává odvozený herní vstup.

08

Diagnostika a opakování

Měřicí nástroje uchovávají i nepovedené pokusy pro rozbor driftu a chybných hranic gest.

09

Stabilizace inerciální dráhy

Kontrolovaná kalibrace, odhad biasu a oddělené herní korekce pomáhají zvládat kumulovaný drift akcelerometru.

10

Zvukové a obrazové kotvy klidu

Volitelné experimentální vyhodnocení mikrofonu a optického toku doplňuje IMU při rozhodování, zda po tahu nastal klid.

11

Diagnostika bez přikrášlení

Vedle upravené herní stopy zůstává samostatný referenční záznam, aby šlo rozlišit rozpoznání kouzla od přesnosti měření.

02 / POD KAPOTOU

Technické řešení

Mobilní aplikace ve Flutteru zpracovává akcelerometr, gyroskop a kvaternion orientace telefonu. Zrychlení převádí do zemské soustavy, odečítá gravitaci a dvojitou integrací rekonstruuje herní trajektorii. Vlastní algoritmy testují stabilitu počátečního biasu, hledají potvrzený klid a experimentálně přidávají zvukové či optické kotvy. Krátký klid může zastavit herní rychlost, delší dovoluje omezenou průběžnou úpravu odhadu biasu; původní referenční trajektorie zůstává oddělená. Druhý režim lokálně sleduje barevnou špičku fyzické hůlky v 2D obraze. React a Node.js propojují odvozená gesta s webovou arénou a autoritativním vyhodnocením souboje.

Inerciální větev spojuje časově sladěné vzorky akcelerometru, gyroskopu a kvaternionu orientace. Kvaternion popisuje rotaci telefonu vůči zemské souřadné soustavě: algoritmus jím otočí zrychlení z os přístroje do prostoru, zohlední kalibrovaný reziduální bias a odečte gravitační složku. Získané lineární zrychlení potom trapezoidní integrací převádí na rychlost a druhou integrací na trajektorii. Kód kontroluje platnost a stáří orientace; volitelná krátká integrace úhlové rychlosti gyroskopu nabízí srovnávací odhad orientace pro translaci.

Právě tato rekonstrukce je obtížná: drobná chyba kvaternionu způsobí chybný odpočet gravitace a bias akcelerometru se dvojitou integrací zvětšuje do viditelného driftu polohy. Počáteční kalibrace proto testuje nejen nízkou aktivitu, ale i stabilitu reziduálního zrychlení v časových oknech; proměnlivý odhad nepovažuje za bezpečný. Návrh počítá s tím, že herní trajektorii lze za doložených podmínek stabilizovat, ale fyzickou přesnost není možné odvodit jen z výpočtu.

Vlastní logika klidu pracuje se senzorovým pohybem a volitelnými externími kotvami. Mikrofon vychází z lokálně kalibrovaného okolního hluku a sleduje změnu zvuku po pohybu; kamera počítá diferenciální optický tok malých obrazových oblastí metodou Lucas–Kanade. U optického důkazu se vyhodnocuje mimo jiné textura, expozice, kvalita rezidua a čerstvost snímku. Ticho samo o sobě není důkaz fyzického zastavení a starý či nečitelný snímek není platné potvrzení klidu. Tyto kombinace představují volitelné experimentální režimy.

Potvrzený krátký klid může v herním zobrazení vynulovat odhad rychlosti při zachování aktuálního bodu. Teprve déle trvající klid dovolí pozvolna a omezeně upravit efektivní bias akcelerometru. Jde o kauzální korekci pro další průběh tahu, nikoli o rekonstrukci ztracené absolutní polohy. Samostatná experimentální kompenzace driftu sleduje historii polohy a rychlosti v pracovním prostoru a plynule koriguje jen herní vykreslení; původní diagnostická trajektorie se nepřepisuje.

Zvukový signál má i druhou roli: pomáhá určit hranici gesta po pohybu, když po zvukové aktivitě nastane klid. Rozhodnutí se křížově kontroluje s inerciálním průběhem, aby krátká pauza uprostřed kresby nebyla automaticky koncem kouzla. Hranice gesta, detekce klidu a korekce biasu jsou rozdílné úlohy; žádná z nich sama neprokazuje skutečnou fyzickou polohu hůlky.

Samostatná kamerová větev hledá barevnou špičku fyzické hůlky, hlídá její identitu, skoky a výpadky. Výsledkem je 2D projekce v obraze, nikoli změřená prostorová trajektorie. To je jiná úloha než optický tok používaný jako volitelná kotva klidu pro telefon držený v ruce.

Rozpoznávání tvaru zůstává oddělené od měření: očekávané kouzlo nesmí přetahovat odhadnutou čáru do předlohy. Telefon lokálně zpracovává surová senzorová, zvuková a obrazová data. Web dostává odvozenou dráhu a rozhodnutí; server hlídá oprávnění, přijetí právě jednou, časování a pravidla souboje.

Technické výzvy

  • Pomocí kvaternionů převádět zrychlení z rotujících os telefonu do zemské soustavy, odečíst gravitaci a dvojitou integrací rekonstruovat trajektorii při šumu a kumulaci driftu.
  • Kalibrovat proměnlivý bias akcelerometru bez učení z pohybující se ruky a bez úpravy nezávislé referenční trajektorie.
  • Odlišit skutečný klid od krátké pauzy v kresbě; vyhodnotit rozdílně časované signály IMU, mikrofonu a kamery a přiznat chybějící či nejednoznačný důkaz.
  • Sjednotit inerciální 3D odhad s obrazovou 2D projekcí hůlky v jedné hře, aniž by se zaměňovaly jejich fyzikální význam a meze přesnosti.
  • Synchronizovat telefon, webovou arénu a druhého hráče bez dvojího vyhodnocení kouzla.
03 / PRŮBĚH

Jak na sebe kroky navazují

  1. 01Volba fyzického vstupu

    Hráč po spárování zvolí telefon v ruce nebo stojící telefon jako kamerový snímač hůlky. Oba režimy vedou do stejné arény, ale používají různé modely měření: inerciální odhad pohybu telefonu a obrazovou 2D projekci špičky.

  2. 02Příprava a kalibrace

    Inerciální režim sbírá vzorky v klidu, porovnává jejich rozptyl a stabilitu reziduálního zrychlení a odhaduje počáteční bias. Nestabilní úchop se nepoužije jako jistá kalibrace. V kamerovém režimu aplikace ověřuje viditelnost a kontrast barevné špičky.

  3. 03Snímání a rekonstrukce tahu

    Kvaternion orientace převádí zrychlení z rotujících os telefonu do zemské soustavy. Po zohlednění biasu a odpočtu gravitace algoritmus trapezoidně integruje zrychlení na rychlost a rychlost na prostorovou trajektorii. Kamera alternativně poskytuje 2D stopu špičky. Výpočet běží lokálně a zachovává diagnostiku šumu, chyb orientace a driftu.

  4. 04Vyhodnocení zvukové a optické kotvy

    Ve volitelném experimentálním režimu mikrofon hledá zvukovou změnu po pohybu a kamera měří optický tok na malých obrazových oblastech. Algoritmus kontroluje kvalitu a aktuálnost důkazu; ticho, nečitelný obraz nebo neshoda zdrojů se nepřekládají automaticky na jistý fyzický klid.

  5. 05Korekce driftu a biasu

    Při potvrzeném krátkém klidu může herní větev podržet aktuální bod a vynulovat rychlost. Delší potvrzený klid dovolí omezené průběžné přiblížení efektivního biasu. Další experimentální kompenzace využívá historii pohybu v pracovním prostoru. Referenční trajektorie zůstává oddělená a minulou chybu polohy systém nevydává za opravenou.

  6. 06Určení hranice gesta

    Konec tahu vychází z potvrzeného klidu či zvoleného signálu. Zvuk po pohybu a následné ztišení mohou pomoci vymezit hranici, ale kontroluje se také průběh IMU. Krátká pauza v rohu kresby nebo výpadek kamery mají vlastní vyhodnocení.

  7. 07Trénink a rozpoznání

    Označené dobré vzorky tvoří předlohy kouzel. Nový tah se porovnává geometricky; očekávaný tvar ovlivňuje až rozpoznání, ne zpětně rekonstrukci měřené dráhy.

  8. 08Přenos do arény

    Odvozená dráha a rozhodnutí putují přes živé zabezpečené spojení na web. Surové IMU vzorky, kamerové snímky a zvuk zůstávají v telefonu; hráč přesto vidí stopu a odezvu průběžně.

  9. 09Vyhodnocení souboje

    Server přijme příslušné kouzlo právě jednou, aktualizuje stav boje a synchronizuje oba hráče. Časované útoky, obrany a hlasové části mají samostatná pravidla.

  10. 10Rozbor a další ladění

    Úspěšné i neúspěšné tahy lze lokálně znovu vyhodnotit. Diagnostika porovnává senzorovou referenci, herní korekce a důvody rozhodnutí, aby šlo poznat drift, nepřesnou hranici i nejistý externí důkaz. Fyzická přesnost se musí potvrdit pokusem na reálném zařízení.

04 / VÝSLEDEK

Co z toho vzniklo

Samostatná mobilní a webová hra s fyzickým pohybovým ovládáním, tréninkem kouzel a online arénou; senzorová i kamerová větev mají doloženou implementaci a testy.

ORIENTAČNÍ PRACNOST

630 člověkohodin

CO DÁL

Zaujalo vás toto řešení?

Navrhneme nasazení nebo úpravy na míru vašemu provozu. Stačí nám napsat, co potřebujete.

Mám zájem o toto řešení