Bachelor's Thesis

“Design and Implementation of a Particle Filter for Localization Based on ArUco Marker Detection

Final Thesis 14.31 MB Appendix 21.05 kB

Author of thesis: Milan Kroupa

Acad. year: 2025/2026

Supervisor: Ing. Miloš Cihlář

Reviewer: Ing. Petr Gábrlík, Ph.D.

Abstract:

This bachelor's thesis focuses on the design and implementation of a localization system for the competitive robotic platform Freya, operating in challenging terrain without a GNSS signal. The proposed solution utilizes the fusion of odometry data and visual detection of ArUco markers using a Particle Filter algorithm integrated into the ROS 2 framework. The result is a fully functional software architecture including image processing, a complete particle filter algorithm, and its experimental validation.

Keywords:

mobile robot localization, particle filter, Monte Carlo localization, ArUco markers, ROS 2, sensor fusion, image processing, autonomous navigation

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student obhájil bakalářskou práci. Komise neměla žádné námitky k řešené práci. V průběhu odborné rozpravy student reagoval na dotazy oponenta. Dále zodpověděl dotazy týkající se způsobu zaměření ArUco značek ve vnitřním a venkovním prostředí, dostatečnosti a přesnosti GPS pro daný účel, průběhu soutěže a dostupnosti mapy prostředí, a důvodů, které jej vedly k umístění debayeringu do samostatného uzlu.

Language of thesis

Czech

Faculty

Department

Study programme

Automation and Measurement (BPC-AMT)

Composition of Committee

prof. Ing. Rudolf Jalovecký, CSc. (předseda)
prof. Ing. Luděk Žalud, Ph.D. (místopředseda)
Ing. Martin Čala, Ph.D. (člen)
Ing. Jakub Dokoupil, Ph.D. (člen)
Ing. Adam Chromý, Ph.D. (člen)
doc. Ing. Miroslav Jirgl, Ph.D. (člen)

Supervisor’s report
Ing. Miloš Cihlář

Bakalářská práce Milana Kroupy se zabývá návrhem a ověřením částicového filtru pro absolutní lokalizaci robota pomocí ArUco značek.

Práce je strukturována do šesti kapitol na přibližně 52 stranách textu, doplněných přílohou s vizualizací částicového filtru. Formální úprava je celkově na velmi vysoké úrovni. Prezentační úroveň studenta je taktéž velmi dobrá. Text obsahuje teoretickou rešerši, která popisuje přesně to, co je pro práci potřeba, a v průběhu práce je vysvětleno vše, co čtenář potřebuje. Student cituje z 22 zdrojů, včetně odborných monografií a časopiseckých příspěvků. Práci s literaturou hodnotím kladně.

Výstupem bakalářské práce je funkční algoritmus, který byl v průběhu semestru třikrát průběžně testován na reálném hardwaru. Algoritmus lokalizující robota na základě známých pozic ArUco značek bude použit týmem Brno Mars Rover na mezinárodní soutěži European Rover Challenge a bude jedním z hlavních zdrojů lokalizace.

Zadání hodnotím jako obtížnější, neboť student musel detailně pochopit problematiku částicových filtrů, aby mohl celý kód realizovat samostatně pro specifickou úlohu. V průběhu řešení dospěl k pokročilým metodám přesahujícím rámec bakalářského studia na VUT.

Celkově byl student velmi aktivní. Pravidelně docházel na konzultace, kde prezentoval průběžně dosažené výsledky a vhodně zapracovával připomínky. Zároveň přicházel s vlastními nápady. Velmi pozitivně hodnotím, že si student dokázal efektivně rozplánovat čas v průběhu semestru, díky čemuž jsme algoritmus mohli celkem třikrát otestovat na hardwaru.
Všechny body zadání byly splněny.

Práce jednoznačně svědčí o bakalářských schopnostech studenta. Celkové hodnocení: A / 100 bodů. Points proposed by supervisor: 100

Grade proposed by supervisor: A

Reviewer’s report
Ing. Petr Gábrlík, Ph.D.

Zadání práce je zaměřeno na návrh a implementaci lokalizačního algoritmu pro mobilní robot za použití vizuálních značek a částicového filtru v C++ a ROS 2. Zadání je sice poměrně přímočaré a neklade si za cíl návrh zcela nových algoritmů, nicméně metodu částicového filtru lze považovat za komplexní a pokročilou a její úspěšné nasazení vyžaduje hluboké porozumění problému. Zadání se tak celkově řadí mezi obtížnější.

Práce je velmi přehledně strukturovaná a jasně odděluje teoretickou, implementační a testovací část. V rámci tří kapitol pojednávajících o nezbytné teorii je pozornost věnována spíše okrajově oblastem lokalizace mobilních robotů a vizuálním značkám, naopak velmi podrobně se zabývá částicovým filtrem, který představuje jádro práce. Na patnácti stranách kapitoly 4 je opravdu důsledně popsán zmíněný algoritmus, a to nejen ve své základní podobě. Diskutovány jsou i různé přístupy k problémům převzorkování a ochuzení částic, kde autor vychází z relevantních odborných vzorů. Lze konstatovat, že s ohledem na hloubku a kvalitu textu student problematice opravdu rozumí.

Koncept celého lokalizačního systému je dobře promyšlen a jeho implementace ctí zvyklosti a doporučení frameworku ROS 2. Architektura je členěna do přehledné posloupnosti zpracování dat, od jejich získání, předzpracování, detekce značek až po lokalizaci. Jednotlivé kroky jsou vesměs reprezentovány nezávislými uzly, což představuje flexibilní softwarovou architekturu umožňující budoucí modifikace. Nejvyšší přidaná hodnota zde leží opět v implementaci samotného částicového filtru, která je autorovým dílem. Samotná třída ParticleFilter je dobře navržena a zahrnuje například i různé implementace metod pro převzorkování, mezi kterými může uživatel volit v rámci konfiguračního souboru. Výtku lze mít k obsahu vtvořeného balíčku particle_filter_package. Struktura je standardní, ale nezahrnuje soubory package.xml a CMakeLists.txt, které jsou nezbytné pro správné sestavení a nasazení v systému založeném na ROS 2.

Závěrečná fáze testování zahrnuje logickou posloupnost kroků, od spíše elementárních testů zaměřených na schopnost detekovat značky, predikovat pohyb a konvergovat za různých podmínek. Ve všech krocích jsou prezentovány důvěryhodné závěry podpořené přehlednou grafikou. Stěžejním testem bylo ověření v podmínkách podobných, jako jsou při soutěži European Rover Challenge, pro niž byl lokalizační algoritmus primárně navržen. Jedná se o venkovní prostředí s určitou hustotou specifických značek. Podle doložené grafiky v příloze A obstál algoritmus velmi dobře a je schopen robustní lokalizace. Obecně je ovšem závěrečné fáze testování popsaná spíše stručně a zasloužila by si více pozornosti. Při všech testech by bylo vhodné uvést více detailů, a především celkovou mapu s ujetou trajektorií dle navrženého algoritmu. Ideálně pak doplněnou i o trajektorii z jiného zdroje běžně používaného v robotice (odometrie, Motion Capture či odhad založený na EKF s GNSS daty). Experiment v kapitole 6.4 například postrádá informace o množství a prostorovém rozložení značek, délce trajektorie a charakteru pohybů, což snižuje vypovídající hodnotu kvantifikovaného hodnocení. O funkčnosti řešení ovšem jako vedoucí nemám žádné pochybnosti, jelikož jsem byl jednomu experimentu jako pasivní pozorovatel přítomen.

Technická zpráva má velmi vysokou úroveň a takřka nenabízí prostor pro výhrady. Má dostatečný rozsah a kvalitní formální úroveň podpořenou vlastní přehlednou grafikou. Samotné texty jsou velmi dobře čtivé, neobsahují gramatické chyby ani nadbytečné formulace. Student v dostatečné míře pracoval s literárními zdroji, které zahrnují množství odborných publikací, ze kterých objektivně čerpal jak v teoretické části, tak při implementaci. Vytknout lze jen prázdné stránky, které jsou v elektronické verzi nadbytečné.

Po všech stránkách se tak jedná o nadstandardně kvalitní práci, která i s ohledem na obtížnost zadání jednoznačně svědčí o bakalářských schopnostech studenta. Zadání bylo bez výhrad splněno a práci doporučuji k obhajobě s hodnocením A, 98 bodů. Topics for thesis defence:
  1. Proč byl pro optickou lokalizaci zvolen slovník DICT_5X5_250, a ne jiný, který byl v použitém balíčku už zahrnut?
  2. Lze algoritmus škálovat na velké mapy ve venkovním prostředí, například o velikosti hektaru či čtverečního kilometru? Jaký by to mělo dopad na výpočetní náročnost?
  3. V kapitole 6.4 není do vyhodnocení přesnosti zahrnutá počáteční fáze trajektorie, kde docházelo k inicializaci (konvergenci) filtru. Lze v praxi, bez dostupnosti referenčních dat, detekovat okamžik úspěšné konvergence?
Points proposed by reviewer: 98

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová