User manual (set of solved tasks) for the subject ROBOTS
Uživatelský manuál (soubor řešených úloh) pro předmět ROBOTI
Authors
Supervisors
Reviewers
Editors
Other contributors
Journal Title
Journal ISSN
Volume Title
Publisher
České vysoké učení technické v Praze
Czech Technical University in Prague
Czech Technical University in Prague
Date
Files
Abstract
Cílem této práce je formulovat praktická cvičení pro předmět ROBOTI, který je vyučován na Fakultě elektrotechnické ČVUT v Praze v prvním ročníku bakalářského studia programu Kybernetika a Robotika. Základ této práce tvoří programovatelná robotická sada Lego Mindstorms® NXT (Lego Group, 2006), konkrétně sety 9648 a 9797, které jsem detailně představil se zaměřením na jejich důležité komponenty. Dále jsem prozkoumal možnost programování hlavního mikrokontroleru kostky NXT populárním a lehce pochopitelným programovacím jazykem Python 2, jako alternativu ke známějšímu na C založenému programovacímu jazyku NXC. Pro konverzi kódu mezi jazykem Python a NXC jsem použil PyNXC converter, ke kterému jsem dopsal vlastní grafické prostředí. Během tvorby této práce jsem narazil na několik chyb v PyNXC a tyto chyby jsem zdokumentoval a částečně opravil. Nakonec jsem vytvořil pět cvičení pro předmět ROBOTI. Kladl jsem důraz na prohledávání stavového prostoru a ukázal jsem několik příkladů zpětnovazební regulace s použitým regulátorů typu PID. Tyto úkoly jsou podrobně popsány a byl kladen důraz na opakovatelnost řešení jednotlivých úkolů studenty již zmíněného předmětu ROBOTI. Těchto pět úkolů je naprogramovaných ve třech programovacích jazycích NXT-G, NXC a Python 2. Zdrojové kódy pro řešení těchto úkolů jsou rovněž detailně popsány v této práci.
The aim of this bachelor thesis is the formulation of practical exercises for the course ROBOTI, which is being held regularly at the Czech Technical University in Prague for the first-year students of the bachelor study program Kybernetika a Robotika. As the basis I choose the programmable robotics kit Lego Mindstorms® NXT (Lego Group, 2006), namely the sets 9648 and 9797, which I introduce in a greater detail and pay a special attention to its crucial components. Further, I investigate the possibility of programming the main microcontroller NXT brick with the popular and intuitive programming language Python 2 as an alternative to the broadly used C-based programming language NXC for the Lego Mindstorms NXT. For the conversion of the Python source code, I use the PyNXC converter, which I extend with my own graphical user interface. Several error in the original PyNXC converter's code are discovered during this process and are corrected. Finally, I create five textbook exercises for the students with the intention to teach them about the search of the state-space and several cases of the back-loop control with various application of the PID regulator. The exercises are formulated a detailed and easy to follow manner and prepared in three various programming languages Python 2, NXC and NXT-G, which makes them along with the attached source codes easily reproducible by students of various programming background.
The aim of this bachelor thesis is the formulation of practical exercises for the course ROBOTI, which is being held regularly at the Czech Technical University in Prague for the first-year students of the bachelor study program Kybernetika a Robotika. As the basis I choose the programmable robotics kit Lego Mindstorms® NXT (Lego Group, 2006), namely the sets 9648 and 9797, which I introduce in a greater detail and pay a special attention to its crucial components. Further, I investigate the possibility of programming the main microcontroller NXT brick with the popular and intuitive programming language Python 2 as an alternative to the broadly used C-based programming language NXC for the Lego Mindstorms NXT. For the conversion of the Python source code, I use the PyNXC converter, which I extend with my own graphical user interface. Several error in the original PyNXC converter's code are discovered during this process and are corrected. Finally, I create five textbook exercises for the students with the intention to teach them about the search of the state-space and several cases of the back-loop control with various application of the PID regulator. The exercises are formulated a detailed and easy to follow manner and prepared in three various programming languages Python 2, NXC and NXT-G, which makes them along with the attached source codes easily reproducible by students of various programming background.
Description
Keywords
Lego Mindstorms NXT, PD regulátor, PID regulátor, Bludiště, Deep search, Not Exactly C, NXT-G, PyNXC, regulační houpačka, sledování čáry, objíždění překážky, Python 2.7, gyroskopický senzor, Lego Mindstorms NXT, PID controller, PD controller, Maze, Deep search, Not Exactly C, NXT-G, PyNXC, angle level holding, line tracking, obstacle avoidance, Python 2.7, gyroscopic sensor