Fakulta informatiky a informačných technológií

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE

 

 

 

 

 

 

 

Tímový projekt - 2010/2011

 

Ponuka

Tím 02

 

 

 

 

 

 

Email kontakt na tím: hudec.janko@gmail.com


 

Členovia tímu

Bc. Filip Hlaváček

Je absolventom bakalárskeho študijného programu Informatika. Počas štúdia získal skúsenosti s programovacími jazykmi C, C++ a Java. Bakalársku prácu vypracoval na tému Vizualizácie meniacich sa grafov v jazyku Java, vďaka čomu nadobudol znalosti z vizualizácie informácii v 2D prostredí. Vo voľnom čase sa venuje tvorbe webových stránok v HTML, CSS a PHP. Taktiež má skúsenosti s prácou s 2D (Photoshop) a 3D grafikou (AC3D) a má výborne znalosti cudzích jazykov (nemčina, taliančina, a všeobecná štátna jazyková skúška z anglického jazyka).

Bc. Ján Hudec

Bol študentom FIIT v obore Informatika. Titul obhájil bakalárskou prácou na tému Interaktívne zobrazovanie zložitých grafov pomocou virtuálnej reality. Počas svojho štúdia pracoval s programovacími jazykmi C, C++, Java, Ruby, Prolog, LISP a rôznymi webovými technológiami.

 

Bc. Pavol Mešťaník

Bakalárske štúdium ukončil na FIIT STU v odbore informatika. Počas štúdia získal skúsenosti s prácou v programovacích jazykoch C, C++ a Java. Okrem týchto má skúsenosti ešte s jazykom C# a databázovými systémami MySQL a MS SQL. Má krátkodobé skúsenosti s prácou v tíme päť a viac ľudí v rozsahu asi jedného semestra. S 2D ani 3D grafikou dosial nepracoval, čo by ale rád napravil.

Bc. Matúš Novotný

Absolvoval bakalárske štúdium na FIIT STU. Téma jeho bakalárskej práce bola Využitie jazyka BPEL pri kompozícii služieb. Vďaka nej získal skúsenosti v oblasti SOA, konkrétne s prácou s webovými službami a ich kompozíciou v jazyku BPEL. Ďalej má skúsenosti s programovacími jazykmi Java, C# a C. Pracoval v menších tímoch na školských zadaniach a aj na jednom menšom projekte v päťčlennom tíme mimo školy. Čo sa týka znalosti cudzích jazykov, má všeobecnú štátnu jazykovú skúšku z anglického jazyka a pasívne ovláda nemecký jazyk.

Bc. Michal Palček

Prišiel študovať na FIIT STU po absolvovaní bakalárskeho štúdia na FRI ŽU v študijnom programe informatika, počas ktorého získal vedomosti a praktické skúsenosti s modelovaním a návrhom aplikácii (UML), vývojom aplikácií pre mobilné zariadenia (J2ME), programovacími jazykmi Java, C++, PHP a databázovými systémami Oracle 11g a MySQL. Bakalársku prácu vypracoval na tému Elektronické služby pre obec, kde získal dodatočné skúsenosti s integráciou platobných služieb do internetových aplikácií.

 

Bc. Rastislav Pečík

Absolvoval Evanjelické lýceum, kde získal všeobecnú štátnu skúšku z Anglického jazyka. Bakalársky stupeň vysokoškolského štúdia absolvoval na FIIT STU v študijnom odbore Informatika. Má skúsenosti s programovacím jazykom Java, C, C++ a databázovým systémom PostgreSQL a MySQL. Jeho bakalárska práca mala názov : Plánovaná replikácia údajov medzi databázovými systémami. Jeho záľubou sú aj počítačové siete a nastavovanie Linuxových systémov.

Bc. Ivan Polko

Absolvoval bakalárske štúdium na FIIT STU v študijnom odbore Informatika. Bakalársku prácu vypracoval na tému Evolučná optimalizácia stratégie hry Sunburn. Počas štúdia nadobudol skúsenosti s programovacími jazykmi C, C#, Java a databázovým systémom MySQL. Okrem toho má skúsenosti s JavaScriptom a programovaním 3D grafiky cez rozhranie DirectX.


 

Virtuálna FIIT (VFIIT) - téma 08

Tak ako sa už píše v zadaní témy, nie je situácia nových študentov v neznámom prostredí univerzity jednoduchá. Nájsť prednáškovú miestnosť, alebo učebňu nemusí byť triviálne. Podobná však môže byť aj situácia starších študentov. Príde čas záverečných projektov a treba zas hľadať pracovne vedúcich projektov a ich konzultačné hodiny. Nájsť tieto informácie nemusí byť také ľahké, a napríklad poloha niektorých záhadných miestností, dostupných len cez bludisko chodieb, tak zostáva dobre stráženým tajomstvom.

Väčšinu týchto problémov by bolo možné vyriešiť práve pomocou virtuálneho modelu našej fakulty. Teda prvou a možno jednou z najväčších motivácií pre prácu na tomto projekte je práve jeho prospešnosť. Veď čoskoro možno aj my budeme potrebovať práve takýto model, keďže po dostavaní novej budovy fakulty sa všetci ocitneme v novom, neznámom prostredí. Zároveň je tu v prípade, že sa model osvedčí aj možnosť skorého praktického nasadenia, čo tiež poteší a motivuje.

Okrem toho, že ide o prospešnú prácu pre dobro našej fakulty, jej pracovníkov a študentov, predstavuje tento projekt aj zaujímavú výzvu. V rámci tohto projektu sa kombinuje práca viacerých oblastí. Ako prvé samozrejme 3D a 2D grafika a modelovanie s použitím moderných a perspektívnych technológií. Ďalej databázové technológie, správa servera, tvorba a údržba stránok aj samotné písanie kódu a rôzne iné. Každý z nás si určite nájde tú svoju obľúbenú časť a pre iných to zas bude dobrá príležitosť na získanie skúseností aj s inými technológiami. Teda druhou hlavnou motiváciou pre prácu na tomto projekte je práve možnosť pracovať s modernými technológiami využívanými v množstve rôznych oblastí informatiky a získavanie alebo prehlbovanie našich znalostí a zručností s týmito technológiami.

Koncepcia riešenia

Naše riešenie nadviaže na prácu tímu z minulého roku. Chceme sa zamerať na dve hlavné oblasti:

1.                          Optimalizácia 3D modelu novej budovy FIIT a jeho vykresľovania tak, aby sa načítal čo najrýchlejšie a zároveň jeho prehliadanie bolo plynulé aj na menej výkonných počítačoch. Tiež upravíme model tak, aby zodpovedal aktuálnym plánom. Plánujeme doplniť aj interaktívne prvky, napr. výťahy a tiež zanalyzujeme možnosť použitia jednoduchých textúr, ktoré však nesmú klásť priveľké nároky na počítačový výkon.

2.                          Zobrazovanie informácii z externých systémov priamo v modeli, alebo v pridruženom používateľskom rozhraní. Ako príklad môžeme uviesť personálne obsadenie miestností s informáciami napr. o konzultačných hodinách a tiež zobrazovanie rozvrhov pre konkrétne miestnosti.

Naše riešenie uvažuje s architektúrou klient-server. Klientskou časťou je web stránka na ktorej sa bude zobrazovať 3D model a doplňujúce používateľské rozhranie. Model plánujeme zobrazovať pomocou technológie WebGL, ktorá je štandardom a bude zahrnutá v najnovších verziách prehliadačov. Používateľ teda nebude musieť sťahovať žiaden plugin. Po analýze zvážime možnosť použitia vhodnej knižnice nad WebGL, ktorá by zjednodušila a zrýchlila vývoj. Klient bude podľa označenej miestnosti alebo podľa polohy používateľa v modeli načítavať zo servera potrebné údaje na zobrazenie technológiou AJAX.

Serverová časť sa bude skladať z databázy informácii, ktoré budeme zobrazovať priamo v modeli, alebo v pridruženom používateľskom rozhraní. Ďalej budú súčasťou serveru moduly pre jednotlivé externé systémy. Modul bude vedieť načítať údaje z externého systému do databázy, a údaje z databázy previesť do formátu, ktorý server pošle klientovi.

Technológie, ktoré použijeme na serveri zvolíme po analýze a zvážení našich skúseností a hardvérových obmedzení.

Jednoduchá bloková schéma popísanej architektúry je na Obr. 1.

Obr. 1

 


 

Platforma pre realizovanie transakcií prostredníctvom mobilných zariadení (Mobily) - téma 04

Mobilné telefóny sú dnes už bežnou súčasťou nášho života. Okrem telefonovania poskytujú mnoho ďalších funkcií, ktoré nám uľahčujú rôzne každodenné činnosti. Telefón dnes už neplní iba funkciu komunikačného zariadenia, ale aj osobného počítača. So stále pokročilejšími technológiami rastú aj možnosti týchto zariadení.

V súvislosti s rastúcimi možnosťami mobilných technológií je dnes už možné vytvoriť platformu pre realizovanie transakcií prostredníctvom mobilných zariadení. Takáto platforma bude mať širokú uplatniteľnosť. Bude ju možné použiť nielen na realizáciu mobilného bankovníctva, ale aj na iné činnosti, pri ktorých je potrebná komunikácia medzi dvoma zariadeniami spojená s autentifikáciou jedného z nich. Z tohto pohľadu bude mať takáto platforma široké možnosti využitia. Takisto sa jedná o projekt, kde požiadavky na výsledný produkt nie sú detailne špecifikované, čo nám dáva väčšie možnosti realizácie rôznych nápadov a kreativity pri implementácii.

Vytvorený produkt bude mať potenciál na ďalšie zdokonaľovanie a následné uplatnenie na trhu, pretože má predpoklady na ďalší rozvoj. Je teda zaujímavé zúčastniť sa na projekte, ktorý bude mať reálne využitie.

Samotná tvorba aplikácií, ktoré spolupracujú s mobilnými telefónmi je veľmi atraktívna keďže sa jedná o rozrastajúce sa odvetvie, ktoré vystupuje stále viac do popredia.

Koncepcia riešenia

Komunikácia

Komunikáciu by sme primárne riešili pomocou TCP/IP komunikácie cez server, keďže na pripojenie cez bluetooth je potrebné zariadenia spárovať, a tak by sa zbytočne predlžoval čas platby. Komunikácia cez bluetooth by sa však mohla použiť v prípade, že nie je dostupné mobilné internetové pripojenie. Komunikácia by prebiehala pomocou definovaného protokolu, ktorý by podporoval všetky funkcie potrebné na vykonanie transakcie.

Bezpečnosť

Jedno z použití takéhoto systému je aj mobilné bankovníctvo, teda bezpečnosť je pre nás najdôležitejší aspekt budúceho riešenia. Celá transakcia musí byť zabezpečená tak, aby sa minimalizovala možnosť sfalšovania transakcie. Pri zobrazení samotného kódu na displeji budeme musieť analyzovať, čo sa môže stať, ak tento kód nasníma kamera útočníka, a či sa vôbec dá takémuto typu útoku predchádzať. Samozrejmé je tiež zabezpečenie komunikácie so serverom a tiež zabezpečenie údajov uložených v cloude.

 

 


Cloud služba

Po analýze vyberieme vhodnú cloud službu, pričom budeme klásť dôraz na to, aby sa riešenie neviazalo príliš na konkrétnu službu, ale bolo realizovateľné aj na inej službe.

Mobilná platforma

Zanalyzujeme vhodnú mobilnú platformu, ktorú použijeme pri našom riešení. Budeme uvažovať iOS, Android, Symbian prípadne J2ME. Posudzovať ich budeme podľa toho, ako efektívne by sme dokázali vytvoriť mobilnú aplikáciu s použitím danej platformy. Riešenie by znovu nemalo byť viazané na funkcie špecifické pre vybranú platformu, aby bola otvorená možnosť portovania na iné platformy.


Použiteľnosť

Konkurenciou realizovania transakcií cez mobilné platformy je platba kartou. Riešenie by teda malo byť rovnako pohodlné, a mohlo by byť rýchlejšie, pretože pri platbe kartou trvá komunikácia s bankou občas pomerne dlho.


 

Simulated Car Racing Competition 2011 (Car Racing) - téma 17

Autonómne vozidlá a ich riadenie sú predmetom výskumu na mnohých prestížnych univerzitách sveta, takže ide o perspektívny smer vývoja. Predpokladá sa, že v budúcnosti budú autá riadené autopilotmi, aby sa eliminovali ľudské chyby. Cesta k autopilotom vo všetkých autách je však ešte veľmi dlhá. Simulácia automobilových závodov je zaujímavý spôsob ako nahliadnuť do tejto oblasti a oboznámiť sa s problémami tejto oblasti a ich možnými riešeniami. Forma súťaže autopilotov prispieva k väčšej motivácii nášho tímu, výsledok nášho snaženia budeme môcť vizuálne porovnať s ostatnými autopilotmi, čo je určite lepšie, ako keby výsledkom simulácie boli len nejaké čísla. V neposlednom rade sa detailne oboznámime s fyzikou jazdy a pochopíme tak správanie sa auta na ceste v hraničných situáciách. Pozitívom je, že spôsob implementácie nie je presne stanovený, takže môžeme uplatniť našu kreativitu.

Koncepcia riešenia

Súťažná kategória

Plánujeme sa zúčastniť kategórie Chamionship, pretože môžeme využiť znalosti, ktoré si naštudujeme o správnych jazdeckých technikách z reálnych závodov, ako je správny prejazd zákrutou, správne určenie miest, v ktorých treba brzdiť a pod. Pri Destruction Derby takéto znalosti neexistujú.

Programovací jazyk

Vzhľadom na to, že väčšina tímu má lepšie skúsenosti s programovacím jazykom Java ako s jazykom C++, autopilota by sme implementovali práve v Jave.

Implementácia

Začali by sme s autopilotom, ktorému naprogramujeme základné schopnosti pre správny prejazd zákrutami. Pri neznámej trati sa však algoritmus musí naučiť ako vyzerá a skúšať posúvať bod brzdenia, alebo ideálnu stopu. Na tento účel by sme využili neurónovú sieť, ktorá by sa snažila natrénovať na danú neznámu trať počas tréningu.

Zaujímavou možnosťou, ktorú by sme chceli zanalyzovať je rýchlejšie naučenie sa správneho prejazdu traťou jazdou za iným (lepším) autopilotom. Náš autopilot by tak dokázal sledovať techniku jazdy iného autopilota a využiť ju pre svoj prospech. Takýto prístup by sa možno dal využiť aj v samotných pretekoch, kedy by autopilot v ďalších kolách mohol optimalizovať prejazd zákrutami podľa autopilotov okolo neho, ktorí prešli zákrutu lepším spôsobom.

Náš autopilot však nebude závodiť sám, a nebude sa môcť držať iba optimálnej stopy. Predbiehanie súperov by sme museli naprogramovať ako ďalšiu schopnosť autopilota, kedy v závislosti od vhodných podmienok na predbiehanie vykoná predbiehací manéver a potom sa vráti späť k sledovaniu svojej stopy a jej vylepšovaniu.

Tiež sa budeme zaoberať rýchlym návratom na trať po zrážke, pretože ako sme videli vo videách z uskutočnených závodov, zrážky sa stávajú a niektorí autopiloti majú potom problém vrátiť sa na trať, čím strácajú zbytočne čas.

 


 

Príloha A - Poradie tém

1.    Virtuálna FIIT

2.    Platforma pre realizovanie transakcií prostredníctvom mobilných zariadení

3.    Simulated Car Racing Competition 2011

4.    Model používateľa pre jeho identifikáciu

5.    Dizajn s použitím obohatenej reality

6.    Objektové úložisko dát

7.    Tréner mentálnych schopností

8.    Crowdsourcing

9.    Interaktívna vizualizácia grafových štruktúr v 3D priestore

10.  RoboCup tretí rozmer

11.  3D grafická podpora vyhľadávania znalostí v dokumentoch

12.  Evolučný simulátor umelého života založený na heuristických pravidlách

13.  Prispôsobiteľný Widget

14.  Portál pre časopis

15.  Správa študentských projektov na fakulte

16.  Tvorba rozvrhov

17.  Vyhľadávanie a sprístupnenie citácií

18.  Adaptívny proxy server


 

Príloha B - Rozvrh tímu

 

Legenda :

Kurzíva

- prednášky

zaneprázdnený

- študent nedostupný kvôli iným dôležitým povinnostiam

pokiaľ možno voľno

- študent má iný plán, ale je možné ho zmeniť