ŠEVČÍK, M. Modelování a implementace řídicího algoritmu 3D tiskárny [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2019.

Posudky

Posudek vedoucího

Jirgl, Miroslav

Diplomant, pan Ševčík, se v rámci své diplomové práce zabýval modelováním a implementací řídicího algoritmu pro 3D tiskárny. Úkolem tak bylo provést rešerši interpolačních algoritmů pro řízení CNC strojů využívajících tzv. S-křivky, vybrané algoritmy namodelovat v prostředí MATLAB/Simulink a následně implementovat do vývojového kitu a provést tzv. PIL a SIL simulaci. Diplomovou práci vypracovával pan Ševčík převážně pod vedením konzultanta, se kterým byla konzultována zejména technická část. Dle informací konzultanta, pan Ševčík pracoval víceméně samostatně. Konzultace využíval v minimální míře, zejména pak v posledních dvou až třech týdnech, a bohužel tak podcenil časovou náročnost zadání. Ačkoli tedy první část práce, čili rešerše a základní modelování, byly provedeny poměrně zdařile, druhá část práce, zabývající se samotnou implementací, se příliš nezdařila a byly tak provedeny prakticky jen základní simulace. Diplomant zde dle zadání provedl nejprve tzv. MIL (Model-in-the-loop) simulaci, následně vygeneroval kód pro daný procesor a provedl tzv. SIL (Software-in-the-loop) simulaci. Při řešení samotné PIL (Processor-in-the-loop) simulace se však vyskytla chyba při generování kódu, kterou se mu již nepodařilo odstranit. Vzhledem k časové tísni tak neprovedl analýzu příčiny a tento problém prezentoval pouze pomocí obrázku s chybovým hlášením, ze kterého není možné jednoduše říci, zda je problém v prostředí či zda šlo o chybu v projektu. Formální stránka práce a stejně tak i její rozsah rovněž odpovídá výše uvedeným skutečnostem souvisejícím s časovým deficitem, zejména pak ve druhé části. Ačkoli se diplomant v dané problematice poměrně dobře zorientoval a prokázal schopnost samostatného řešení problému, navrhuji vzhledem k výše uvedeným skutečnostem hodnocení 50b/E.

Navrhovaná známka
E
Body
50

Posudek oponenta

Pohl, Lukáš

Student Bc. Martin Ševčík vypracoval diplomovou práci na téma Modelování a implementace řídicího algoritmu 3D tiskárny. Tato práce má dobrou prezentační úroveň a svoji délkou je spíše na dolní mezi rozsahu doporučeného pro diplomovou práci (52 stran). Formální a jazyková úroveň práce je uspokojivá, ale zbytečně ji shazuje velké množství překlepů, vynechaných písmen, nebo dokonce celých slov. Většině těchto chyb bylo možné snadno předejít automatickou kontrolou pravopisu. V průběhu práce se vyskytuje několik rozostřených nepůvodních obrázků, které by bylo vhodné nahradit buď obrázky z kvalitnějších zdrojů, nebo ještě lépe obrázky vlastními. Posouzení odborné úrovně práce a splnění jednotlivých bodů zadání je vhodné rozdělit na několik částí. První část práce zabývající se rešerší řídicího řetězce CNC stroje, jednotlivých metod pro čtení vstupních dat, interpolaci a aplikaci S-křivek byla provedena o poznání pečlivěji než navazující kapitoly. Vytknul bych snad jen porovnávání jedné interpolační metody s další, která nebyla v práci představena a bylo ji nutné dohledat v odborném zdroji (Beziérova křivka). V druhé část práce – modelování vybraných algoritmů spolu s modelem 3-osého CNC zařízení v MATLABu, se začala projevovat časová tíseň, ve které se pravděpodobně student nacházel. Student nejdříve představil úplný matematický model hybridního krokového motoru s tvrzením, že je pro další práci (v souladu se zadáním) používán model zjednodušený, který z úplného modelu vychází. Popis zjednodušeného modelu zde však zcela chybí a to nejspíš z důvodu zatajit fakt, že vůbec nevychází z matematického modelu a pouze přepočítává vstupní pulzy na posun či rychlost v dané ose. Tento přístup by byl v rámci zjednodušení akceptovatelný, pokud by byl v práci patřičně popsán a motivace pro jeho použití zdůvodněna více než jen slovy: „Protože však krokový motor ani jeho ovládání nejsou tématem této práce…“. Přes uvedené nedostatky by se dalo konstatovat, že byla soustava v „dostatečné komplexitě“ namodelována a tím 2. bod zadání splněn. Mimo samotné zadání je v práci zmíněno vytvoření grafického uživatelského prostředí (GUI) pro ovládání simulace. Popis této části je velmi strohý a vzhledem k tomu, že se v přílohách žádný GUI soubor (.fig) se zdrojovým kódem nevyskytuje, tak je pravděpodobné že se nejednalo o fungující část a přiložený obrázek zobrazuje pouze vzhled uživatelského rozhraní bez jakékoliv funkce. Třetím bodem zadání bylo implementovat namodelované algoritmy do kitu STM32F4. Student se však potýkal už jen s instalací vývojového prostředí a přes veškerou snahu se mu podařilo zprovoznit pouze demonstrační projekt implementující IIR filtr. Místo implementace alespoň některých algoritmů přímo v jazyce C student soustředil veškeré snahy na automatické generování kódu pomocí MATLABu (v rámci řešení 4. bodu zadání). Implementace řídicího algoritmu v souladu s 3. bodem zadání tedy nebyla provedena a tento bod nebyl splněn. V přílohách opět chybí jakékoliv soubory projektů či zdrojových kódů souvisejících s tímto bodem zadání. Čtvrtým bodem zadání bylo provedení PIL a SIL simulace jednotlivých algoritmů. Přechod od MIL (model-in-loop, čili modelování v souladu s 2. bodem zadání) na další vrstvy Model Based Designu (SIL a PIL) se však ukázalo jako velmi obtížné a to i přes přímou podporu použitého kitu v prostředí MATLAB Simulink. Už jen přechod na SIL (Software-in-loop) nebyl kvůli použití integrovaných a Simulink Coderem nepodporovaných funkcí proveden zcela korektně. Místo nahrazení funkce jinou podporovanou funkcí, či implementací vlastní funkce, byl napevno vložen výstup nepodporované funkce pro konkrétní vstupní data. Spojení řídicího algoritmu s řízenou soustavou bylo provedeno pouze „offline“ a to skrze pracovní proměnné MATLABu. Pracovní proměnné MATLABu by měli v rámci SIL sloužit pouze pro generování testovacích vstupních vektorů a pro záznam výsledků SIL simulace. Práce na implementaci PIL simulace skončila chybovou hláškou programu STM32CubeMX. Vzhledem k tomu, že opět nebyl přiložen soubor s konfigurací z programu CubeMX, tak nebylo možné onu chybu reprodukovat, nebo dokonce najít její příčinu (příliš dlouhá cesta k souboru s projektem obsahující diakritiku se spolu s nekompatibilní verzí CubeMX nabízí jako jedny z možných příčin). Bod č. 4 tak zůstal nesplněn. Posledním bodem práce je porovnání a zhodnocení výsledků. I když pominu, že nebylo možné porovnávat výsledky MIL se SIL a PIL simulací, tak jsou dosažené výsledky prezentované v této kapitole neuspokojivé. V grafech na stranách 57 a 58 je uvedeno porovnání výsledku výpočtu S-křivky pomocí polynomů a pomocí tabulkových hodnot. Rozdíl v průbězích je okomentován tvrzením, že se nejedná o chybu ale vlastnost vyplývající z rozdílné velikosti vstupních dat. Místo rozšíření lookup tabulky student poněkud nešťastně ignoroval rozdílné velikosti dat a celý průběh S-křivky vypočítal na několika prvních vzorcích. Výsledný průběh rychlosti pak není hladký a S-křivka zde zcela ztrácí svůj význam. V praxi jsou lookup tabulky hojně používány a problém s rozdílným počtem vstupních dat je běžně řešen tak, aby se výrazným způsobem na výsledku neprojevil. Celkový dojem z práce je velmi smíšený. Zatím co z první části práce je zřejmé, že student danou problematiku pochopil a je schopen srozumitelně dosažené poznatky popsat, tak druhá, implementační část je velice uspěchaná. Implementaci bylo podle mého odhadu věnováno pouze několik posledních týdnů před termínem odevzdání a značně se to na kvalitě odvedené práce projevilo. I když se student některé nezdary snaží přejít bez povšimnutí, tak je možné je opakovaným čtením a porovnáním s přílohami odhalit. Vzhledem k nesplnění třetího bodu zadání (implementace na STM32F4) a částečnému splnění čtvrtého bodu zadání (SIL a PIL simulace) nezbývá než práci hodnotit jako nevyhovující (49 bodů - F). Diplomová práce sice v aktuálním stavu nesvědčí o inženýrských schopnostech studenta, ale myslím si, že po poskytnutí dodatečného času na dokončení implementace je student schopný dovést toto zadání do zdárného konce.

Navrhovaná známka
F
Body
49

Otázky

eVSKP id 119309