Bachelor's Thesis

Control of a manipulator model using ESP32

Final Thesis 10.29 MB

Author of thesis: Bc. Petr Oblouk

Acad. year: 2025/2026

Supervisor: Ing. Matěj Turinský

Reviewer: doc. Ing. Zdeněk Bradáč, Ph.D.

Abstract:

This thesis presents the design of a printed circuit board (PCB) and firmware for controlling a robotic manipulator model built using hobby RC servomotors. The system is based on the ESP32-S3 microcontroller. The firmware is developed in the ESP-IDF environment and runs on the FreeRTOS real-time operating system, with emphasis on precise timing of servo control signal generation, feedback sampling, and communication with a supervisory system. Commands and status information are transferred over a CAN bus, with the option to extend the system with additional industrial interfaces. The controller supports both simple motion commands and a selected subset of CNC G-code, translating them into joint-space trajectories subject to velocity and smoothness constraints. The design also includes mechanisms for diagnosing the operational status of network nodes and provides the possibility of synchronizing the motion of multiple manipulators. The functionality of the proposed solution is verified on a physical model using test scenarios focused on motion smoothness, control-loop timing, and communication reliability.

Keywords:

robotic manipulator, RC servomotors, embedded control system, ESP32-S3, PCB design, FreeRTOS, CAN bus, G-code

Date of defence

17.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student obhájil bakalářskou práci. Komise neměla žádné námitky k řešené práci. V průběhu odborné rozpravy student odpověděl na dotazy oponenta týkající se způsobu určení hodnot součástek na vytvořené PCB a popisu implementovaných ochran napájecího obvodu. Komise se studentem diskutovala o výsledcích testovacích scénářů měřících doby vykonávání výpočtu ve smyčce.

Language of thesis

Czech

Faculty

Department

Study programme

Automation and Measurement (BPC-AMT)

Composition of Committee

doc. Ing. Zdeněk Slanina, Ph.D. (předseda)
doc. Ing. Zdeněk Bradáč, Ph.D. (místopředseda)
Ing. Karel Horák, Ph.D. (člen)
Ing. Stanislav Pikula, Ph.D. (člen)
Ing. Miloslav Richter, Ph.D. (člen)

Supervisor’s report
Ing. Matěj Turinský

Student se seznámil s oblastí programování procesorů ESP32 spolu s návrhem DPS. Musel si také osvojit komunikační technologii CAN a základní algoritmy pro řízení kinematiky robota.
Vytvořil embedded řídicí systém 6-osého robotického modelu manipulátoru a odzkoušel jeho funkčnost sérii testů polohování a opakovatelnosti. Robot se navíc ovládá pomocí vytvořeného webserveru zadáním G-kódu. Na této práce je možné dále stavět a zpřesňovat pohyb v jednotlivých osách.
Práce neobsahuje závažné formální nedostatky.
Student zezačátku potřeboval více uvést do problematiky, ale dále po detailním vysvětlení pracoval samostatněji. Points proposed by supervisor: 88

Grade proposed by supervisor: B

V rámci předložené bakalářské práce měl student za úkol vyřešit ovládání robotického manipulátoru pomocí vlastní elektroniky na bázi mikrokontroléru ESP32. Manipulátor dostal student k dispozici, jednalo se o laboratorní model manipulátoru vybaveného modelářskými servy. Úkolem bylo navrhnout takový elektronický systém, která umožní komunikaci s nadřazeným systémem po zvolené komunikační sběrnici. Dále bylo úkolem implementovat možnost ovládání pomocí G-kódů a vyhodnotit přesnost a opakovatelnost manipulátoru.
Na začátku bakalářské práce se student věnoval teoretickému rozboru zadání, provedl průzkum a popsal možnosti kinematiky robotických systémů, dále popsal G-kódy používané v technické praxi, možnosti komunikace v průmyslu a využití vhodných mikrokontrolérů.
V druhé kapitole se student věnoval návrhu elektronky pro řízení a ovládání robotického manipulátoru. Zde student navrhnul zapojení elektronických obvodů, navrhnul zapojení desky plošných spojů a propojení s robotem.
Ve třetí kapitole se student věnoval implementaci programového vybavení. Zaměřil se zde na implementaci ovládacího softwaru/firmwaru, navrhnul a začlenil všechny nezbytné programové funkce pro ovládání pohybů robotického manipulátoru, implementoval inverzní kinematiku a nastavil možnosti pro snímání polohy jednotlivých os. Pro snadné použití dále student implementoval interpret G-kódů pro řízení os.  Pro komunikaci a připojení s nadřízenými systémy student implementoval a naprogramoval komunikaci pře sběrnice CAN a UART. Pro snadné ovládání bylo také implementování WWW rozhraní přes WiFi.
V kapitole 4 student definoval testovací scénáře a rozpracoval metodiku měření, díky čemuž se mu podařilo obstojně zhodnotit časové chování SW, přesnost polohování jednotlivých os, zhodnotit opakovatelnost a otestovat časovou synchronizaci po sběrnici CAN.
V páté kapitole student navrhnul na základě testování a ověření funkce změny v návrhu elektroniky tak, aby se vyřešili chyby a problémy z první verze návrhu. Dále student navrhnul i mechanické úpravy robotického manipulátoru.
Poslední kapitola je závěrečná kapitola, kde student hodnotí své snažení v rámci postupu řešení bakalářské práce, hodnotí dosažené výsledky a navrhuje východiska.
Vlastní bakalářská práce je celkem obsáhlá, obsahuje všechny potřebné části a rozumném a přiměřeném rozsahu.
Popsané řešení je srozumitelné a dá se v něm dobře orientovat. Bohužel se student nevyhnul některým problémům, jako chybějící výpočet hodnot komponent elektronického návrhu. Občas text obsahuje nepřesnosti či přetékající text mimo stránku. I přes tyto drobné výtky hodnotím bakalářskou práci jako kvalitní a zdařilou. Je vidět, že se jí student věnoval v dostatečné míře. Mohu konstatovat, že student splnil všechny body zadání a práci navrhuji k obhajobě. Topics for thesis defence:
  1. Jakým způsobem jste určoval hodnoty součástek u Vašeho návrhu elektroniky. Jak jste například určil hodnotu rezistoru R16 na obrázku 2.3?
  2. Popište, jaké ochrany jsou implementovány v rámci Vašeho napájecího obvodu na obrázku 2.3. Jak funguje ochrana proti přepětí a přepólování?
  3. Jak jste učil hodnoty rezistorů R54 a R6 na obrázku 2.6?
Points proposed by reviewer: 82

Grade proposed by reviewer: B

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