===== Praktická robotika (zima 2023/24) =====
/*
**17.10.2022 Novinka:** //Z důvodu služební cesty přednášejícího se přednášky 18. 10. 2022 a 25. 10. 2022 ruší.// \\ \\ \\
**21.9.2020 Novinka:** //Přednáška 22. 9. 2020 není.// \\
**21.9.2020 Novinka:** //Cvičení 22. 9. 2020 probíhá ve standardní čas vzdálenou formou na platformě MS Teams. Všichni zapsaní studenti obdrželi pozvánku. Pokud se tak nestalo, kontaktujte prosím některého ze cvičících.//\\ \\ \\
*/
=== Přednášky ===
Úterý 9:15-10:45, CIIRC, posluchárna JP:B-335,
přednášející:
* Ing. Libor Přeučil, CSc.
* RNDr. Miroslav Kulich, Ph.D.,
----
=== Cvičení ===
Úterý 11:00-13:15 CIIRC, laboratoř JP:B-315 (Jugoslávských partyzánů, CIIRC),
cvičící:
* Ing. Viktor Kozák,
* Ing. David Zahrádka,
* RNDr. Miroslav Kulich, Ph.D.,
----
=== Anotace ===
Cílem kurzu je zprostředkovat studentům praktické dovednosti v oblasti řízení robotu ve složité úloze, tj. od řešení problémů návrhu architektury robotu, zpracování senzorických dat, přes navigaci a vytváření modelu prostředí až po plánování a inteligentní rozhodování. Důraz je kladen na cvičení, kde studenti budou řešit komplexní úlohu na reálném hardware mobilního robotu a budou mít dostatek prostoru pro implementaci a experimenty tak, aby bylo zřejmé, proč základní algoritmy ne vždy fungují a proč je vhodné použít sofistikovanější metody.
----
=== Organizace předmětu ===
Hlavní náplní kurzu jsou cvičení, na kterých studenti ve dvoučlenných týmech řeší úlohu prozkoumání neznámého prostředí mobilním robotem (viz [[zadani|zadání]]). Tato úloha vyžaduje realizaci několika dílčích podúloh, které budou studenti na cvičeních postupně řešit. Na konci semestru pak proběhne demonstrace funkčnosti implementovaných řešení.
Na přednáškách budou jednotlivé podúlohy definovány a prezentována některá z metod pro jejich řešení.
Bez znalosti látky probírané na přednáškách bude tedy velmi obtížné úlohu řešit.
----
=== Obsah přednášek ===
^ Týden ^ Téma ^ Materiály ^
| 1.| Zadání úlohy, organizace předmětu, pravidla pro udělení zápočtu |{{courses:a0m33par:par_lesson1.pdf|slidy}} |
| 2.| Plánování na binární mřížce – A*, Dijkstra, vyhlazování, Minkowskiho suma | {{courses:a0m33par:par_lesson2.pdf|slidy}} |
| 3.| Řízení robotu – Vector Field Histogram Plus | {{courses:a0m33par:par_lesson3.pdf|slidy}} |
| 4.| Mapování – mřížky obsazenosti, floodfill, lokalizace s využitím histogramů | {{courses:a0m33par:par_lesson4.pdf|slidy}}|
| 5.| Explorace | {{courses:a0m33par:par_lesson5.pdf|slidy}}|
| 6.| Praktické zkušenosti navigace mobilního robotu, robotické soutěže | |
----
=== Obsah cvičení ===
^ Týden ^ Téma ^
| 1.| Seznámení se s robotem TurtleBot a jeho komponentami, porozumění senzorickým datům (vizualizace), reaktivní řízení (wall following) |
| 2.| ::: |
| 3.| Realizace podúloh řízení a plánování |
| 4.| ::: |
| 5.| ::: |
| 6.| ::: |
| 7.| Kontrolní den, zadání podúlohy mapování |
| 8.| Relizace podúlohy mapovaní |
| 9.| ::: |
| 10.| ::: |
| 11.| Kontrolní den, Realizace explorace, integrace |
| 12.| Realizace explorace, integrace |
| 13.| ::: |
| 14.| Finální demonstrace |
----
=== Organizace cvičení ===
Viz na samostatné [[cviceni|stránce]].
----
=== Hodnocení předmětu ===
Předmět je zakončen klasifikovaným zápočtem.
Výsledná známka bude udělena na základě těchto kritérií:
- **Aktivita a znalost na cvičení.** Cvičící budou hodnotit aktivitu a samostatnost studentů při práci na úlohách a jejich znalost látky probírané na přednáškách.
- **Prezentace** implementovaného klienta cvičícímu.
- **Funkčnost klienta** při závěrečné prezentaci na reálném robotu.
- **Porozumění** vlastnímu kódu a principům vámi implementovaných metod.
----
=== Pravidla použití nástrojů AI ===
V tomto kurzu je obecně povoleno používat nástroje UI, pokud není uvedeno jinak. Buďte však upřímní a otevření. Pokud tyto nástroje používáte, uveďte které části vaší práce byly vytvořeny s jejich pomocí (a jak). Naším cílem je vás něco naučit, proto byste měli rozumět každé části odevzdaného kódu a dokázat program napsat i sami bez pomoci AI.