Témata diplomových prací

From RTIME
Jump to: navigation, search

Zde jsou uvedeny pouze návrhy témat diplomových prací. Oficiální zadání jsou na http://zp.feld.cvut.cz.

Contents

Michal Sojka

(sojkam1@fel.cvut.cz)

Jailhouse hypervisor

  1. Seznamte se s Jailhouse hypervisorem (FOSDEM'14 video, Presentation)
  2. Otestujte konfiguraci s několika instancemi Linuxu a kombinaci Linuxu a menšího systému (např. RTEMS nebo L4 Fiasco.OC).
  3. Proveďte sérii benchmarků ověřujících izolaci jednotlivých oddílů (cells)

Hardware a software pro testování automobilových řídicích jednotek

  1. Seznamte se s projektem Rapid Prototyping Platform (RPP)
  2. Navrhněte hardware pro automatické testování/měření vstupů a výstupů RPP. HW může vycházet např. z I/O karty do PC, či ze snadno dostupné embedded desky (např. BeagleBone). V obou případech bude nutné navrhnout HW interface.
  3. Implementujte software pro ovládání navrženého HW.
  4. Implementujte vlastní testy jednotlivých funkcí karty jako např. digital I/O, analog I/O, power switches atd.


Kontinuální testování podpory sběrnice CAN pod OS Linux

  1. Seznamte se s nástroji používanými na katedře ke kontinuálnímu monitorování výkonu Linuxového subsystému sběrnice CAN
  2. Rozšiřte tyto nástroje o následující body: testování více různých repozitářů najednou, ukládání naměřených dat do databáze, vylepšení webového rozhraní pro prezentaci výsledků, zobrazování "tagů" v grafech atd.
  3. Výsledky zdokumentujte.

Řadič sběrnice CAN na FPGA s OS Linux

  1. Seznamte se s CPU/FPGA Xilinx Zynq.
  2. Seznamte se s nástroji používanými na katedře ke kontinuálnímu monitorování výkonu Linuxového subsystému sběrnice CAN
  3. Pro účely přesnějšího měření časových parametrů implementuje v FPGA řadič sběrnice CAN rozšířený o podporu hardwarových časových značek.
  4. Porovnejte přesnost měření časových parametrů původní softwarové metody a nové metody založené na FPGA.

Podpora Ethernet AVB v Linuxu

Audio Video Bridging je souhrnný název pro několik nových Ethernetových standardů, které byly původně určeny pro přenos multimediálního obsahu, ale v současné době začínají pronikat i do průmyslových aplikací od průmyslové automatizace po automobily. Cílem této práce je ověření funkčnosti této nové technologie a stavu její podpory v OS Linux.

  1. Seznamte se se standardy pro Ethernet Audio Video Bridging (AVB) a síťovým kontrolerem Intel i210.
  2. Prozkoumejte stav implementace a podpory AVB u ovladačů i210 v Linuxu.
  3. Sestavte testovací síť alespoň se dvěma koncovými zařízeními (i210) a jedním AVB switchem.
  4. Změřte časové a výkonnostní parametry testovací sítě a porovnejte vaše výsledky s obdobnými měřeními či teoretickými výsledky v literatuře.
  5. Vše důkladně zdokumentujte.

Ethernetový switch pro time-triggered protokoly na platformě NetFPGA

  1. Seznamte se s platformou NetFPGA a možnostmi vytváření vlastních Ethernetových zařízení.
  2. Implementujte (ve VHDL, nebo jiným dostupným způsobem) jednoduchý switch podporující synchronizaci času pomocí PTP protokolu a rezervaci přístupu k médiu pomocí TDMA pro podpory "time-triggered" protokolů.
  3. Vše důkladně otestujte a zdokumentujte.

Porovnání generátorů kódu v Simulinku a Scicosu

  1. Seznamte se s možnostmi generování kódu z nástroje Matlab/Simulink a s "targetem" pro automobilovou řídicí jednotku RPP.
  2. Seznamte se s nástrojem Scicos a jeho možnostmi generování kódu.
  3. V nástroji Scicos implementujte podporu pro generování kódu na platformu RPP a vytvořte jednoduché demonstrační aplikace.
  4. Na základě nabytých zkušeností porovnejte vlastnosti Simulinku a Scicosu v oblasti generování kódu.

Virtualizace sběrnice CAN

  1. Seznamte se s řadičem sběrnice CAN SJA1000 a jeho modelem pro emulátor Qemu
  2. Rožšiřte model o podporu nové technologie CAN-FD
  3. Seznamte se s mikrohypervisorem NOVA a virtual machine monitorem Seoul.
  4. Implementujte model SJA1000 a CAN-FD řadiče pro Seoul.
  5. Otestujte funkčnost modelů na Linuxovém virtuálním stroji pod oběma hypervisory.

http://www.rtems.org/wiki/index.php/QEMU_with_CAN_Emulation

CANOpen for PikeOS

(Cooperation with Sysgo company)

The subject of the diploma thesis is make a research of the existing CANOpen implementations and select the suitable one for the porting to PikeOS native personality. The examples for CANopen implementations are CANfestival, CANopenNode, IXXAT CANopen, Vector CANOpen.

Přemysl Šůcha

(suchap@fel.cvut.cz)

Vyvažování zátěže heterogenních výpoetních systémů

Vyvažování výpoetní zátěže (load balancig) je obor zabývající se přiřazováním výpoetních úkolů na síti poítaů, výpoetním clusteru, procesorech apod. tak, aby bylo zajištěno efektivní využití těchto zdrojů. Cílem může být minimalizace odezvy systému, minimalizace spotřeby energie, apod. Pokud v tomto systému vystupuje více úastníků, např. uživatelů sytému generující výpoetní úlohy, stává se problém úlohou multi-kriteriální optimalizace, jelikož každý uživatel má svůj vlastní cíl.

Vyvažování zátěže centralizovaným systémem má tu nevýhodu, že od urité velikosti výpoetního systému se stává tato centrální jednotka úzkým hrdlem tohoto systému. Proto předmětem práce je návrh algoritmů pro distribuované vyvažování výpoetní zátěže. Cílem je využít model založený na teorii her, který bere v potaz rozdílné cíle jednotlivých uživatelů.

[1] Satish Penmatsa, Anthony T. Chronopoulos, Game-theoretic static load balancing for distributed systems, Journal of Parallel and Distributed Computing, Volume 71, Issue 4, April 2011, Pages 537-555.

Libor Bukata

(bukatlib@fel.cvut.cz)

Návrh a implementace optimálního algoritmu pro řešení rozvrhování projektů využívající grafické karty

Rozvrhování projektů je praktická a obtížná úloha nacházející uplatnění např. v plánování výroby. Pro řešení tohoto problému lze použít např. metodu větví a mezí, která je schopná nalézt optimální řešení a dokázat optimalitu. Potřebný as pro nalezení optimálního řešení NP-těžkého problému roste exponenciálně, a tak je velice důležité využít veškerý výpoetní výkon grafických karet a procesorů. Cílem práce bude navrhnout paralelní algoritmus využívající více grafických karet sdílející jeden poíta nebo na distribuovaný systém komunikující přes síť.

Literatura: Carneiro, T.; Muritiba, A.E.; Negreiros, M.; Lima de Campos, G.A., "A New Parallel Schema for Branch-and-Bound Algorithms Using GPGPU," Computer Architecture and High Performance Computing (SBAC-PAD), 2011 23rd International Symposium on , vol., no., pp.41,47, 26-29 Oct. 2011

Roman Václavík

(vaclarom@fel.cvut.cz)

Návrh optimalizaních algoritmů pro mobilní zařízení v gridu

S rostoucím výkonem mobilních zařízení a pokrokem v mobilní komunikaci skrze internet se naskýtají nové možnosti využití těchto zařízení pro výpoty v gridu [1]. Na mobilních zařízeních budou tedy umístěny optimalizaní algoritmy, které budou skrze dané rozhraní komunikovat s centrálním serverem. Tento server má za úkol efektivně rozdělovat příchozí úlohy na jednotlivá mobilní zařízení tak, aby byly uspokojeny požadavky jednotlivých úloh (např. vrať výsledek do pěti minut). Rozdělení (rozvrhnutí) příchozích úloh musí být provedeno na základě několika různých parametrů mobilních zařízení (latence, stav baterie, výpoetní výkon, atd.).

Cílem práce je implementace optimalizaních algoritmů pro mobilní zařízení a návrh serverového algoritmu pro rozdělování příchozích úloh.


[1] K. Katsaros and G. C. Polyzos. Evaluation of scheduling policies in a Mobile Grid architecture. SPECTS 2008, IEEE Press, 390-397, 2008.

Využití metod uení v rozvrhovacích problémech

Rozvrhování lidských zdrojů, Personnel Scheduling Problem, je známá NP-těžká optimalizaní úloha. Pro její řešení se většině případů používají různé heuristiky, protože exaktní metody (úplné prohledávání prostoru řešení) by nebyly schopny vyřešit problém v reálném ase. Tvorba rozvrhů pomocí specializovaného software se provádí ve firmách zpravidla periodicky, např. jednou měsíně, přiemž podmínky a vstupy pro vytvoření rozvrhu zůstávají takřka stejné pro každé období. To vede k tomu, že algoritmus pokaždé prochází a ohodnocuje kandidátní řešení, která už dříve ohodnotil a co hůř, většina těchto řešení je navíc na první pohled (podle struktury) špatná.

Pokud by se data z předchozích období průběžně ukládala do databáze, otevřel by se nám prostor pro uící metody. Ty by se na základě těchto dat mohly nauit potřebné informace a tím pádem pomoci algoritmu v rychlejším ohodnocování kandidátních řešení nebo vůbec výběru potencionálně kvalitních kandidátních řešení. Jako uící metody mohou být použity například klasifikátory [1], které se na základě struktury řešení rozhodnou, zdali se jedná o dobrý i špatný rozvrh. Dalším přístupem může být třeba data mining (association rule learning) [2], který na základě nauených souvislostí dokáže efektivně řídit výběr vhodných kandidátních řešení.


[1] J. Li, E. K. Burke, and R. Qu. A pattern recognition based intelligent search method and two assignment problem case studies. Applied Intelligence, 36(2):442-453, 2012.

[2] E. Ikonomovska, D. Gjorgjevik and S. Loskovska. Using Data Mining Technique for Coefficient Tuning of an Adaptive Tabu Search. The International Conference on “Computer as a Tool, 706-713, 2007.


Zdeněk Bäumelt

(baumezde@fel.cvut.cz)

Algoritmy pro optimalizaci nákladů ve směnných provozech

V zaměstnáních s nerovnoměrnou pracovní dobou figuruje několik typů směn. Jejich poet může být menší (2 typy směn - denní/ noní, 3 typy směn - ranní, odpolední, noní), ale jsou pracoviště, kde je takový poet směn nevyhovující, zejména z hlediska nákladů zaměstnavatele. Typickým příkladem takového pracoviště je např. call centrum, kde se poty zaměstnanců během dne mohou relativně výrazně lišit. Pak je nutné řešit tzv. Minimal Shift Design Problem [Gaspero2007], kdy se snažíme pokrýt směnami poty zaměstnanců v jednotlivých intervalech.

Pokyny k vypracování:

1. Seznamte se s literaturou relevantní pro Minimal Shift Design Problem.

2. V návaznosti na rešerši ve spolupráci s vedoucím navrhněte vhodnou heuristiku řešící tento problém.

3. Implementujte vybraný algoritmus, jehož funknost bude ověřena na dodaných benchmarkových instancích a dále bude vyhodnocena nad daty z reálného provozu.

option

[Gaspero 2007] L. Di Gaspero, J. Gärtner, G. Kortsarz, N. Musliu, A. Schaerf, and W. Slany. The minimum shift design problem. Annals of Operations Research, 155:79-105, 2007. ISSN 0254-5330. doi: 10.1007/s10479-007-0221-1.

Roman Čapek

(capekr1@fel.cvut.cz)


Rozvrhování výroby drátových svazků ve firmě Styl Plzeň

Cílem práce je zpracovat rešerši k problematice rozvrhování zaměřeného na výrobu s požadovanými termíny dokonení a multikriteriální hodnotící funkcí. Na základě rešerše by měl student zvolit 2-3 přístupy k řešení a implementovat je. Na základě výsledků se potom zaměřit na jeden vybraný přístup a ten odladit, otestovat a zdokumentovat, aby byl použitelný v rámci rozvrhovacího softwaru pro firmu Styl.

Pokyny k vypracování:

1. Seznamte se s problematikou rozvrhování výroby.

2. Zaměřte se na problémy se sdílenými zdroji, termíny dodání materiálu (release time), přestavbovými asy závislými na sekvenci (sequence dependent setup times) a s multikriteriální cenovou funkcí.

3. Vypracujte rešerši obsahující popis různých přístupů k tomuto problému a na základě této rešerše zvolte 2-3 přístupy a ty odzkoušejte.

4. Vyberte jeden vhodný přístup a ten detailně zpracujte a naimplementujte.

5. Vytvořte sadu testovacích dat, algoritmus odzkoušejte a celé řešení řádně zdokumentujte.

option

Pavel Píša

http://cmp.felk.cvut.cz/~pisa/

http://dce.felk.cvut.cz/nms/?p=hardware

Zprovoznění OS Linux na mikrokontroléru ColdFire MCF5484

Pokyny:

  1. Seznamte se s architekturou ColdFire firmy FreeScale a dostupnými dokumenty k vývojovému kytu M5484LITE.
  2. Pokuste se vyhledat maximum informací a rozpracovaných projektů k této # architektuře a na základě těchto informací zprovozněte aktuální verzi jádra 2.6 na vývojovém kytu.
  3. Zaleňte se do vývojové komunity a pokuste se o úpravu a doplnění kódů do podoby zalenitelné do hlavní vývojové řady.

Projekt je již řešen v rámci bakalářské práce Martina Melouna. Pro dokonení by ovšem další posila byla přínosem.

Využití programovatelného pole pro řízení bezkartáových motorů

Práce na VHDL návrhu již v uritém stupni vyřešená (bakalářská práce Vladimíra Buriana). Nabízí se množství návazných projektů. Pokyny pro další projekty:

  1. Seznamte se s architekturami programovatelných obvodů XILINX a nástroji pro logický návrh v jazyce VHDL.
  2. Zvolte vhodný obvod pro realizaci polohového regulátoru třífázového Brushless DC motoru vybaveného inkrementálním idlem, který by obsahoval alespoň 24-bitový íta polohy, generátor požadované polohy, PSD regulátor a třífázový PWM generátor.
  3. Dále provete logický návrh pro vybraný obvod a doplňte ho návrhem desky s přizpůsobením vstupních signálů a výkonovými budii
  4. Provete portaci již navržených komponent (VHDL a SW) na nově navržený hardware.

Pokraování na projektech řízení elektrických motorů (DC, BDLC)

  • Návrh jednotek pro distribuované řízení motorů na bázi LCP17xx
  • rozšíření systému o další funkce

Prediktivní řízení obráběcích strojů

Pokyny: Cílem práce je softwarová optimalizace a implementace algoritmů prediktivního řízení pro mechatronické struktury, které tvoří základ paralelních obráběcích stojů. Algoritmy se předpokládají ve formě autonomních funkcí, umožňujících jejich nezávislé testování pro různé typy mechatronických struktur.

  1. Seznamte se základními vlastnostmi řídicích algoritmů.
  2. Seznamte se s řídicími algoritmy a dalšími funkcemi realizujícími simulaci řízení dané mechatronické struktury pomocí M funkcí a M S-funkcí (S-funkce Level 2)

a provete rozbor dimenzí funkních parametrů, vstupů a výstupů.

  1. Naprogramujte, popřípadě upravte stávající softwarerové řešení C-mex výkonných funkcí a C S-funkcí pro MATLAB Simulink umožňující individuální volání C-mex výkonných funkcí z MATLABu i spuštění C S-funkcí v Simulinkových modelech. Při programování dodržujte princip přímého zahrnutí dokumentace ve zdrojových kódech (simultánní dokumentace komentáři).

Zadavatel: Ing. Květoslav Belda Ph.D., Oddělení adaptivních systémů, ÚTIA AV ČR, v.v.i.

Grafický simulátor G kódu resp. CNC programů

Pokyny: Navrhněte grafické rozhraní a simulátor G kódu (CNC programů) pro obráběcí stroje a robotická obráběcí centra. Bude ten program G v kódu, který bude dále zpracovávaný funkcemi asové para­metrizace a vizualizaními funkcemi. Časová parametrizace by měla být navržena jak pro dávkové zpracování tak i pro postupné zpracování po jednotlivých řádcích CNC programu. Aplikace by měla být přenositelná na systémy Windows a GNU/Linux a měla být jednoduše spustitelná bez nutnosti poátení instalace.

  1. Seznamte se s polohovacími funkcemi G kódu (G00 - G04) a jejich matematické interpretaci užívané při asové parametrizaci geometrického povrchu.
  2. Uvažujte dva základní tvary nástrojů koule a hrot pro převod geometrického tvaru obrobku na dráhu nástroje.
  3. Navrhněte rozložení ovládacích a vizualizaních prvků softwarové aplikace.
  4. Použijte otevřený kompilátor C++ (GCC+Qt4) případně C# (Mono), umožňující práci s knihovnou OpenGL pro grafickou 3D vizualizaci trajektorií.

Zadavatel: Ing. Květoslav Belda Ph.D., Oddělení adaptivních systémů, ÚTIA AV ČR, v.v.i.

Podpora komunikace CAN/CANopen v operaním systému Linux (Rámcové téma)

option

Pokyny: Seznamte se s architekturou a s výsledky dosaženými v rámci projektu OCERA (http://www.ocera.org) a dalšími projekty spojenými s řídicí sběrnicí CAN na Katedře řídicí techniky (http://rtime.felk.cvut.cz/can). Otevřené úkoly nabízí práci od programování v jazyce Java nebo C++ pro poítae třídy PC až po stavbu vlastních zařízení a embedded programování v jazyce C:

  • rozšíření Java CAN/CANopen monitoru o konfiguraci procesních zpráv (PDO), export a přípravu objektového slovníku (OD) pro embedded zařízení
  • integrace Java monitoru do prostředí ECLIPSE
  • pokraování v projektu CAN monitoru na bázi Qt4
  • rozšíření funkcí CAN/CANopen knihovny (VCA) o NMT služby
  • propojení CANopen knihovny s prostředím jazyka Python
  • úpravy pro využití i v menších embedded systémech
  • další projekty na základě dohody

Z úkolů lze vybrat vhodný cíl podle zájmů a schopností studenta s možností návaznosti od BP, přes sem. práce až po DP.

Komunikaní protokol uLan (Rámcové téma - zatím není v ZP)

Pokyny: Spolupráce na vývoji a implementacích protokolu uLan (http://ulan.sourceforge.net/). Jedná se o multi-master protokol vhodný pro automatizaci laboratorních zařízení (http://www.pikron.com/pages/products/hplc.html), domovní automatizace (http://dce.felk.cvut.cz/kotek/index.php?name=prehled&identifikator=687&roc=2009), zemědělských chovů a všude tam, kde je potřeba inteligentního sběrnicového propojení více jednotek s relativně malými nároky na přenosovou kapacitu. Možné úkoly:

  • Implementace optimalizované podpory UARTu LPC17xx
  • Rozšíření o blokový/FIFO zápis pro UART na MPC 5200
  • Implementace pro UART rodiny iMX
  • Implementace pro AT91SAM
  • Rozšíření komunikaních možností objektové vrstvy a komnunikaních kanálů na embedded zařízeních
  • Implementace tvorby a správy objektového modelu v jazyce C (příp. C++ a Qt, FreePascal) na straně konfiguraního, nadřízeného uzlu
  • Python interface k objektovému modelu
  • Web interface

CHROMuLAN - Chromatographic System for Everyone (Rámcové téma - zatím není v ZP)

option

Pokyny: Spolupráce na vývoji a portaci open-source chromatografické stanice CHROMuLAN (http://www.pikron.com/pages/products/hplc/chromulan.html, http://www.chromulan.org/, http://sourceforge.net/projects/chromulan/). Možné úkoly:

  • Všeobená spolupráce na projektu - tvorba nových stránek, jejich propojení atd.
  • Vývoj pluginů pro další HW
  • Portace pod systém Linux (FreePascal)
  • Případné přepsání do prostředí Qt

Motion control application (Rámcové téma - zatím není v ZP)

Pokyny: Spolupráce na vývoji motion kontrolérů firmy PiKRON (http://www.pikron.com/pages/products/motion_control/mars_8.html), která by položila základy pro open-source verzi PXMC kontroléru. Možné úkoly:

  • Příparava webové prezentace
  • Spolupráce na portaci pro platformu LPC17xx sysless (příp. Renesas RX, ColdFire, Linux RT-preempt atd)
  • Otestování a finalizace zpětnovazebního řízení pro krokové motory
  • Propojení s CANfestivalem případně OCERA CANopen implementací.

ZigBee na platformě MSP430

Pokraování diplomové práce Václava Rychnovského.

ZigBee na platformě FreeScale MC1322x

Cooperation with OROCOS project (Rámcové téma - zatím není v ZP)

Project pages: http://www.orocos.org/

  • Integration of MARS and PXMC projects with OROCOS framework
  • CAN/CANopen related integration

ESA Satellites Related Cooperation with Stuttgart University (Rámcové téma - zatím není v ZP)

http://www.kleinsatelliten.de

1. field of research: satellite on-board software engineering

a) design and implementation of standard software services ( such as telemetry packet generation, telecommand interpretation, storage and retrival etc. )

b) definition of verification strategies and tests ( such like profiling, code coverage and functional unit tests) and if possible conducting tests

c) selection or implementation of a suitable filesystem for flash based mass memmory

d) implentation of high-level data protocol between processor and peripherals. (all communication will be route through a spacewire interface)

e) development of a generic matlab to boost/c++ converter script

2. field of research: electronics engineering

a) vhdl programming for in-house developed mass memory unit

b) development of a stable central oscilator unit

3. field of research: hf communication / software defined radio

a) algorithm development with matlab/simulink for flash fpgas

4. field of research: system simulation:

a) implementation of software models of hardware components in order to feed a on-board software with stimulus

b) adaption of qemu in order to connect it with the system simulator

c) adaption of qemu in order to make non-intrusive code coverage and profiling possible

RTEMS Executive Related Projects and Cooperations (Rámcové téma - zatím není v ZP)

RTEMS project http://www.rtems.org/

  • Porting of OCERA LinCAN/CAN/CANopen or CAN festival infrastructure
  • Integration of TLSF malloc allocator repalcement http://rtportal.upv.es/rtmalloc/
  • Many drivers, testing and other projects
  • Testing targets MPC 5200, i.MX PiMX1, x86 Qemu
  • Porting of FRSH-FORB infrastructure to RTEMS

PEDA Electronic Design Automation System (Rámcové téma - zatím není v ZP)

Jedná se o systém pro návrh schémat a plošných spojů, který byl dlouhou dobu jedním z pomocných nástrojů pro návrh elektroniky ve firmě PiKRON. V souasné době již dosáhl takové úrovně, že může být dobrým základem pro kompletní návrhový systém.

Repozitáře a distribuní soubory projektu jsou umístěny na SourceForge:

http://sourceforge.net/projects/peda/

Poátení verze popisu se nachází na domovské stránce Petra Porazila - autora projektu

http://volny.cz/porazil/k-peda.html

Souástí projektu na SOurceForge je i repositář s příklady projektů v systému PEDA. Jedná se například o kompletní data k desce PiMX1.

option

Vlastnosti

  • GPL licence
  • Založený na knihovně Qt, souasná verze byla portovaná do Qt4
  • Relativně malá a kompakní báze
  • Aplikace může pracovat s kombinovanou databází schématu a plošného spoje, což je výhodné při návrhu
  • Originální ovládání, které přináší výrazné výhody především při runím návrhu složitých plošných spojů
  • Atributy kombinované pro PCB a schéma
  • Základní DRC a kontroly již implementované
  • Plná podpora technologických výstupů (GERBER, osazovací výkresy a schémata v PDF).

Možné úkoly a práce:

  • Projekt potřebuje optimalizaci rychlosti vykreslování (především po nedávném přechodu na Qt4)
  • Rozšíření funkcionality pro plné pohodlné kreslení schémat a plošných spojů
  • Rozšířit sadu inportních a exportních funkcí (zatím podporovaná pouze schémata a knihovny z DOS verze OrCAD a plošné spoje PCAD). Optimálně přidat plnou podporu EDIF formátu.
  • Možnos rozšíření funkcionality na obecný schematický systém i pro další urení
  • Implementace podpory vyplňování polygonů s obtékáním Již je implementované
  • Otestování/portace pod systém Windows Základní funkcionalita na jedné z verzí pod Windows je již otestovaná, je potřeba další adaptace a testování aktuální verze
  • Obecná spolupráce na založení a správě projektu na SF.net
  • Tvorba anglické dokumentace projektu.

Zadavatel: Ing. Petr Porazil