Bachelor's Thesis

Implementation of obstacle avoidance for UAS using data from 2D LiDAR and 3D camera

Final Thesis 8.71 MB Appendix 16.54 kB

Author of thesis: Bc. Štěpán Smejkal

Acad. year: 2025/2026

Supervisor: Ing. Miloš Cihlář

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

Abstract:

This bachelor's thesis deals with the design and implementation of an algorithm for autonomous obstacle avoidance for unmanned aerial vehicles (UAS) using data from 2D lidar and 3D cameras in the ROS2 environment. The first part of the thesis focuses on the analysis of current approaches to the problem, mapping methods (SLAM) and algorithms for finding the optimal route. The second chapter is devoted to the description of the system architecture and the use of the simulation tools Gazebo and RViz2. The last part of the thesis describes the implementation, which includes the integration of the RTAB-Map mapping subsystem, the transformation of the occupancy grid into the form of a safety zone (Costmap) and a planner based on the $A^*$ algorithm. The functionality and reliability of the entire solution were successfully verified in a series of measurements in several simulation scenarios.

Keywords:

Obstacle avoidance, Autonomous navigation, Unmanned Aerial Vehicle, ROS2,  SLAM, Gazebo, 3D camera, 2D LiDAR

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaDznamka

Grading

D

Process of defence

Student obhájil bakalářskou práci s výhradami. V rámci obhajoby dokázal přesvědčit komisi o správnosti svých postupů a navrženého řešení. V průběhu odborné rozpravy reagoval na dotazy oponenta. Dále zodpověděl dotazy týkající se možnosti dalšího zrychlení globálního přeplánování trajektorie, možnosti zavedení korekce na náklon, příčin neúspěšných pokusů a způsobů zvýšení spolehlivosti řešení, a dále toho, jak dospěl k hodnotě inflation radius a zda ji lze stanovit jinak než metodou pokus–omyl.

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 Štěpána Smejkala se zabývá implementací obstacle avoidance pro UAS. Zadání práce je celkově komplexní a obtížnější.

Práce je strukturována do 3 kapitol na 34 stranách textu, což splňuje minimální textový rozsah práce. Formální úprava a úroveň zpracování textu jsou na nízké úrovni. Práce obsahuje řadu chyb, překlepů a nejasných formulací. Text je místy psán více vypravěčsky než vědecko-technicky.

Práce čerpá z 28 zdrojů, ale seznam literatury má výrazné slabiny. Například asi 12 citací se odkazuje na online dokumentaci ROS 2, přičemž většina z nich by šla sjednotit do 2–3 citací. Zároveň v textu často chybí zdroj. Například Google Cartographer nemá v textu citaci, přičemž text byl určitě převzat.

Student v první kapitole provedl rešerši přístupů k autonomní navigaci a detekci překážek. Vybral vhodné metody, některé byly staršího data, ale stále vhodné, funkční a použitelné. V rámci práce pracoval se simulátorem, který se používá ve skupině robotiky na ÚAMT. Naučil se se systémem rychle a spolehlivě pracovat a pochopil nutný software, který na dronu běží. Student používal RTAB-Map, což je komunitou hojně používaný mapovací balíček, a úspěšně v mapě implementoval plánovací algoritmus. Výsledky jsou prezentovány nešikovně, když přecházejí od implementačních rozhodnutí k vyhodnocení chování algoritmu a výsledky jsou obtížně pozorovatelné.

Student na práci pracoval od září 2024, neboť v průběhu práce prodlužoval studium. Na práci pracoval ve vlnách. Nejprve v průběhu semestrální práce na podzim roku 2024 a poté v zimě a na jaře letošního roku (2026).

Celkové hodnoceni je D / 65 bodů. Points proposed by supervisor: 65

Grade proposed by supervisor: D

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

Práce se zabývá návrhem a implementací algoritmu pro vyhýbání překážkám pro bezpilotní letadlo typu multikoptéra. Zadání je poměrně stručné a přímočaré, ale specifikuje i použití konkrétního jazyka a frameworku a konkrétních senzorů umožňujících detekci překážek. Bakalářská práce se tak zabývá pouze algoritmickou částí a testováním v předpřipraveném simulačním prostředí.

Struktura práce je přehledná, dělí se pouze do tří hlavních kapitol. První kapitola představuje teoretický rozbor a pokrývá takřka všechna potřebná témata: senzory a algoritmy pro mapování, plánování tras a pro vyhýbání překážkám. Úskalí spočívá v rozsahu, který zabírá, včetně mnohých obrázků, pouze sedm stran. U senzorů se čtenář pouze povrchně dočte o fyzikální podstatě 2D lidaru a hloubkové kamery, ale například údaje o dosahu, přesnosti, rozlišení, datovém toku, provozních omezeních a fyzických vlastnostech zcela chybí. S ohledem na téma práce se přitom jedná o podstatné údaje. Kapitola popisující SLAM sice shrnuje známé implementace, ale zcela chybí popis jiných přístupů k mapování a vysvětlení, proč byl zvolen právě SLAM. Problém samotného vyhýbání překážkám zcela jistě nevyžaduje SLAM, který do řešení zanáší velkou komplexitu a potýká se s problémy se škálováním na větší mapy. Pokud bylo cílem provádět lokalizaci a mapování v prostředí bez GNSS, mělo tak být uvedeno, ale v zadání tento požadavek není. Dále jsou opět velmi stručně popsány běžné algoritmy pro plánování trajektorie a vybývání překážkám. V tomto kontextu ale zcela chybí popis způsobů reprezentace mapy, o které se student často zmiňuje a úzce souvisí s řešeným problémem.

Druhá kapitola, zaměřující se na systémovou architekturu, se na pouhých dvou stranách včetně obrázků omezuje na stručný popis nástrojů, které byly specifikovány zadáním.

Poslední kapitola popisuje zvolené řešení a jeho implementaci spolu s testováním a vyhodnocením. Student zvolil přístup založený na dvou senzorech, 2D lidaru a hloubkové kameře, což je s ohledem na jejich rozdílné vlastnosti poměrně vhodné řešení. Pro tvorbu mapy okolí zvolil SLAM algoritmus RTAB-Map, přičemž mapa samotná je ve výsledku reprezentovaná ve formě costmapy. Vyhýbání překážkám, tedy výpočet nové, bezkolizní trajektorie je realizováno pomocí algoritmu A*. Jedná se o řešení, které může fungovat a plnit zadaný úkol, ale pro dynamické přeplánování trajektorie okolo lokálních překážek je spíše těžkopádné a zbytečně komplexní. Řešení spíše odpovídá složitější úloze lokalizace a navigace v neznámém prostředí s překážkami. Student se v této kapitole často vrací k teorii, kterou v úvodní kapitole popsal nedostatečně. Ze stručného popisu realizace nelze pochopit celou řadu implementačních detailů, například zda algoritmus inflace implementoval student sám, co jsou to moduly planner_manager a control_manager, jak často a za jakých podmínek se volá přeplánování, nebo jaká je struktura ROS 2 projektu a jaké balíčky jsou vlastním dílem.

Vyhodnocení, které proběhlo po experimentálním nastaveím velikosti inflace, je založeno na testování v simulátoru na třech scénářích sestávajících z krátké trajektorie s různým počtem překážek, přičemž každý scénář je čtrnáctkrát opakován. Nastavení experimentálního testování považuji za docela vhodné. Prezentované výsledky dokládají, že řešení jako celek funguje a dochází k aktivnímu vyhýbání překážkám. Objektivní závěry jdou vyvozovat pouze s velkou opatrností, protože nelze zcela odlišit, zda je pozorované chování způsobeno plánovačem, šumem v senzorech či špatnou estimací SLAM algoritmu. Stejně tak není jasné, o čem vypovídají zvolené metriky, zejména porovnání počtu naplánovaných bodů.

Po formální stránce je technická zpráva na dobré úrovni, je přehledně formátovaná a zahrnuje převážné vlastní přehledné grafické výstupy. Práce je poměrně dobře čtivá a neobsahuje významnější množství gramatických nedostatků. Student pracoval v dostatečné míře s odbornou literaturou, která se týká především relevantních algoritmů. Jako největší slabinu ovšem považuji délku práce, která je na spodní hranici očekávaného rozsahu bakalářské práce. Spousta důležitých detailů v teoretické, ale zejména implementační části nebyla popsána dostatečně a čtenář nemůže získat ucelený pohled na realizované řešení. Odevzdané soubory v elektronické verzi nepředstavují kompletní projekt, který by šel reprodukovat.

I přes uvedené výhrady lze konstatovat, že student implementoval nelehkou úlohu a splnil hlavní cíl zadání, tedy vyhýbání překážkám. Student by měl nicméně objasnit, jakým způsobem splnil bod č. 3 zadání. Práci doporučuji k obhajobě s hodnocením D, 68 bodů. Topics for thesis defence:
  1. Objasněte, jaké části řešení jsou Vaším dílem a jaké jsou převzaté. Zejména z pohledu použitých ROS 2 balíčků.
  2. Jak často a za jakých podmínek se volá přeplánování trajektorie?
  3. Výsledek navigace v prvním scénáři se jeví jako velmi neoptimální, viz Obr. 3.13. Neměla by být v prostředí bez překážek ideální trajektorií přímka? Vysvětlete pozorované chování.
  4. Vysvětlete zvolené metriky testování, zejména význam počtu naplánovaných bodů. Lze v některém ze scénářů považovat vyšší počet bodů za indikaci méně optimální trajektorie?
Points proposed by reviewer: 68

Grade proposed by reviewer: D

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