JIRKA, L. Navigace dronu v neznámém 3D prostředí s vyhýbáním se překážkám [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2024.

Posudky

Posudek vedoucího

Raichl, Petr

Úkolem studenta bylo vytvořit programové řešení v ROS2, které umožní simulovanému dronu pomocí PX4 SITL pohybovat se po předem definované trase v prostředí Gazebo, přičemž se za pomoci dat ze stereocamery bude vyhýbat předem neznámým překážkám, které se na trase vyskytnou. Text práce je kratšího rozsahu - 21 stran úvod až závěr včetně mnohdy zbytečných obrázků. V práci se vyskytuje pruměrný počet překlepů. Struktura práce nebyla vhodně zvolena - v části praktického řešení se objevuje teorie algoritmů pro vyhýbání se překážkám a popis funkce stereocamery. Dále není nikde v textu odkazováno na obr. 4.1 a 4.2. V teoretické části textu student uvádí různé nepřesnosti, např. že ROS je pro roboty to samé, jako Windows pro PC. Obecně student věnuje velký prostor teorii ROS, nicméně čerpá z webové stránky, která se věnuje popisu ROS1. Práce se měla věnovat ROS2. Na konci popisu ROS student pouze zmiňuje existenci ROS2. Ve výsledku tzn., že teorie, kterou popisuje k ROS není relevantní k verzi ROS použité v práci. Dále student popisuje navržené programové řešení. Bohužel kromě uvedení blokového schématu 4.5 je popis zcela nevhodný - student se odkazuje na jednotlivé funkce, které má v kódu, co v kterých funkcích dělá, nicméně pro čtenáře to nedává smysl. Také popis spouštění simulace je nevhodné uvádět v textu řešení, patří spíše do přílohy k popisu programů. Zadání student splnil, výsledky prezentoval prezenčně i ve formě videa. Bohužel v algoritmu, který vytvořil pro vyhýbání se překážkám, nevyužil potenciál dat ze stereocamery. Data ze stereocamery používá pouze pro detekci překážky a rozhodnutí se, kterým směrem se dron otočí o 90. Následně letí cca 1m dopředu a otáčí se zpět v původním směru. Zásadní nevýhodou řešení je, že v průběhu manévru nedostává aktuální data ze stereocamery, takže nemůže reagovat na aktuální situaci a manévr provádí "naslepo". Po 1 iteraci manévru obnovuje pohyb v mission modu po původní trase a může znovu reagovat na aktuální data ze stereocamery. Výsledkem je nežádoucí iterativní pohyb dronu, kde se opakuje operace zastavení, pootočení, pohyb dopředu, otočení zpět. Důvodem tohoto chování je, že student celé řízení provádí v jednom callbacku, čímž blokuje zpracování aktuálních dat ze stereocamery, případně i dalších např. bezpečnostních na které nebude schopen reagovat. Bohužel řešení založené na stavovém automatu, které by tyto nevýhody odstranilo, se studentovi nepodařilo zprovoznit. Student se na konci semestru ocitl pod časovým tlakem, jehož výsledkem je nedotažený i když funkční algoritmus pro vyhýbání se překážkám. I přes uvedené nedostatky doporučuji práci k obhajobě se známkou E - 58b.

Navrhovaná známka
E
Body
58

Posudek oponenta

Klouda, Jan

Student Lukáš Jirka se ve své práci zabývá navigací dronu v neznámém 3D prostředí s vyhýbáním se překážek. V prvních třech kapitolách podrobněji popisuje framework ROS2, simulační prostředí Gazebo a simulaci (SITL) autopilota PX4. Ve čtvrté kapitole je popsané řešení práce. Práce má pouze 22 normostran a nedosahuje tedy doporučeného rozsahu. V práci se objevuje několik formálních chyb, jako je špatné citování (číslo s citací je uprostřed odstavce). Obrázky jsou často roztažené a obsahují jen ilustraci loga použitého softwaru. Také často na obrázky není odkazováno, nebo je odkazováno chybně (místo: „Na obrázku 4.5“ je například: „Na obr. 4.5). V textu se také objevuje pár překlepů. V textu se objevuje několik vyjádření, které nejsou plně srozumitelné jako například: „cílem ROS není být frameworkem s nejvíce funkcemi, je to podpora opakovaného využití kódu ve výzkumu a vývoji robotiky“ (kapitola 1.2). Student také mírně zmateně ve svém textu popisuje některé skutečnosti, třeba že s dronem v bezpečnostním módu „Disarmed“ není možné manipulovat. V práci chybí popis vytvořeného řídícího kódu, algoritmu, nebo alespoň jeho části. Vybraný algoritmus, který student vypracoval, je jedním z nejjednodušší řešení problému vyhýbání se překážkami. Algoritmus nevyužívá změnu výšky pro vyhnutí se překážce, ale pouze rozhodne, z jaké strany překážku obletí. Zásadní chyba ve zpracování tohoto algoritmu je, že nepřicházejí data ze stereo kamery a lze tak během vyhýbacího manévru do jiné překážky. Algoritmus je také nastaven tak, že pouze provede jen krátký let ve vybraném směru a dále pokračuje v misi. To ústí k mnohonásobnému přepnutí mezi misí a „Offboard“ módem, který se využívá při manévru vyhýbání. Toto přepínání působí během manévru neustálé natáčení dronu. Pozitivně hodnotím blokové schéma (kapitola 4.5) vytvořeného řídícího systému a zobrazení výsledné 2D trajektorie dronu (kapitola 4.6). Tímto je tak názorně předvedena funkčnost vytvořeného řídícího kódu/algoritmu. Student splnil všechna zadání práce. Seznámil se s vybranými simulacemi a algoritmy a na základě krátké rešerše vytvořil systém pro řízení bezpilotního prostředku v neznámém prostředí. Projevil znalost ve frameworku ROS2, v simulačním prostředí Gazebo a autopilotu PX4 SITL. Výsledky prezentuje pomocí videa ze simulačního prostředí a zobrazením 2D trajektorie letu v textu. Při zhodnocení všech nedostatků práce a přihlédnutí k pozitivům navrhuji známku E – 55b.

Navrhovaná známka
E
Body
55

Otázky

eVSKP id 160036