Úvod

Pandémia nového koronavírusu narušila spôsob vzdelávania na celom svete. Utrpeli najmä mladšie generácie, kde učitelia, rodičia a žiaci neboli pripravený na drastický prechod na formu dištančného vzdelávania. Medzi najproblematickejšie no zároveň veľmi dôležité oblasti výučby patria laboratórne cvičenia, ktoré väčšinou vyžadujú špeciálne vybavenie a odborný dozor, a teda fyzickú prítomnosť viacerých osôb v špecializovaných laboratóriách.

Cieľom projektu je prekonať tieto obmedzenia a využitím najmodernejších a cenovo dostupných technológií z oblasti VR sprostredkovať online formu praktických cvičení vo virtuálnom laboratóriu, ktorá by sa efektivitou a zážitkom prinajmenšom vyrovnala práci a výučbe v reálnom laboratóriu s učiteľom.

VRLab je laboratórium vo virtuálnej realite určené pre simuláciu elektrických obvodov. Používatelia majú k dispozícií niekoľko elektrických súčiastok, ktoré si môžu modifikovať, alebo pre ne implementovať vlastné modely pomocou SPICE špecifikácie. Môžu si vytvárať vlastné obvody, pričom sa im generuje aj schéma obvodu. Počas simulácie si môžu vygenerovať SPICE kód pre daný obvod, alebo meniť parametre súčiastok priamo počas simulácie. Výsledky simulácie zobrazujeme numericky aj graficky. Používatelia majú k dispozícii vlastnú motokáru, ktorá obsahuje 3 komponenty (motor, klaksón a svetlá), pre ktoré môžu vytvoriť vlastné obvody a následne sa na nej previezť po laboratóriu

VRLab

Laboratórium vo virtuálnej realite určené pre výučbu a simuláciu elektrických obvodov.

Náš cieľ

Situácia, ktorú zažívame v poslednej dobe a predovšetkým rok 2020 poukázali na zásadný problém vo vzdelávacom systéme, ktorým je, že študenti nemajú možnosť vzdelávania sa v prostredí špecializovaných laboratórií, ktoré väčšinou vyžadujú špeciálne vybavenie a odborný dozor, a teda fyzickú prítomnosť viacerých osôb.

Cieľom projektu je prekonať tieto obmedzenia s využitím najmodernejších a cenovo dostupných technológií z oblasti virtuálnej reality a sprostredkovať online formu praktických cvičení vo virtuálnom laboratóriu, ktorá by sa efektivitou a zážitkom prinajmenšom vyrovnala práci a výučbe v reálnom laboratóriu s učiteľom.

Ponúkame alternatívny spôsob vzdelávania v rámci fyzikálnych laboratórnych cvičení, kde môžu študenti nadobudnúť praktické skúsenosti, ktoré nevyžadujú ich fyzickú prítomnosť v špecializovanom laboratóriu. Náš projekt takisto poskytuje ochranu študentov, ako aj učiteľov pred možnými haváriami počas experimentovania, ktoré môžu mať za následok ako zdravotné problémy, tak aj materiálne straty. Veríme, že virtuálna realita má uplatnenie vo vzdelávaní, pretože rôzne experimenty sú bezpečnejšie a prístupnejšie bez potreby ďalších fyzických zdrojov okrem samotného VR headsetu.

Naše výsledky

  • Tvorba a simulácia elektrických obvodov
  • Používatelia si môžu konštruovať elektrické obvody na stole pod obrazovkou, pričom sa im počas tvorby ich obvodov automaticky generuje schéma obvodu.

    Počas simulácie okrem numerického výsledku môže používateľ vidieť aj grafové zobrazenie. Používatelia môžu taktiež meniť hodnoty jednotlivých elektrických súčiastok v obvode ihneď počas simulácie.

    Okrem generovania schémy obvodu, poskytujeme používateľom aj možnosť generovania SPICE kódu pre ich simulovaný elektrický obvod. SPICE kód, ako aj schéma obvodu, slúži na všeobecnú reprezentáciu elektrického obvodu. Používatelia môžu vidieť jednotlivé identifikátory vo vygenerovanom SPICE kóde (R1, R2, …) na nimi vytvorenom obvode, aby vedeli, ktoré komponenty počas simulácie menia.

    Projekt zároveň obsahuje responzívne súčiastky, ktoré sa prispôsobujú výslednej simulácii. Používatelia majú možnosť simulácie žiarovky, ktorej intenzita svietivosti sa mení na základe výstupu zo simulácie. Okrem žiarovky im taktiež ponúkame možnosť simulácie malého elektrického motora alebo reproduktoru. Reproduktor na základe oscilačných vĺn generuje zvuk, pričom si používatelia môžu pomocou upravovania súčiastok počas simulácie upraviť hlasitosť alebo frekvenciu tónu. Pri motore si používatelia môžu prispôsobiť rýchlosť, akou sa bude točiť.

  • Úprava elektrických súčiastok
  • Používatelia si môžu upraviť jednotlivé elektrické súčiastky ako potrebujú. Môžu si napríklad nastaviť vlastnú hodnotu odporu pri resistore, pričom si môžu ešte aj vybrať metrický prefix (nano, micro, mili, …) pre nimi zvolenú hodnotu. Pokiaľ si používateľ avšak bude chcieť zmeniť celkový model súčiastky, povedzme diódy, stačí mu iba vyhľadať si špecifikácie požadovaného modelu vo forme SPICE výrazu, ktorý si skopíruje do systemového clipboardu a po stlačení príslušného tlačidla v hre sa mu do nej všetky modely automaticky nahrajú. Všetky modifikované súčiastky si hráč takisto môže uložiť, vďaka čomu môže tieto súčiastky používať bez potreby opätovnej úpravy hodnôt.

  • Písanie na tabuľu
  • Používateľ si môže v prípade potreby písať akékoľvek poznámky na tabuľu, vedľa ktorej má k dispozícií niekoľko fixiek v rôznych farebných variantách.

  • Konštrukcia obvodov pre jednotlivé komponenty motokáry
  • Používateľ má takisto k dispozícii vlastnú motokáru. Pokiaľ si v nej bude chcieť zajazdiť, bude najprv potrebné aby vytvoril elektrické obvody pre jednotlivé komponenty motokáry, ako je motor, klaksón a svetlo. To, ako rýchlo pôjde jeho motokára, akú frekvenciu a hlasitosť bude mať jeho klaksón, alebo ako intenzívne budú jeho svetlá, je čisto na používateľovi a jeho fantázii pri tvorbe obvodov. Používateľom, menej zdatným v odbore elektroniky, poskytujeme obrázky ukážkových obvodových schém pre všetky 3 komponenty aj s požadovanými hodnotami alebo modelmi jednotlivých elektrických súčiastok.

  • Jazdenie na motokáre
  • Pokiaľ používateľ úspešne skonštruoval obvody pre všetky súčiastky, môže si do motokáry nasadnúť a vyšantiť sa vďaka plne interaktívnemu volantu, páky alebo palubnej dosky, z ktorej môže ovládať svetlá a klaksón.

Vývoj

Na začiatku projektu sme sa zamerali na rozsiahlu analýzu, ktorá mala určiť presný smer našej práce. Po úspešnom dokončení procesu analyzovania problému, sme prešli na tvorbu návrhov možných riešení a následne sme pre vybrané návrhy vytvorili prototypy v Unity.

Analýza

Na začiatku sme sa rozhodovali medzi simuláciou elektrických alebo logických obvodov. Jednou z úloh bolo nájsť vhodné knižnice, ktoré by nám so simuláciou pomohli. SpiceSharp je knižnica, ktorú sme si nakoniec vybrali pre integráciu do nášho projektu. Táto knižnica slúži na simuláciu elektrických obvodov.

Analýza sa skladala z 2 hlavných častí:

  • Breadboard riešenie
  • Grid riešenie

Breadboard

Po dokončení analýzy sme sa rozhodli breadboard riešenie zaradiť medzi náš backup plán. Postupne budeme pracovať aj na tomto spôsobe riešenia, pretože pokiaľ v budúcnosti narazíme na problémy s aktuálnym riešením, možme sa vrátit k breadboard riešeniu.

Výhody

  • Umožňujú komplexné riešenia
  • Predstavujú realistické zapojenia
  • Umožňujú použiť reálne obrazy súčiastok
  • Umožňujú vyskúšať zapojenie v reálnom živote podľa toho virtuálneho

Nevýhody

  • Náročné na pochopenie
  • Zložité na naprogramovanie logiky
  • Je potrebné riešiť usporiadanie a umiestnenie jednotlivých nožičiek súčiastok
  • Je potrebné ošetriť zapojenie, aby nevznikol skrat

Grid

Po dokončení analýzy sme sa jednohlasne zhodli na tomto riešení. Jedným z hlavných dôvodov bola možnosť tvorby vlastných modelov elektrických súčiastok pre toto riešenie v grafickom prostredí Blender.

Výhody

  • Jednoduché na implementáciu
  • Prehľadnejšie
  • Ľahšie na pochopenie

Prototypy

Počas celej tvorby projektu vzniklo niekoľko prototypov, každý prototyp je opísaný v samostatnej sekcií.

Prototyp 1 - Ovládanie & Interakcia

Cieľom tohto prototypu bolo vytvorenie prvotnej logiky ovládania postavy hráčom, umožniť mu pohybovať sa pomocou klávesnice a myši v 3D priestore. Všetky modely zobrazené na obrázku vyššie sme si vytvorili sami.

Takisto bolo potrebná implementácia prvotnej interakcie hráča s elektrickými súčiastkami a grid boardom. Hráč mohol zobrať do rúk ľubovoľnú el. súčiastku, mohol ju v ruke otáčať na 1 osi alebo ju mohol z rúk pustiť. Pokiaľ sa hráč nachádzal pri grid boarde mohol el. súčiastku, ktorú drží v ruke vložiť do tohto grid boardu. Na obrázku vyššie je znázornená simulácia kocky, ktorú hráč drží v ruke na grid board, aby mohol vedieť kam presne ju môže položiť.

Prototyp 2 - Podpora virtuálnej reality

Cieľom tohto prototypu bola integrácia podpory virtuálnej reality pre náš projekt.

V projekte používame VR Interaction Framework, ktorého funkcionalitu sme si prispôsobili pre potreby nášho projektu. Hráč môže interagovať pomocou VR headsetu s ovladačmi s elektrickými súčiastkami a vkládať ich do grid boardu. Súčasťou tohto prototypuje je takisto aj kontrola spojenia elektrických súčiastok umiestnených v grid boarde. Táto kontrola spojenia je dôležitá pri tvorbe vstupu do SpiceSharp knižnice.

Prototyp 3 - Vizuálny overhaul

Cieľom tohto prototypu bol celkový vizuálny overhaul všetkých textúr a modelov nášho projektu.

Prototyp 4 - Simulácia elektrických obvodov

Cieľom tohto prototypu bola integrácia SpiceSharp a SpiceSharpParser pre náš projekt.

Vďaka tomu sme sa dostali do štádia, kedy už používatelia môžu simulovať nimi vytvorené elektrické obvody. Tento elektrický obvod následne preložíme do spice kódu, ktorý odošleme SpiceSharpParser-u, ktorý tento kód parsne na vstup pre SpiceSharp, a ten následne spustí simuláciu.

Prototyp 5 - Modifikácia komponentov

Cieľom tohto prototypu bolo vytvorenie tuningovej stanice, v ktorej si používatelia môžu vytvárať a modifikovať komponenty, s možnosťou uloženia týchto komponentov pre budúce používanie.

Používatelia si môžu vytvoriť ich vlastné modelové špecifikácie pomocou spice výrazov, tieto špecifikácie následne môžu vložiť do hry, ktorá ich spracuje a umožní im používať tieto novo vytvorené špecifikácie na určené eletrické komponenty. Okrem vkladania špecifikácií modelov si používatelia môžu takisto zmeniť hodnoty na jednotlivých komponentoch, ako napríklad odpor na rezistore. Všetky modifikované komponenty si následne môžu uložiť, aby si ich v budúcnosti nemuseli opätovne vytvárať.

Prototyp 6 - Fyzika vozidla

Cieľom tohto prototypu bola integrácia fyziky na naše vozidlo.

Používatelia si môžu nasadnúť do vozidla a pomocou interaktívneho volantu a páky ho môžu ovládať. Používatelia budú najprv musieť vytvoriť elektrické obvody pre jednotlivé súčiastky tohto vozidla, ako napríklad svetlá, trúba, motor, a tak ďalej. Tieto súčiastky hráči vytiahnu z vozidla a vložia do gridboardu, následne pre túto súčiastku vytvoria požadovaný obvod a vložia ju naspäť do vozidla. Pokiaľ bude vozidlo spľnať minimálne požiadavky, používatelia ho môžu zobrať na testovaciu jazdu.

Tím

Juraj Vincúr

LORD
&
SAVIOR

Patrik Tománek

Team Leader
Unity Developer
Web Developer

Ľubomír Kurčák

Scrum Master
Unity Developer
Graphic Designer

Erik Paľa

Analytics
Documentation
Tester

Viktor Beňo

Analytics
Documentation
Tester

Dokumenty

Zápisnice

Názov Dátum Stiahnutie
Zápisnica č.1 12.10.2020
Zápisnica č.2 19.10.2020
Zápisnica č.3 26.10.2020
Zápisnica č.4 02.11.2020
Zápisnica č.5 09.11.2020
Zápisnica č.6 16.11.2020
Zápisnica č.7 23.11.2020
Zápisnica č.8 30.11.2020
Zápisnica č.9 07.12.2020
Zápisnica č.10 14.12.2020
Zápisnica č.11 26.02.2021
Zápisnica č.12 06.03.2021
Zápisnica č.13 12.03.2021
Zápisnica č.14 19.03.2021
Zápisnica č.15 26.03.2021
Zápisnica č.16 06.04.2021
Zápisnica č.17 09.04.2021
Zápisnica č.18 16.04.2021
Zápisnica č.19 23.04.2021
Zápisnica č.20 30.04.2021
Zápisnica č.21 07.05.2021
Zápisnica č.22 14.05.2021

Dokumenty

Retrospektívy

Názov Dátum Stiahnutie
Retrospektíva č.1 26.10.2020
Retrospektíva č.2 09.11.2020
Retrospektíva č.3 23.11.2020
Retrospektíva č.4 07.12.2020
Retrospektíva č.5 14.12.2020
Retrospektíva č.6 12.03.2021
Retrospektíva č.7 26.03.2021
Retrospektíva č.8 09.04.2021
Retrospektíva č.9 23.04.2021
Retrospektíva č.10 07.05.2021
Retrospektíva č.11 14.05.2021

Dokumenty

Backlogy

Názov Dátum Stiahnutie
Backlog č.1 25.10.2020
Backlog č.2 08.11.2020
Backlog č.3 22.11.2020
Backlog č.4 06.12.2020
Backlog č.5 13.12.2020
Backlog č.6 11.03.2021
Backlog č.7 25.03.2020
Backlog č.8 08.04.2020
Backlog č.9 22.04.2020
Backlog č.10 06.05.2020
Backlog č.11 13.05.2020

Dokumenty

Ostatné dokumenty

Názov Dátum Stiahnutie
Motivačný dokument 12.10.2020
Analýza simulátorov pre el. obvody 25.10.2020
Analýza simulátorov pre log. obvody 25.10.2020
Prihláška na TP Cup 2021 30.10.2020
Analýza breadboardových riešení 08.11.2020
Analýza blokových riešení 08.11.2020
Návrh breadboardového riešenia 08.11.2020
Návrh blokového riešenia 08.11.2020
Opis breadboardového riešenia 22.11.2020
Opis blokového riešenia 22.11.2020
Metodiky 23.11.2020
Dokument k riadeniu 23.11.2020
Dokument k inžinierskemu dielu 23.11.2020
Analýza synch. frameworkov 14.12.2020
Dokumentácia za zimný semester 18.12.2020
Článok na IIT.SRC 2021 18.04.2021
Záverečná dokumentácia 21.05.2021
Záverečná dokumentácia 21.05.2021
Statická verzia stránky 21.05.2021

Elements

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.


Heading Level 2

Heading Level 3

Heading Level 4

Heading Level 5
Heading Level 6

Blockquote

Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.

Preformatted

i = 0;

while (!deck.isInOrder()) {
    print 'Iteration ' + i;
    deck.shuffle();
    i++;
}

print 'It took ' + i + ' iterations to sort the deck.';

Lists

Unordered

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Alternate

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Ordered

  1. Dolor pulvinar etiam.
  2. Etiam vel felis viverra.
  3. Felis enim feugiat.
  4. Dolor pulvinar etiam.
  5. Etiam vel felis lorem.
  6. Felis enim et feugiat.

Icons

Actions

Table

Default

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Alternate

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Buttons

  • Disabled
  • Disabled

Form