Master's Thesis

Operator's station for Perseus mobile robot

Final Thesis 4.7 MB Appendix 29.86 kB

Author of thesis: Ing. Marek Sabó

Acad. year: 2018/2019

Supervisor: Ing. František Burian, Ph.D.

Reviewer: Ing. Tomáš Jílek, Ph.D.

Abstract:

This thesis deals with the design and implementation of application for control of mobile robot. In the introductory section is discussed used platform GEARS-SMP, the principle of functionality of protocol for servo motors control, format M-JPEG and standard H.264. Further work is dedicated to analysis of designing user interface in robotic applications, available options for control devices and hardware used in remote controller. The following part focuses on the design of robotic application, especially on graphic user interface and virtual head-up display and follow-up implementation of created application in Raspberry Pi. In the end, thesis describes implemented software solution and compares resulting application with the created design.

Keywords:

Platform GEARS-SMP, Mobile robot Perseus, Robotis RX-64, M-JPEG, H.264,
Graphic user interface, HUD, Remote controller, Raspberry Pi, Qt, OpenGL

Date of defence

04.06.2019

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student obhájil diplomovou práci. Reagoval na všechny dotazy komise i na připomínky oponenta.

Language of thesis

Slovak

Faculty

Department

Study programme

Electrical, Electronic, Communication and Control Technology (EEKR-M)

Field of study

Cybernetics, Control and Measurements (M-KAM)

Composition of Committee

doc. Ing. Bohumil Horák, Ph.D. (předseda)
doc. Ing. Václav Jirsík, CSc. (místopředseda)
Ing. Tomáš Macho, Ph.D. (člen)
Ing. Soňa Šedivá, Ph.D. (člen)
doc. Ing. Václav Kaczmarczyk, Ph.D. (člen)
Ing. Lukáš Kopečný, Ph.D. (člen)

Supervisor’s report
Ing. František Burian, Ph.D.

Student Marek Sabó měl za úkol realizovat ovládací stanici k dodanému mobilnímu robotu. Jádro práce bylo směřováno na zobrazení videa h264 z kamery a vytvoření jednoduchého průsvitného UI nad obrazovým signálem. Práce měla charakter zjištění proof-of concept této problematiky.
Studentovi dodaný robot byl výsledkem předchozích prací studentů po několik ročníků zpátky, s povšechně chybějící dokumentací, kterou jsme museli dohledávat a rekonstruovat ze střípků. Student tudíž měl za úkol v rámci práce tento robot i stav dodaného hardware rozumně zadokumentovat, což se podařilo.
Student pracoval samostatně, s delšími odmlkami mezi konzultacemi. Konzultoval důležité, dokázal dobře pracovat s dodanými zdroji, a hypotézy o funkcích robotu aktivně ověřoval.
Z odevzdané práce je patrné, že studenta realizace projektu bavila. Místo proof-of-concept řešení student vytvořil a odevzdal plně funkční operátorskou stanici, zobrazující video s nízkou latencí, se zobrazenými veškerými myslitelnými možnostmi měřených informací, které byly na daném hardware dostupné. Student dokonce ve své realizaci zašel až tak daleko, že implementoval i menu, ve kterém lze nastavovat limitní hodnoty či parametrizovat celý zobrazovací systém.
Jediné, co bych mohl vytknout je design UI, který je z velké části inspirován systémem Cassandra (pozice, tvary, velikosti i významy oken, menu), student nevyvíjel vlastního úsilí a invence k vytvoření vlastních ovládacích / zobrazovacích prvků. To ale nepovažuji za závadu, protože v rešeršní části popisuje základy tvorby UI, ze kterých tento design vyplývá. Navíc s přihlédnutím k tomu, že musel být napsán celý od základu v jiném jazyce (student neměl k dispozici běhový kód programu Cassandra, pouze několik volně dostupných obrázků na internetu). Navíc tento systém citoval (21 a 23). Není tedy sporu o autorství díla ve všech směrech, práce je původní. Systém mi byl předveden v plném rozsahu a je plně funkční. Points proposed by supervisor: 95

Grade proposed by supervisor: A

Reviewer’s report
Ing. Tomáš Jílek, Ph.D.

Předložená diplomová práce se zabývá návrhem a implementací softwarového řešení pro dálkový ovladač mobilních robotů. Těžiště zadání práce shledávám především v oblasti návrhu celého řešení, studia potřebných SW knihoven a implementace aplikace pro dálkový ovladač. Všechny úkoly požadované v zadání jsou úspěšně splněny. Textová část práce je v požadovaném rozsahu.

Teoretická úvodní část je ve zcela vyhovujícím rozsahu a uvádí jen potřebné informace související s navazujícím návrhem a implementací. V této části lze nalézt několik tvrzení, se kterými nemohu souhlasit – např. v tabulce na str. 37 je uvedena podpora pro H.265 v GPU Raspberry Pi 2 (žádné v současnosti dostupné Raspberry Pi nedisponuje HW podporou pro H.265), na str. 39 je uvedeno, že operační systém „LibreELEC je od OpenELEC“ (LibreELEC je samostatný projekt, který vznikl štěpením projektu OpenELEC). Celkově lze ale chybná tvrzení považovat za nevýznamná, protože neovlivňují návrh a následnou implementaci. Část zabývající se návrhem aplikace je v některých částech zbytečně detailní a s minimální koncentrací nových informací (např. stav obrazovek pro jednotlivé situace). Naopak část popisující implementované řešení je místy stručnější, než by bylo vhodné vzhledem ke skutečnému rozsahu realizovaných úkolů. V této části např. není vůbec popsán použitý mechanizmus vyrovnání proměnné rychlosti přenosu dat videa (jitter buffer), jenž považuji za velmi důležitou součást řešení, která má významný vliv na použitelnost celého řešení. Pohledem do zdrojového kódu se zdá, že autor práce toto nijak neřešil a ponechal standardní implementované řešení uvnitř použitých knihoven, což je nejspíše příčinou častých výpadků snímků v zobrazovaném videu. Ideálním řešením by bylo, pokud by uživatel mohl ovlivnit délku vyrovnávacího zásobníku a minimalizovat v tomto případě množství nezobrazených snímků, ale na úkor vloženého zpoždění.

Autor práce významně pracuje s dostupnou literaturou, o čemž svědčí i rozsáhlejší seznam použité literatury. Úvodní teoretická část vychází z použité literatury, je ale ovšem formulována autorem. Návrh a popis realizovaného řešení je vlastním dílem autora, některé dílčí postupy řešení (např. instalace součástí) jsou převzaty. Grafická úprava práce je bez výhrad. Jazyková úprava je bez zásadnějších výhrad, některá slovní spojení nepovažuji za vhodná (např. procesor DPS). Gramatickou stránku práce nemohu zcela hodnotit, protože práce je napsána ve slovenském jazyce.

Celkovou zvolenou koncepci považuji za správnou. Z popisu realizovaného řešení je patrné, že autor práce má velmi dobré implementační schopnosti, dokáže nastudovat a do své aplikace integrovat dostupné implementované knihovny s potřebnými funkcemi.

Vzhledem k tomu, že zadání práce je zcela splněno, realizované řešení je funkční a nalezené nedostatky nepovažuji za významné, navrhuji hodnotit tuto práci klasifikačním stupněm A. Topics for thesis defence:
  1. Popište použitý přístup k vykreslování sekvence jednotlivých snímků videa. Zaměřte se na situaci, kdy kolísá přenosová rychlost kanálu použitého pro přenos paketů videa. Jakým způsobem je synchronizována snímková frekvence? Co se stane v okamžiku, kdy nejsou přeneseny všechny pakety potřebné pro vykreslení snímku, který má být v daném okamžiku právě vykreslen?
  2. Objasněte Vaše tvrzení ze str. 43: „Zapnutie má za následok okamžité zablokovanie kolies spôsobené nabudením vinutí motorov“. Uveďte jaká konstrukce motoru je pro pohon robotu použita a na čem závisí velikost proudu procházejícím jeho vinutím, pokud se robot nepohybuje a hřídele motorů se tedy také neotáčí.
  3. Uveďte důvody, proč jste jako multimediální rámec zvolil GStreamer. Porovnejte jej s dalšími Vámi uváděnými alternativami (tj. FFmpeg a VLC).
  4. Objasněte Vaše tvrzení ze str. 23: „Po dekompresii táto strata informácií má väčšinou za následok menšiu kvalitu videa, ale menší dátový tok.“
Points proposed by reviewer: 91

Grade proposed by reviewer: A

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