Detail předmětu
Robotika a zpracování obrazu
BPC-PRP FEKT BPC-PRP Ak. rok 2024/2025 letní semestr 7 kreditů
V rámci kurzu se studenti rozdělí do dvojic, přičemž každá dvojice obdrží předem připraveného robota s diferenciálním podvozkem. Robot bude vybaven motory pro pohyb a sadou snímačů (kamera, LiDAR, IMU, enkodéry, snímače čáry, ultrazvuk, …).
Úkolem studenta bude se nejprve seznámit s konstrukcí, programovým vybavením robota a principem jeho fungování. Dále student vytvoří aplikaci pro robotické sledování čáry a v druhé části semestru pak budou studenti řešit úlohu úniku z bludiště na čas. Důležité bude použít informace z různých snímačů. LiDAR – sledování tvaru chodby, kamera – vizuální nápověda k únikové cestě, atd.
Předmět je koncipován jako vysokoúrovňový (práce na algoritmech). Nízkoúrovňové ovládání HW nebude po studentech vyžadováno a bude nad rámec předmětu.
Garant předmětu
Koordinátor předmětu
Jazyk výuky
Zakončení
Rozsah
- 26 hod. přednášky
- 39 hod. laboratoře
Zajišťuje ústav
Přednášející
Cíle předmětu
Cílem předmětu je aplikovat studentovy znalosti, které získal během předcházejícího studia a aplikovat je při řešení vzorové robotické úlohy.
Pro úspěšné absolvování studia bude muset student prokázat schopnosti práce v týmu, analýzy problému a návrhu řešení, praktického programování, diagnostiky a debugování programu, realizování zpětnovazebního řízení robotu.
Požadované prerekvizitní znalosti a dovednosti
Znalosti z předchozích kurzů: C/C++, práce s mikrokontrolerem, algoritmizace, základy elektroniky, principy měření elektrických a neelektrických veličin, řízení, regulace a zpracování dat v časových řadách.
Literatura referenční
- ŠOLC, František a Luděk ŽALUD. Základy Robotiky. Brno: VUTIUM, 2002.
Osnova přednášek
Výuka probíhá formou přednášek (teorie), skupinových laboratoří a práce doma (praktická výuka).
Cílem předmětu je, aby si studenti ve 2 členných týmech osvojili schopnost programování robota a vlastní invencí vyřešili problém regulace jízdy po čáře, regulace jízdy robota v koridoru a jako závěrečný projek (zkouška) pak naprogramovali robota pro útěk z bludiště.
Přednášky
1. Úvod do předmetu, pravidla soutěže, robot kit
2. Operační systém, C++, CMake, UTests
3. Git, C++ Projekt, Lint
4. ROS - základy
5. Motor, Kinematika podvozku, Odometrie
6. Práce se snímačem čary
7. Regulační smyčka
8. Senzorická výbava robota
9. ROS - pokročilý
10. Computer Vision 1
11. Computer Vision 2
12. Náhradní přednáška
Cvika
1. Seznámení s laboratoří, Robot
2. IDE, C++, CMake,
3. Git, Šablona projektu
4. Zachytávání dat, Vizualizace
5. Ovladaní motoru, gamepad, dead reckoning
6. Estimace pozice vůči čáře
7. Regulace jízdy po čáře
8. Zápočet - jízda po čáře
9. Jízda v koridoru
10. Jízda v bludišti
11. Kamera a ARUCo Tagy.
12. Zapocet - jizda v koridoru
Osnova laboratorních cvičení
1. Úvodní cvičení, seznámení se s hardwarem.
2. Instalace RaspberryPi, příprava prostředí pro programování.
3. Programování RaspberryPi skriptem/programem, použití knihovny pro i2c.
4. Digitální vstupy/výstupy.
5. Oživení modulu pro řízení motorů, ovládání serv.
6. Analogově-digitální převod, zpracování měřených dat z dodaných senzorů.
7. Zpětnovazební řízení robotu. Reakce na taktilní snímač. Reakce na analogový senzor.
8. Pokročilé programování Raspberry Pi. Protokol TCP/IP.
9. Oživení kamerového modulu Raspberry Pi. Knihovna OpenCV.
10. Zpracování streamu předzpracovaného obrazu.
11. Zpracování obrazových dat.
12. Samostatná práce na projektu.
13. Samostatná práce na projektu.
Průběžná kontrola studia
až 50 bodů ze dvou praktických ukázek řešení úlohy v průběhu cvičení
- 25 b - jízda robotem po čáře
- 25 b - jízda robotem v koridoru (použití LiDARu)
- podmínka udělení zápočtu je min. 20 bodů ze semestru
až 50 bodů ze zkoušky formou soutěže “útěk z bludiště na čas”
- 40 b - čas úniku z bludiště
- 10 b - vedení projektu (Git) + dokumentace
- +/- až 20 bodů za bonusové úlohy a penalizace (+ poklad, - minotaur, -dotyk stěny, …)
Zařazení předmětu ve studijních plánech
- Program BIT, 2. ročník, volitelný
- Program BIT (anglicky), 2. ročník, volitelný