VACEK, J. Frontier-based průzkumný algoritmus: návrh, implementace a experimentální vyhodnocení [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2025.
Student Jakub Vacek odevzdal bakalářskou práci zaměřenou na návrh a implementaci vlastního průzkumného algoritmu pro mobilního robota operujícího v neznámém vnějším prostředí. Práce je členěna do tří kapitol na 31 stranách textu, čímž student splnil minimální požadovaný rozsah. Formální stránka práce je na průměrné úrovni – text obsahuje množství překlepů a některé obrázky nejsou vhodně vysázeny. Naopak práce s literaturou je na velmi dobré úrovni; student čerpal převážně z kvalitních vědeckých článků a konferenčních příspěvků. Zadání práce hodnotím jako nadprůměrně obtížné. Student se musel podrobně seznámit s robotickým simulátorem, frameworkem ROS 2 a softwarovými koncepty běžně používanými v rámci výzkumné skupiny robotiky a umělé inteligence na ÚAMT. V rámci řešení úspěšně navrhl a implementoval vlastní algoritmus v jazyce Python s využitím vhodných knihoven a nástrojů. Všechny body zadání byly beze zbytku splněny. Student pracoval svědomitě, systematicky a často i nad rámec svých povinností – s prací začal již na konci druhého ročníku. Pravidelně docházel na konzultace, na nichž prezentoval průběžné výsledky a zapracovával mé připomínky a návrhy na zlepšení. Práce obsahuje implementaci frontier-based průzkumného algoritmu, jehož funkčnost byla ověřena v simulačním prostředí. Testování na reálném hardwaru již nebylo z časových důvodů možné, nicméně student správně pochopil principy architektury ROS 2 a vyvinutý software by tak měl být bez zásadních úprav přenositelný i do reálného nasazení. Práce jednoznačně svědčí o bakalářských schopnostech studenta. Celkové hodnocení je A / 95 bodů.
Předložená bakalářská práce se věnuje návrhu a implementaci vlastní verze algoritmu pro průzkum neznámého prostředí. Slabou stránkou práce je její prezentační úroveň, jelikož se studentovi nedaří dostatečně srozumitelně a přesvědčivě vysvětlit, jak řešil jednotlivé problémy. Doporučený rozsah je splněn. Dle mého názoru je práce členěna na příliš mnoho kapitol 3. úrovně, kdy některé mají pouze pár řádků. Po formální stránce je dokument lehce nadprůměrný, jsou dodržena podstatná typografická pravidla a množství překlepů je únosné. V mnoha případech ovšem nesedí čísla obrázků při odkazování v textu. Autor opakovaně nesprávně definuje zkratku BFS jako „breath“ místo „breadth“ first search. Kvituji sazbu v Latexu. Práce s literaturou je na nadprůměrné úrovni, student korektně cituje zdroje, jejichž výčet obsahuje solidních 35 prvků; jedná se přitom z většiny o články z recenzovaných časopisů a mezinárodních konferencí. Prvnímu bodu zadání se práce sice explicitně nevěnuje, ale z kontextu lze dovodit, že byl splněn, jinak by nemohla být realizována praktická část práce. Rešerši průzkumných algoritmů se věnuje kapitola 1, dle mého názoru splňuje relevantní požadavky, druhý bod zadání tedy považuji za splněný. Návrhu, implementaci a ověření algoritmu, tj. bodům 3 a 4 zadání, se poté věnuje kapitola 2. Vlastní návrh vycházel ze tří citovaných zdrojů. Ocenil bych, kdyby autor jasněji definoval zařazení svého algoritmu do rámce předloženého simulačního prostředí, tj. které problémy již byly vyřešeny (lokalizace, mapování, navigace). Student definuje stavový automat, většina jeho struktury je ale ryze lineární a stavy by mohly být fúzovány do jednoho (např. „Processing“). Za správné považuji spojování frontier buněk do centroidů a jejich následný clustering pomocí pro tento účel vhodně zvoleného algoritmu mean shift. Chválím i řazení zájmových uzlů do stromové struktury, přičemž by bylo vhodné se více věnovat prevenci duplicit. Z předložených obrázků i videí je patrné, že robot nedosahuje zvolených cílových souřadnic, ale přepíná se do následujícího stavu dříve; z nahlédnutí do zdrojového kódu je zřejmé, že autor definuje určité pásmo tolerance, ale v práci to není vysvětleno. V případě testování algoritmů není zřejmé, v jakých parametrech se lišily jednotlivé provedené pokusy/průzkumy. Z hlediska procentuálního vyjádření pokrytí mapy by bylo vhodnější tento poměr počítat vzhledem k dosažitelným buňkám a nikoli k celé ploše mapy. Každopádně lze konstatovat, že tyto body zadání byly splněny. Pátý bod zadání nebyl z důvodu časové tísně řešen, ale jelikož se jednalo o bod nepovinný, nepovažuji to z hlediska splnění zadání za problém. I přes výše uvedené výtky soudím, že student odvedl solidní kus práce, zadání lze totiž považovat za náročnější. Bylo nutné nastudovat velké množství teorie, seznámit se s celým prostředím ROS 2 a Gazebo, až poté bylo možné přistoupit k implementaci. Získané poznatky by bylo možné využít v autonomních robotických systémech. Práce proto rozhodně svědčí o bakalářských schopnostech studenta a doporučuji ji k obhajobě. Navrhuji hodnocení B / 88 bodů.
eVSKP id 168026