Table of Contents

B3B33LAR - Cvičení

Cvičí: Pavel Krsek, Libor Wagner, Vladimír Petrík

Odevzdávací systém

Přímé odkazy

Forma cvičení

Cvičení je vedeno formou samostatné práce na zadaném úkolu. Studenti utvoří maximálně 3 členné týmy. V těchto týmech řeší samostatně zadaný úkol. Na začátku semestru jsou studenti seznámeni s programovým vybavením a technickými prostředky. Dále jsou představeny některé algoritmy pro zpracování dat ze senzorů, které je možné použít k řešení zadané úlohy. Přibližně v polovině semestru studenti předvedou vyučujícímu svoje stávající řešení. Na konci semestru studenti předvedou výsledné řešení, odevzdají program a technickou zprávu popisující toto řešení a formou krátké prezentace představí své řešení kolegům na cvičení v zápočtovém týdnu. Cvičení obvykle probíhá na robotech TurtleBot v laboratoři KN:E-130. Práce na robotech je možná v době cvičení a ve stanovené době, kdy je robotická laboratoř přístupná.

Bodování

Vaše práce (řešení) budou bodovány s ohledem na obtížnost úlohy, včasnost a funkčnost řešení. Celkem můžete získat maximálně 100 bodů. Body získáváte za plnění jednotlivých částí úlohy v tomto maximálním počtu:

Za pozdní odevzdání bude bodové hodnocení sníženo. Toto snížení je uvedeno v odevzdávacím systému. Při nadprůměrném řešení můžete získat v některých případech i více než uvedený počet bodů.

Podmínky zápočtu

Časový plán cvičení

č.t. datum náplň
1 22. a 23.2. Úvod, organizace, zadání úlohy.
2 1. a 2.3. Seznámení s programovým vybavením (ROS, Simulátor, rozhraní v Python).
3 8. a 9.3. Kamera, obraz a jeho zpracování (barevný prostor, segmentace).
4 15. a 16.3. Model kamery a 3D data (projekce, algoritmus RANSAC, transformace RGB / 3D).
5 22. a 23.3. Technická zpráva a její obsah (kratší prezentace a dotazy).
6 29. a 30.3. Jak programovat, čitelný a čistý kód.
7 5.4. a 6.4. Jak programovat, struktura souboru, moduly a nástroje.
Předvedení stávajícího řešení cvičícímu.
8 - 13 12.4. - 18.5. Samostatné řešení úlohy a konzultace.
21. 5. 2023 Termín odevzdání úlohy
14 24. a 25.5. Předvedení řešení úlohy, udělení zápočtu - konec semestru

Zadání úlohy

Úkoly

  1. Analyzujte popsaný problém.
  2. Popište principy, které použijete k řešení problému.
  3. Nalezněte postup, který povede k řešení problému.
  4. Postup implementujte a vyzkoušejte.
  5. Odvoďte, za jakých podmínek bude Vaše řešení fungovat.
  6. Vyhotovte technickou zprávu, ve které zdokumentujete všechny kroky. Uveďte a případně zhodnoťte také výsledky.
  7. Navrhněte úlohu pro příští rok a stručně jí v technické zprávě popište. Berte v úvahu technické možnosti robotů i zkušenosti studentů.


Technické zadání

Zadání úlohy.


Odevzdání práce

Obsah zprávy

Zpráva by měla obsahovat minimálně následující informace:

  1. Název práce, jména řešitelů, datum.
  2. Stručný popis řešeného problému.
  3. Rozbor problému, návrh postupu řešení, očekávaná funkčnost sytému. (specifikace)
  4. Změny specifikace, ke kterým došlo v průběhu řešení.
  5. Řešení problému, matematický popis, algoritmy.
  6. Implementace a způsob spuštění (nezacházet do detailů).
  7. Experimentální výsledky (uveďte výsledky pro jednotlivé snímky např. formou tabulky).
  8. Diskuse výsledků, co by bylo vhodné na Vaší práci zlepšit, kdyby bylo více času a prostředků.
  9. Návrh úlohy pro příští rok. Mohou být uvedena i další doporučení pro příští cvičení.
  10. Přílohy (jsou-li nutné).

Zpráva může být vysázena v libovolném nástroji, který umí sázet také matematiku, kterou bude zpráva pravděpodobně obsahovat. Zpráva ani specifikace by neměly obsahovat věcné ani gramatické chyby. Měla by být formulována jasně a jednoznačně. Formální matematické zápisy by měly být ve formě používané v matematických knihách, ne ve formě programátorského pseudokódu.

Více informací k obsahu a formě technické zprávy můžete nalézt na stránce “Jak napsat správně zprávu” kde jsou uvedeny především relevantní externí odkazy.

Boj proti plagiátorství

V rámci předmětu se požaduje samostatná práce týmů.

O plagiátorství podrobněji

Je dovoleno užívat různé knihovny, které implementují standardní algoritmy. V takovém případě je třeba ve zprávě citovat použité zdroje. Mělo by se jedna o zdroje volně dostupné z pohledu studenta. Není dovoleno používat práce Vašich kolegů či předchůdců.

Každý tvůrce je odpovědný za to, že se jeho dílo nedostane do rukou dalším kolegům. V případě odevzdání shodných prací se penalizují všichni dotčení studenti, tedy i ti, kteří dali dílo k dispozici. Uvedená definice plagiátorství nijak nezužuje obvyklé zvyklosti na této univerzitě, a proto mohou být obvyklým způsobem trestány i jiné formy porušování studijních předpisů a zvyklostí.

Čistý / čitelný kód

Očekáváme, že Váš kód bude splňovat požadavky na čitelný a udržovatelný kód, dle PEP 8 - Style Guide for Python Code
( přehledněji). Zejména budeme sledovat:

Kvalita kódu bude hodnocena v rozsahu 3 bodů, které jsou součástí hodnocení úlohy. Kontrola nebude integrována v systému BRUTE, ale bude posuzována vyučujícím. Kvalitu kódu můžete případně (ne nutně) doložit například obrazovkou grafického vývojového prostředí, nebo výstupem z CLI nástroje flake8. Buďte připraveni v případě pochybností doložíte kvalitu interaktivně přímo ve vývojovém prostředí.

Pokud budete chtít, můžete získat navíc až 3 body pokud:

Prostředky pro řešení úlohy

Další zdroje informací

Kontaktní informace

Pavel Krsek, místnosti B-608 (budova B, Dejvice, ulice Jugoslávských partyzánů), telefon 4194, pavel.krsek@cvut.cz,
Vladimír Petrík, místnost B-640 (budova B, Dejvice, ulice Jugoslávských partyzánů), telefon 4225, vladimir.petrik@cvut.cz,
Libor Wagner, místnosti B-635 (budova B, Dejvice, ulice Jugoslávských partyzánů), telefon 4283, wagnelib@cvut.cz,
David Koníček, místnost B-605 (budova B, Dejvice, ulice Jugoslávských partyzánů), telefon 4274, david.konicek@cvut.cz.