Bachelor's Thesis

Utilization of Robotic Operating System (ROS) for control of collaborative robot UR3

Final Thesis 5.81 MB Appendix 26.73 MB

Author of thesis: Ing. Martin Juříček

Acad. year: 2019/2020

Supervisor: Ing. Roman Parák, Ph.D.

Reviewer: prof. Ing. Radomil Matoušek, Ph.D.

Abstract:

The aim of the bachelor's thesis is to create a control program, its subsequent testing and verification of functionality for the collaborative robot UR3 from the company Universal Robots. The control program is written in python and integrates control options through the Robotic Operating System, where a defined point can be reached using pre-simulated trajectories of Q-learning, SARSA, Deep Q-learning, Deep SARSA, or using only the MoveIT framework. The thesis deals with a cross-section of the topics of collaborative robotics, Robotic Operating System, Gazebo simulation environment, feedback and deep feedback learning. Finally, the design and implementation of the control program with partial parts is described.

Keywords:

Collaborative robotics, Universal Robots, ROS, Gazebo, reinforcement learning, deep reinforcement learning, deep neural network, cobot, UR3, Keras, OpenAI, MoveIT, control robotic arm

Date of defence

15.07.2020

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student uvedl komisi do problematiky své BP. Oponent neuvedl dodatečné otázky. Komise položila otázky: připomínka k předimenzování obsažnosti prezentaci (doc. Hammer)

Language of thesis

Czech

Faculty

Department

Study programme

Engineering (B3S-P)

Field of study

Applied Computer Science and Control (B-AIŘ)

Composition of Committee

doc. Ing. Jan Roupec, Ph.D. (předseda)
doc. Ing. Miloš Hammer, CSc. (místopředseda)
doc. Ing. Renata Wagnerová, Ph.D. (člen)
doc. Ing. Zdeněk Němec, CSc. (člen)
Ing. Olga Davidová, Ph.D. (člen)

Supervisor’s report
Ing. Roman Parák, Ph.D.

Předložená bakalářská práce se zabývá tématem Využití Robotického operačního systému (ROS) pro řízení kolaborativního robota UR3.

Student Martin Juříček měl za úkol provést rešerši v oblasti kolaborativní robotiky, podrobně zpracovat informace o firmě Universal Robots a kolaborativním robotu UR3. Teoretická část práce se dále zaměřovala na Robotický Operační Systém (ROS) a jeho využití v průmyslové oblasti. Praktická část práce se zaměřuje na návrh a implementaci vlastního řešení pro řízení kolaborativního robotu UR3 pomocí systému ROS. Řešení se skládá z představení různych typů posilovaného učení (Q-learning, SARSA), a jejího rozšíření pomocí neurónových sítí (DQN, DSARSA) s  následnou implementací v systému pomocí zvoleného programovacího jazyka. Student v závěru kapitoly poukazuje na výsledky testování a porovnání jednotlivých typů algoritmů posilovaného učení. Závěrečná část práce se zaměruje na výsledné testování implenetované do reálného typu kolaborativního robotu, které v prvotní části obsahovalo konfiguraci systému ROS, integraci s reálným zařízením a výsledné nahráni trajektorie.
   
Student splnil všechny části bakalářské práce bez výhrad. Student z vlastní iniciativy rozšířil své zadání o aplikaci několik pokročilých algoritmů posilovaného učení pro plánování robotických trajektorií.

Student pracoval na práci samostatně. Všechny postupy konzultoval s vedoucím práce. Při tvoření praktické části chválím studentovu nezávislost a schopnost v reálném čase přicházet s novými nápady na vylepšení.

Chválím studentovu aktivitu při tvorbě bakalářské práce, která obnášela nadstandartní objem času a úsilí v laboratoři i mimo něj. Rovněž chválím studentovu programátorskou zručnost a schopnost psát algoritmus přehledně a srozumitelně.
   
Taktéž vyzdvihuji komplexnost řešení i její praktický potenciál.

Písemná část práce, stejně jako praktická je na vysoké úrovni a nad rámec přesahuje kritéria pro tvorbu bakalářské práce.

Předloženou práci doporučuji k obhajobě a hodnotím známkou A / výborně.
Evaluation criteria Grade
Splnění požadavků a cílů zadání A
Postup a rozsah řešení, adekvátnost použitých metod A
Vlastní přínos a originalita A
Schopnost interpretovat dosažené výsledky a vyvozovat z nich závěry A
Využitelnost výsledků v praxi nebo teorii A
Logické uspořádání práce a formální náležitosti A
Grafická, stylistická úprava a pravopis A
Práce s literaturou včetně citací A
Samostatnost studenta při zpracování tématu A
Display more

Grade proposed by supervisor: A

Cílem předložené bakalářské práce bylo v podstatě nastudovat ROS (Robotický operační systém), a ten využít k řízení kolaborativního robotu UR3. Součástí byla rešerše robotů ze „stáje“ UR (Universal Robots) a zmíněného ROS a simulačního prostředí Gazebo. Praktickým výstupem byl řídicí program, simulace a její validace na robotu UR3. Toto lehké konstatování prakticky představovalo nastudování a propojení různých knihoven, pochopení jejich filosofie a začlenění metod AI jejichž doména přesahovala teoretický základ studenta. Svým rozsahem, téměř 90 stran, práce hluboko překračuje běžné meze. V kontextu kapitoly 5, lze zdůraznit její velmi pěkné zpracování a v podstatě integrální část celé práce. Práce je členěna do sedmi kapitol, vč. úvodu a závěru. Při užívání slova robot, bych autoru doporučil toto nastudovat: roboti vs. roboty. Práce je psána ve svěžím stylu, s dobrým logickým členěním a minimem překlepů.

Kapitola 2. je vstupem ke kolaborativní robotice. Obsahuje známé věci popsané v dobře strukturované formě. Absenci zmínky o robotu ABB YuMi, který je součástí laboratoře ÚAI, považuji za nedbalost.
Kapitola 3. je již plně zaměřena na UR a stručně uvádí historii i portfolio těchto robotů.
Kapitola 4. se věnuje ROS. Tento OS není dosud předmětem standardní výuky na ÚAI – autor musel tento OS pro účely dalšího využití samostatně studovat. Ve členění podkapitol shledávám rezervu, měla zde existovat kapitola pojednávající o struktuře ROS a do ní měl autor začlenit kapitoly značené 4.3, 4.4. Úvod kapitoly 4.3 je k drobné revizi. Struktura OS je běžně tvořena jádrem, pak V/V ovladači, pak shellem a podpůrnými programy; bavit se lze o monolitické, či vrstvené struktuře oddělující HW od SW; jádro zajišťuje správu procesů a prostředků atd. V tomto pohledu není ROS tak úplně OS, protože sám pracuje pod jiným OS. Protože však ROS zajišťuje HW abstrakci např. k UR3 či senzorům, low-level kontrolu zařízení a má mnoho funkcí jako framework, je možné brát ROS jako OS pro tato zařízení. Informace o názvu V-REP může být opravena na CoppeliaSim (str. 42). V části komparativních testů výkonu (str. 44) jsem nenašel informaci o užitých fyzikálních enginech. Přes uvedené poznámky, představuje kapitola 4 výbornou práci a lze ji doporučit k rychlému průniku do problematiky i v edu kontextu. Kapitolu 5 bych označil jako velmi zdařilou, byť v kontextu zadání BP naddimenzovanou. Ve vztahu (4) by bylo vhodné uvést symbol pro nové Q, např. Qnew. Kapitola 6. je popisem praktické realizace a podtrhuje excelentnost celé práce.

S plnou vážností konstatuji, že tato bakalářská práce by byla snadno obhajitelnou diplomovou prací. Předloženou bakalářskou práci doporučuji k obhajobě a hodnotím známkou A/ výborně.
Evaluation criteria Grade
Splnění požadavků a cílů zadání A
Postup a rozsah řešení, adekvátnost použitých metod A
Vlastní přínos a originalita A
Schopnost interpretovat dosaž. výsledky a vyvozovat z nich závěry A
Využitelnost výsledků v praxi nebo teorii A
Logické uspořádání práce a formální náležitosti A
Grafická, stylistická úprava a pravopis A
Práce s literaturou včetně citací A
Display more

Grade proposed by reviewer: A