HÁLA, D. Lokalizační systém založený na optických značkách [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2024.
Cílem diplomové práce bylo navrhnout a realizovat lokalizační systém založený na optických značkách se zaměřením na lokalizaci mobilních robotů ve vnitřním prostředí. Řešení mělo být sestaveno z již existujících, široce používaných softwarových knihoven a frameworků a umožnit uživatelům jednoduché nasazení v libovolné místnosti a na libovolném robotu. Obecný koncept řešení byl zadán vedoucím, student měl za úkol provést softwarovou implementaci a ověření. Pro splnění cílů se musel student seznámit s několika komplexními softwarovými nástroji a dále pochopit principy a aspekty práce s kamerou jakožto hlavním lokalizačním snímačem. Tyto úkoly splnil v dostatečné míře pro splnění požadavků. Samotná implementace řešení probíhala postupně a iterativně s celou řadou slepých cest, což se dá u tohoto typu práce do jisté míry očekávat. Zejména v oblasti ověření funkčnosti a přesnosti lokalizační metody se student dopouštěl metodických nepřesností a unáhlených závěrů, což mělo za následek zdržení práce. Na druhou stranu si vždy flexibilně poradil s implementačními problémy, které s ohledem na ne vždy kvalitní dokumentaci knihoven nebyly jednoduché. Přenos vlastního řešení na robotickou platformu zvládl student víceméně samostatně a podařilo se mu ve spolupráci s vedoucím provést základní ověření lokalizačních schopností v rámci jedné místnosti ÚAMT. Tato závěrečná část byla bohužel prováděna už v časovém skluzu a zasloužila by si jeden až dva týdny navíc. I přes to je odevzdané řešení funkční, nicméně pro spolehlivé využití bude vyžadovat ještě další ověřování a ladění. Student byl po celou dobu semestru aktivní, svůj postup pravidelně konzultoval a povětšinou zapracovával připomínky vedoucího. Technická zpráva je na vysoké formální úrovni a v rámci doporučeného rozsahu. Je přehledně členěná a dokumentuje všechny aspekty práce, často má ovšem vypravěčský charakter, což narušuje technický dojem. Charakter práce nevyžadoval ve velké míře práci s odbornými literárními zdroji, využity byly zejména dokumentace k použitým softwarových nástrojům. Student splnil stanovené zadání a práci doporučuji k obhajobě; vzhledem k výše uvedeným připomínkám hodnotím práci stupněm C, 78 bodů.
Cieľom diplomovej práce bolo vytvoriť a otestovať lokalizačný systém pre mobilnú robotickú platformu, ktorý využíva obrazové rozpoznávanie optických značiek rozmiestnených v dopredu známych polohách. Zadanie považujem za stredne náročné. Samotná úloha detekcie a práca s kamerou sú už vyriešené v rámci využívaných nástrojov, avšak študent si musel ich funkčnosť overiť a ich výstup koncepčne zaintegrovať do väčšieho celku. Celkový rozsah práce od úvodu po záver tvorí 61 strán, čo spoľahlivo spĺňa doporučený rozsah. Z prezentačného hľadiska práca často pôsobí "vyprávačsky" a stráca charakter exaktnej technickej rozpravy. Gramatickú úroveň si hodnotiť nedovolím, avšak v celej práci sa zreteľne vyskutujú preklepy alebo nedokončené frázy (napr.: str 14 - "Nekonečně malý bod v prostoru je .", str. 34 - "Tím může být kniha, krabice, nebo .", str. 37 - "Pro samotným výpočet transformace...", str. 56 - "...otočit jeho směr pouhým vynésobením...", str. 21 - "Kalibrace pomocí šashovnice", ...). Celkový počet zdrojov, ktoré autor uvádza je 43, avšak [7] a [8] sú identické, rovnako ako [34] a [36]. Zdroje [6-9], [17], [19], [32-33], [42] nie sú v texte referencované vôbec. Väčšina využitých zdrojov sú internetové blogy alebo edukatívne videá. Aj keď tieto zdroje do veľkej miery môžu poskytovať dôverihodné informácie, vytvára to celkovo neobdorný dojem. Aj samotní autori videí, častokrát využivajú a uvádzajú odborné texty ako primárne zdroje a možno by bolo vhodnejšie v práci preberať priamo tie. Anotácie obrázkov a výpisov su častokrát nejednoznačné (napr.: 2.18 Schéma pokusu, 2.4 Graf aplikace, 2.21 Průběh měření, ...). Autor sa snažil obrázky umiestňovať do textu tak aby zapadali do kontextu, avšak prehľadnejšie by podľa mňa bolo ak by boli v texte priamo referencované. Toto autor vôbec nevyužil napriek tomu, že je práca napísaná v LaTeXu. Koncepčne je práca je rozdelená na dve hlavné časti. Prvá časť veľmi stručne popisuje všetky potrebné teoretické koncepty, čím zároveň aj plní prvý bod zadania. K tejto časti mám však niekoľko výhrad. V kapitole 1.1 autor popisuje rozdiely medzi formou komunikácie "topic" a "service". U forme "topic", ktorá využíva kontinuálny tok dát uvádza, že nie je potrebná akákoľvek časová synchronizácia medzi komunikujúcimi stranami. Autor síce správne poznamenal, že táto forma komunikácie je asynchrónna, to však nemá súvis s časovou synchronizáciou komunikujúcich strán. Tu by bolo vhodné sa zamyslieť za akým účelom tým pádom majú posielané správy svoje časové značky, a ako by mohli byť využité ak by každá strana používala odlišnú časovú referenciu. Kapitola 1.5 popisuje princíp detekcie značky v kamerovom obraze, ktorý využíva nástroj Aruco. Ku kompletnosti mi tu však chýba princíp detekcie samotnej polohy značky v danom priestore, ktorý je práve tým hlavným využívaným výstupom. Tak isto mi v texte chýba nejaký konzistentný popis súradnicových systémov (rozdiel medzi kamerou a robotom). Autor zjavne od začiatku pracoval iba s lokalizačným nástrojom Aruco a už neskúmal ani neporovnal žiadné iné obdobné nástroje. Druhý bod zadania však aj napriek tomu môžem konštatovať za dostatočne splnený, keďže autor zdánlivo pochopil hlavný princíp týchto systémov a úspešne jeden z nich zaintegroval do svojho riešenia. Druhá časť práce sa venuje praktickej práci štdudenta. Tretí bod zadania je prehľadne a v plnej miere splnený v kapitolách 2.3 a 2.4. Body 4, 5, a 6 sú splnené v kapitole 2.5. Tu mi prídu trochu zmätočne vložené podkapitoly 2.5.1 Výběr jazyka a 2.5.3 Asynchronní programování. V kapitole 2.1 autor popisuje problémy počas kompilácie podporných nástrojov. Nie je však zrejmé z akého dôvodu musia byť tieto balíčky lokálne kompilované, keď sú rovnako dostupné a dajú sa priamo inštalovať zo štandardných repozitárov. Pri obrázku 2.2 uvádza nutnosť špecifickej verzie programu OpenCV. Toto však nie je vynútene podmienkou EXACT, tu je nutné aby bola verzia kompatibilná s uvedenou, čo pravdepodobne splnené nebolo. Z textu mám dojem, že autor úplne nepochopil význam slova asynchronný, ktoré prakticky zamieňa s paralelným viacjadrovým programovacím modelom. Asynchrónne operácie môžu byť vykonávané "konkurentne" (z ang. concurrent) v jedinom vlákne práve tým, že operácia počas čakania vlákno neblokuje a uvolnuje ho pre inú operáciu (nie je to paralelizácia). Tak isto, ak by si autor prečítal súvisiacu dokumentáciu priamo k použitému jazyku, zistil by, že len samotným zavolaním príkazu await sa proces ešte konkurentne nespustí, na to musia byť funkcie spustené cez exekútor, ktorý ich týmto spôsobom realizuje. Celkové riešenie autora bolo v dostačujúcej miere preukázané a prakticky overené. Avšak stále si vyžaduje väčšie množstvo práce pre plnohodnotné nasadenie. Práca napriek všetkým mojím výhradám svedčí o magisterských schopnostiach v uspokojivej miere a odporúčam ju k obhajobe s hodnotením C.
eVSKP id 160059