====== Cvičení z autonomní robotiky ====== [[https://cw.fel.cvut.cz/b172/courses/bxaro/labs_en|English version]] of this page. * [[https://cw.felk.cvut.cz/ulohy/| Odevzdávací systém]] /* [[https://cw.felk.cvut.cz/forum/forum-342.html|Diskusní fórum]] */ * [[http://www.fel.cvut.cz/cz/education/rozvrhy-ng.B172/public/html/predmety/46/78/p4678006.html|Rozvrh předmětu]] * Cvičící: * [[http://cmp.felk.cvut.cz/~zimmerk/|Karel Zimmermann]] (vedoucí cvičení), * [[http://people.ciirc.cvut.cz/~skovirad/|Radoslav Škoviera]], * [[https://sites.google.com/site/kubelvla/|Vladimír Kubelka]], * [[http://cmp.felk.cvut.cz/~wagnelib|Libor Wagner]] * [[Ondrej.Holesovsky@cvut.cz|Ondřej Holešovský]] ===== Náplň cvičení ===== Cvičení se skládá z 7 laboratorních hodin, 6 hodin určených ke konzultaci semestrální úlohy a jednoho závěrečného odevzdávacího cvičení. Ke každém laboratornímu cvičení je doporučená literatura, pokud danou tématikou student nezná, očekává se, že si potřebné znalosti doplní před zahájením cvičení, tak aby nezdržoval své kolegy. Na každém laboratorním cvičení bude zadána domácí úloha. Odevzdání správného vlastního řešení domácí úlohy na následujícím cvičení bude odměněno třemi body. Odezvdání všech domácích úloh do začátku cvičení v třináctém týdnu je nedílnou součásti zápočtu. Semestrální úloha bude zadána na osmém cvičení. Krátká zpráva musí být nahrána do [[https://cw.felk.cvut.cz/ulohy/| odevzdávacího systému]] do začátku cvičení ve třínáctém týdnu, aby cvičící stihli zprávu ohodnotit. Do začátku cvičení ve čtrnáctém týdnu musí být nahrány i funkční kódy. Na posledním (čtrnáctém) cvičení, které je povinné, studenti předvedou řešení na předem neznámém testovacím scénaři zadaným cvičícími. Odevzdáním po stanovených termínech zaniká nárok na zápočet až na vyjímečné případ jako je např. omluvená nemoc. Semestrální úlohu řeší skupiny o maximální velikosti třech studentů. Zpráva není delší než 3 strany A4 a obsahuje maximálně 2700 znaků textu (tj. jeden a půl [[https://cs.wikipedia.org/wiki/Normostrana|normostrany]]) a libovolný počet obrázků (popisek obrázků se počítá jako text). Zpráva musí obsahovat explicitní odpovědi na tyto otázky: "(i) Jak určujete a aktualizujete 3D pozici značek? (ii) Jak určujete a aktualizujete pozici robotu vzhledem k značkám? (iii) Jak plánujete trajektorii robotu? (iv) Jak naplánovanou trajektorii projíždíte? (v) Jak jste testovali použitelnost Vašeho algoritmu a jakých výsledků dosáhl váš algoritmus?". Účast na laboratorních cvičeních a odevzdávacím cvičení je povinná. Celkem je možno získat 40 bodů -- 18 bodů za domácí úlohy (tj. 6x3 body) a 22 bodů za semestrální úlohu (15 za demonstraci a 7 za zprávu). V tomto cvičení se máte naučit samostatné práci. Předem upozorňujeme, že [[https://cw.felk.cvut.cz/wiki/help/common/plagiaty_opisovani|plagiátorství]] (v jakémkoliv kódu, zprávě či domácím úkolu) bude nemilosrdně trestáno. Tímto důrazně nabádáme každého studenta, aby si přečetl [[https://cw.felk.cvut.cz/wiki/help/common/plagiaty_opisovani|co je a není plagiát]] - věříme, že mnozí budou překvapeni. V žádném případě 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. Podmínky udělení zápočtu: - Odezvdání **vlastní** zprávy o semestrální úloze a všech **samostatně vypracovaných** domácích úloh do začátku cvičení v třináctém týdnu. - Demonstrace **vlastního** řešení semestrální úlohy na cvičení a odevzdání kódu do [[https://cw.felk.cvut.cz/ulohy/| odevzdávacího systému]] na cvičení ve čtrnáctém týdnu. - Získání alespoň 20 bodů (z 40 možných). - Absolvování všech průběžných testů psaných na přednášce v určených termínech a získání požadovaných bodů (viz podmínky ke zkoušce). ===== Program cvičení ===== ^ datum ^ č.t. ^ náplň ^ domácí úloha ^ literatura ^ data na cvičení ^ | 22.02.2018 | 1. | Intro do Pythonu, normy, přeurčené soustavy lineárních rovnic a aplikace na ML odhad parametrů pohybového modelu robota | {{ :courses:bxaro:ml_model_rychlosti.pdf | HW1}}, {{ :courses:bxaro:ml_u_v.zip | ml_u_v.zip}} |[[http://mathesaurus.sourceforge.net/matlab-numpy.html|NumPy for MATLAB users]] [[https://en.wikipedia.org/wiki/Overdetermined_system | Overdetermined system ]] | | 01.03.2018 | 2. | Lokalizace ze vzdáleností řešením nelineárních nejmenších čtverců | |{{ :courses:bxaro:iro_lsq-nlsq.pdf |}} | | 08.03.2018 | 3. | Kamera a její kalibrace řešením přeurčených soustav homogenních lineárních rovnic | {{ :courses:bxaro:nlsq_2d_slam.pdf | HW2}}, {{ :courses:bxaro:hw02_d.npy.zip |}} | [[http://www.maths.lth.se/matematiklth/personal/calle/datorseende13/notes/forelas1.pdf | camera model]] | | 15.03.2018 | 4. | Hloubka ze dvou kamer a 3D point-cloud z hloubkového obrazu | {{ :courses:bxaro:3D_coloring.pdf | HW3}}, {{ :courses:bxaro:hw3.zip |}} | | | 22.03.2018 | 5. | Vytváření mapy z hloubkových měření (ICP) | {{ :courses:bxaro:HW4.pdf | HW4}}, {{ :courses:bxaro:hw4_icp.zip |}} | | | | 29.03.2018 | 6. | Použití ICP na reálných datech, reprezentace neznámého prostoru, překážek a volného prostoru | {{ :courses:bxaro:hw5_occupancy_grid.pdf | HW5}} | | | | 05.04.2018 | 7. | Plánování bezkolizní trajektorie v mapě (RRT) | {{ :courses:bxaro:rrt_hw_v2.pdf | HW6}}, {{ :courses:bxaro:occupancy_grid_for_planning.zip | 2D Occupancy grid}}, Podmínka nalezení cíle a ukončení algoritmu: Koncový vrchol cesty se nachází blíže než 1m k daným cílovým souřadnicím. | The occupancy grid adopted from [[http://robotang.co.nz/projects/robotics/custom-player-plugins/ | http://robotang.co.nz]], Copyright © 2011-2018 Robert Tang | | | 12.04.2018 | 8. | Zadání semestrální úlohy | [[http://cw.fel.cvut.cz/b172/courses/bxaro/semestral_work|pre-release zadání]] | | 19.04.2018 | 9. | //konzultace// | | | | | 26.04.2018 | 10. | //konzultace// | | | | | 03.05.2018 | 11. | //konzultace// | | | | | 10.05.2018 | 12. | //konzultace// | | | | | 17.05.2018 | 13. | //konzultace// (I přes změnu rozvrhu dle [[http://www.fel.cvut.cz/cz/education/harmonogram.html|harmonogramu semestru.]]) | | | | | 24.05.2018 | 14. | demonstrace řešení a zápočet | | /*| 02.03.2017 | 2. | Lokalizace ze směru, rekonstrukce a mapování řešením přeurčených soustav lineárních rovnic | {{:courses:a3m33iro:2d_slam.pdf|DU2}}, {{:courses:b3m33aro:aro.py|aro.py}},{{:courses:b3m33aro:lsq_directional_slam_k.npy.zip|lsq_directional_slam_k.npy.zip}} | {{:courses:a3m33iro:overdetermined_homogenous_linear_equations.pdf|řešení přeurčených soustav lineárních rovnic}} | {{:courses:b3m33aro:data_labs2.zip|data_labs2.zip}}| | 09.03.2017 | 3. | Lokalizace ze vzdáleností řešením nelineárních nejmenších čtverců | {{:courses:b3m33aro:nlsq_2d_slam.pdf|DU3}} , {{:courses:b3m33aro:hw03_d.npy.zip|hw03_d.npy.zip}} | {{:courses:a3m33iro:lsq-nlsq.pdf|}} | | | 16.03.2017 | 4. | Kamera a její kalibrace řešením přeurčených soustav homogenních lineárních rovnic | {{:courses:b3m33aro:3d_coloring_python.pdf|DU4}}, {{:courses:b3m33aro:hw4_data.zip|}} | [[http://www.maths.lth.se/matematiklth/personal/calle/datorseende13/notes/forelas1.pdf | camera model]] | {{:courses:a3m33iro:u.mat| U.mat}}, {{:courses:a3m33iro:x.mat| X.mat}} | | 23.03.2017 | 5. | Segmentace teplotních dat věrohodnostním poměrem a vykreslení ROC | DU5:Dokončit vykreslení ROC. | {{:courses:a3m33iro:bayes.pdf|bayes.pdf}} | {{:courses:b3m33aro:data_labs_05.zip|data_labs_05.zip}} | | 30.03.2017 | 6. | Vytváření mapy z hloubkových měření (ICP) | {{:courses:b3m33aro:aro_hw_6_icp.zip|DU6}} | | {{:courses:b3m33aro:06_icp_labs.zip|}} | | 06.04.2017 | 7. | Plánování bezkolizní trajektorie v mapě (RRT) | DU7: najděte cestu do bodu (21,0,7) | | {{:courses:b3m33aro:07_labs_rrt.zip|}} | | 13.04.2017 | 8. | [[https://gitlab.fel.cvut.cz/kubelvla/b3m33aro_semestral|Zadání semestrální úlohy]] | | | 20.04.2017 | 9. | //konzultace// | | | | | 27.04.2017 | 10. | //konzultace// | | | | | 04.05.2017 | 11. | //konzultace// | | | | | 18.05.2017 | 13. | //konzultace// | | | | | 25.05.2017 | 14. | demonstrace řešení a zápočet | | * /* {{:courses:a3m33iro:data.mat| data.mat}} */ /* {{:courses:b3m33aro:hw03_d.npy.zip|}}{{:courses:a3m33iro:nlsq_d.mat|D.mat}}*/ /* {{:courses:a3m33iro:ml_u_v.mat|ML_u_v.mat}} */ /* {{:courses:a3m33iro:k.mat|K.mat}}, {{:courses:a3m33iro:blkdiag2.m|blkdiag2.m}} */