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ť |
||||||