Detail předmětu

Robotika a zpracování obrazu

FEKT-BPC-PRPAk. rok: 2024/2025

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.

 

Jazyk výuky

čeština

Počet kreditů

7

Garant předmětu

Vstupní znalosti

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.  

Pravidla hodnocení a ukončení předmětu

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, …)

Učební cíle

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.

 

Základní literatura

ŠOLC, František a Luděk ŽALUD. Základy Robotiky. Brno: VUTIUM, 2002. (CS)

Zařazení předmětu ve studijních plánech

  • Program BPC-AMT bakalářský 3 ročník, letní semestr, povinně volitelný
  • Program BIT bakalářský 2 ročník, letní semestr, volitelný
  • Program BIT bakalářský 2 ročník, letní semestr, volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

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

Laboratorní cvičení

39 hod., povinná

Vyučující / Lektor

Osnova

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.