Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. David Krejčí
Acad. year: 2025/2026
Supervisor: Ing. Michal Kapinus, Ph.D.
Reviewer: prof. Ing. Adam Herout, Ph.D.
This bachelor's thesis addresses the design and implementation of a cross-platform teleoperation station for remote control of a rover in the context of international robotics competitions. The work analyses the specific challenges of this environment, including the physical isolation of the operator, unstable wireless connectivity, and low-latency control requirements. Based on the conducted analysis, a client-server architecture was implemented, with the server-side component running as a set of ROS 2 nodes and the client application developed in C++ using the Qt framework. The resulting system was validated through expert testing in the Gazebo simulation environment as well as with a physical rover in outdoor terrain. Testing confirmed the reliability of telemetry and control command transmission, while also identifying limitations in the resilience of video streams under degraded wireless conditions.
teleoperation, ROS 2, robot control station, video streaming, GStreamer, Qt, unreliable network, ERC, exploration rover
Date of defence
19.06.2026
Result of the defence
Defended (thesis was successfully defended)
Grading
B
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Computer Graphics and Multimedia
Study programme
Information Technology (BIT)
Composition of Committee
doc. Ing. Vítězslav Beran, Ph.D. (předseda) doc. Ing. Tomáš Martínek, Ph.D. (místopředseda) Ing. Radek Hranický, Ph.D. (člen) Ing. Petr Veigend, Ph.D. (člen) Ing. Filip Orság, Ph.D. (člen)
Supervisor’s reportIng. Michal Kapinus, Ph.D.
Aktivita pana Krejčího byla ze začátku spíše nižší, nicméně s postupem v práci se výrazně zvyšovala. Výsledkem práce je použitelná aplikace pro vzdálené ovládání robota, jež bude pravděpodobně využita v rámci European Rover Challenge pro řízení roveru Freya.
Zadání hodnotím jako standardně obtížné. Práce sice zahrnuje testování na reálném robotovi, nicméně jádro práce je především vytvoření uživatelského rozhraní pomocí standardních technologií.
Autor si literaturu vyhledával převážně samostatně.
Pan Krejčí byl aktivní především v letním semestru. Svůj postup průběžně konzultoval, na konzultace přicházel připravený a aktivně přinášel nápady na rozšíření výsledné aplikace.
Přestože autor na aplikaci pracoval průběžně, špatně odhadl náročnost dokončení svého díla a technické zprávy a obojí tak bylo dokončováno ve spěchu na poslední chvíli. Z tohoto důvodu nebylo možné uspokojivě vyřešit problémy, které se ukázaly při závěrečném testování. Technická zpráva byla průběžně konzultována a poznámky vedoucího byly zapracovány, nicméně na konzultaci finální verze již bohužel nezbyl čas.
Grade proposed by supervisor: C
Reviewer’s reportprof. Ing. Adam Herout, Ph.D.
Řešitel vytvořil velice dobře použitelnou aplikaci a sepsal stručnou, užitečnou technickou zprávu. Aplikace není ani rozsáhlá, ani mimomřádně dobře odladěná a dotažená – při testování řešitel zjistil některé skutečnosti, které volají po úpravách a které možná mohly a měly být zjištěny a zapracovány během řešení bakalářské práce.
Evaluation level: moderately difficult assignment
Řešitel vytvořil aplikaci v C++ s uživatelským rozhraním pomocí Qt a kód v Pythonu komunikující s touto aplikací. Řešení vyžadovalo práci se sítí na nízké úrovni, zpracování a zobrazení videa, připojení periferií a další netriviální úkoly. Na druhou stranu vytvořené řešení není zvlášť rozsáhlé ani flexibilní.
Technická zpráva je příjemně stručná a jde k věci. Podstatné skutečnosti o řešení jsou vhodnou formou podány. Zdůvodnění volby jazyka C++ není úplně přesvědčivé – práce s periferními ovladači i síťová komunikace jsou bez problémů možny i v modernějších jazycích vyšší úrovně. Na druhou stranu, v roveru je použit jazyk Python, přitom se jedná o zařízení pracující silně v reálném čase a na baterii. Při závěrečném testování řešitel zjistil (a transparentně komunikoval), že zvolená knihovna GStreamer pro danou úlohu není vhodná, protože je příliš citlivá na výpadky komunikace. Takové zjištění možná bylo vhodnější uskutečnit dříve a přejít na WebRTC (nebo jinou technologii) dříve. Překvapivě vytvořená aplikace ani neumožňuje připojení více instancí k jednomu roveru, což se nabízí jako přirozený případ užití.
Formální stránka textu je velice dobrá, až na občasné chyby sazby a formátování a odkazování na části zprávy pouze číslem, bez uvedení o jaký druh objektu se jedná.
Vytvořená aplikace dobře funguje a plní to, co má. Zjištění o možné nevhodnosti knihovny GStreamer možná mohl řešitel učinit o dost dříve a zvolit technologii správnější. Vytvořená aplikace také není příliš flexibilní.
Řešitel přispívá do projektu účastnícího se robotických výzev a jeho řešení patrně bude nasazeno a dále používáno a rozvíjeno.
Evaluation level: assignment fulfilled
Evaluation level: is within the usual extent
Práce s literaturou je velice dobrá a citované zdroje jsou relevantní.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová