Master's Thesis

Multi-level modeling and coordination of actions of holonic systems utilizing ROS

Final Thesis 2.47 MB

Author of thesis: Ing. Daniel Onderka

Acad. year: 2025/2026

Supervisor: doc. Ing. Vladimír Janoušek, Ph.D.

Reviewer: Ing. Radek Kočí, Ph.D.

Abstract:

The goal of this thesis is to create a tool that enhances the orchestration capabilities of ROS-based systems. The proposed tool will use holonic principles to create a clear, modular, and hierarchical architecture. Each holon will be dynamically reconfigurable and fully replaceable at runtime. This thesis achieves stated objectives by combining ROS with Node-RED, a visual web-based application. In the designed architecture, ROS provides an environment for node execution and communication, while Node-RED handles the organization and orchestration of system components. Interconnection of these two independent systems requires definition of communication protocol and creation of a bridge between DDS and WebSocket protocols on the ROS and Node-RED sides respectively. The second part of this thesis covers the implementation of a robotic application. The created system uses ros2\_control for motor control, slam\_toolbox for mapping, and Nav2 for navigation, all of which are ROS based libraries and frameworks. This part results in a custom robot and a ROS-based system that enables autonomous navigation. Beyond the scope of this thesis, a multi-robot application was implemented in a simulated environment. This part uses Gazebo for simulation and Open RMF framework for multi-robot coordination. The conclusion of this thesis combines previous two parts to demonstrate the use of created tool on a real ROS system.

Keywords:

cyber-physical systems, robotics, modularity, orchestration, holonic architecture, Robot Operating System, ROS2, Node-RED

Date of defence

25.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

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, např. ohledně teoretického konceptu použitého k modelování. 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 - velmi dobře.

Topics for thesis defence

  1. Zadání i práce zmiňují holonistický přístup. Vysvětlete, jak přesně tento přístup ovlivnil návrh a v čem je jeho přínos - z textu to není zcela zřejmé.
  2. Na s. 18 píšete, že is-web-api je problémové a byla vytvořena vlastní implementace mostu (ros2_ws_interface a ros2_interface_api). Následně uvádíte, že byla zachována velká část is_web_api. Převzal jste tedy částečně tuto implementaci, nebo jste se jen inspiroval jejím řešením?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Intelligent Devices (NIDE)

Composition of Committee

doc. Ing. František Zbořil, CSc. (předseda)
doc. Ing. Vladimír Janoušek, Ph.D. (místopředseda)
Ing. Martin Hrubý, Ph.D. (člen)
Ing. Jaroslav Rozman, Ph.D. (člen)
Dr. Ing. Petr Peringer (člen)
Ing. Tomáš Goldmann, Ph.D. (člen)

Student dokonale pochopil smysl zadání a byl schopen samostatně vytvořit použitelný a velmi dobře otestovaný nástroj, plně odpovídající požadavkům. 

Evaluation criteria Verbal classification
Information about assignment

Zadání není jednoduché, vyžaduje dokonale pochopit ROS2, najít  použitelné technologie jako východisko pro řešení, navrhnout a realizovat potřebné prostředky a průběžně experimentálně ověřovat různé varianty řešení. Zadání bylo splněno.

Activity during solution, consultations, communication

Práce byla dokončena včas, výsledný systém byl detailně demonstrován. S definitivním textem práce jsem ale měl možnost se seznámit až po odevzdání.

Publication activity, awards

-

Work with literature

Potřebné zdroje student dohledal samostatně a použil je smysluplně,

Activity during solution, consultations, communication

Zásadní konzultace proběhly v počáteční fázi, kdy byly definitivně ujasněny požadavky zadání. Následně student pracoval převážně samostatně a jen občas informoval o stavu prací. 

Points proposed by supervisor: 95

Grade proposed by supervisor: A

Reviewer’s report
Ing. Radek Kočí, Ph.D.

Práce plně vyhovuje zadání, vytvořený nástroj a demonstrační aplikace jsou funkční a použitelné i do budoucna. Drobnou výhradu mám ke stylu psaní textu a poměrně krátké kapitoly týkající se orchestrace (s tím souvisí i otázka č. 1).

Evaluation criteria Verbal classification Points Max. points
The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Extent of the technical report

Evaluation level: is within the usual extent

Presentation level of the technical report

Základní členění textu je v pořádku, kapitoly jsou jasně vymezeny a tematicky na sebe navazují. Text obsahuje všechny relevantní informace. Student se věnuje průzkumu existujících nástrojů, hlavní čast práce je rozdělena mezi kapitolu 4 (popis vytvářeného nástroje) a kapitolu 5 (popis demonstrační aplikace). Kapitola 5 je v podstatě studie použití ROS2 pro řízení reálného robota. Kapitola 7, tedy ukázka propojení vytvořeného nástroje s demonstrační aplikací řízenou ROS2, je poměrně stručná.

Text práce je čtivý, občas psán spíše jako příběh, než technický popis. Student popisuje, mj., své úvahy a slepé cesty. Z tohoto pohledu obsahuje text více informací, než by bylo potřeba, a tím trochu snižuje celkový přehled o práci.

75 100
Formal preparation of a technical report

Typografická úprava je velmi dobrá. Po jazykové stránce nelze vytknout žádné větší prohřešky.

85 100
Work with literature

Výběr studijních materiálů je dostatečný a odpovídá tématu práce. Student odlišuje převzaté prvny od vlastní práce a vlastních výsledků.

90 100
Realisation output

Realizační výstup je plně funkční a dostatečně zdokumentován včetně způsobu instalace a spuštění. Na realizaci lze navazovat.

100 100
Usability of results

Výsledkem práce je funkční řešení pro orchestraci robotických aplikací pro ROS2 s využitím nástroje NodeRED. Může být přínosem pro komunitu zabývající se návrhem a řízením robotických aplikací.

The difficulty of the assignment

Evaluation level: more difficult assignment

Práce se věnuje orchestraci robotických aplikací vytvořených v prostředí ROS2 včetně možnosti dynamické rekonfigurace. Součástí řešení má být i demonstrační aplikace pracující s fyzickým i simulovaným robotem. Objemem prací považuji zadání za mírně obtížnější.

Topics for thesis defence:
  1. Zadání i práce zmiňují holonistický přístup. Vysvětlete, jak přesně tento přístup ovlivnil návrh a v čem je jeho přínos - z textu to není zcela zřejmé.
  2. Na s. 18 píšete, že is-web-api je problémové a byla vytvořena vlastní implementace mostu (ros2_ws_interface a ros2_interface_api). Následně uvádíte, že byla zachována velká část is_web_api. Převzal jste tedy částečně tuto implementaci, nebo jste se jen inspiroval jejím řešením?
Points proposed by reviewer: 85

Grade proposed by reviewer: B

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