====== Autonomous robotics labs ====== * [[https://cw.felk.cvut.cz/ulohy/ | Upload system ]] * [[http://www.fel.cvut.cz/cz/education/rozvrhy-ng.B172/public/html/predmety/46/81/p4681906.html|Schedule]] * Lab teachers: * [[http://cmp.felk.cvut.cz/~zimmerk/|Karel Zimmermann]] (head of labs), * [[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ý]] ===== Outline ===== Labs consist of 7 regular labs intended for practical exercises, 6 lessons intended for semestral work consultations. Participation in the regular and the final lab is mandatory. There will be 7 homeworks assigned during regular labs, which are due to in 7 days. If a correct solution of the homework is demonstrated in the following lab, the homework is rewarded by 3 points, i.e. you can obtain 18 points from homeworks in total. Homeworks are not uploaded, it is enough to show the solution in the beginning of the next labs. /*[[https://gitlab.fel.cvut.cz/kubelvla/b3m33aro_semestral|]]* Semestral work assignment is in the eighth week, the solution has to be [[https://cw.felk.cvut.cz/upload/| uploaded]] before the beginning of the labs in the thirteenth week. You can obtain up to ěě points for the solution (1ř for demonstration and 7 for the report). Each group of students (maximum size is 3) is obliged to upload own code and a short report consisting of explicit answers to a few questions: Report should consist of answers for the following questions: ”(i) How do you estimate and update the 3D position of the markers? (ii) How do you update the position of the robot in relation to markers? (iii) How do you plan the trajectory for the robot through the course? (iv) How do you execute the planned trajectory? (v) How do you evaluate the progress of proposed solutions?”. The maximum length of the report is three A4 pages containing not more than 2700 characters (i.e. one and a half normalized pages [[https://cs.wikipedia.org/wiki/Normostrana|normostrany]]) and an arbitrary amount of figures (captions are also counted as characters, axis titles are not counted). We want students to work individually, therefore any kind of [[https://cw.felk.cvut.cz/wiki/help/common/plagiarism_cheating|plagiarism]] in codes, homeworks or reports will be mercilessly punished ;-). We strongly urge each student to read [[https://cw.felk.cvut.cz/wiki/help/common/plagiarism_cheating| what is/isnot a plagiarism]] - we believe that many students will be surprised. In any case, it is not permitted to use the work of your colleagues or predecessors. Each student is responsible for ensuring that his work does not get into the hands of other colleagues. In the case of multiple submission of the same work, all involved students will be penalized, including those who gave the work available to others. Credit conditions: * Uploading **own** solution of the semestral report (reports) before the beginning of the labs in the thirteenth week. * Demonstration of **own** solution of the semestral work in the fourteenth week. * Showing **own** solution of all homeworks before the beginning of the labs in the thirteenth week. * Obtaining at least 20 points (out of 40 possible). ===== Program ===== ^ date ^ week ^ content ^ homework ^ references ^ labs data and template^ | 22.02.2018 | 1. | Intro to Python, norms, overdetermined set of linear equations and ML estimation of motion model identification | |[[http://mathesaurus.sourceforge.net/matlab-numpy.html|NumPy for MATLAB users]] [[https://en.wikipedia.org/wiki/Overdetermined_system | Overdetermined system ]] | | 01.03.2018 | 2. | Localization from distant measurements (non-linear least squares) |{{ :courses:bxaro:ml_model_rychlosti.pdf | HW1}}, {{ :courses:bxaro:ml_u_v.zip | ml_u_v.zip}} |{{ :courses:bxaro:iro_lsq-nlsq.pdf |}} | | 08.03.2018 | 3. | Camera and its calibration (homogeneous set of linear equations) | Localization: {{ :courses:bxaro:nlsq_2d_lokalizace.pdf |HW2-simple}} SLAM:{{ :courses:bxaro:nlsq_2d_slam.pdf |HW2-hard}}, {{ :courses:bxaro:hw02_d.npy.zip |}} | [[http://www.maths.lth.se/matematiklth/personal/calle/datorseende13/notes/forelas1.pdf | camera model]] | | 15.03.2018 | 4. | //Canceled// | | | | 22.03.2018 | 5. | Depth from two cameras, 3D point-cloud from depth, ICP |{{ :courses:bxaro:3D_coloring.pdf | HW3}}, {{ :courses:bxaro:hw3.zip |}},{{ :courses:bxaro:HW4.pdf | HW4}}, {{ :courses:bxaro:hw4_icp.zip |}} | {{ :courses:bxaro:exteroceptive_sensors.pdf |Sensors}} {{ :courses:bxaro:mapping.pdf |Mapping}}[[https://www.researchgate.net/profile/Steven_Blostein/publication/224378053_Least-squares_fitting_of_two_3-D_point_sets_IEEE_T_Pattern_Anal/links/5633c61a08aeb786b7013b28/Least-squares-fitting-of-two-3-D-point-sets-IEEE-T-Pattern-Anal.pdf|ICP_paper]] | | 29.03.2018 | 5. | Calibration of camera and stereo. 2D occupancy grid | {{ :courses:bxaro:hw5.pdf | HW5}} | {{ :courses:bxaro:pinhole.pdf |}} | | 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}}, Algorithm stopping condition: Distance between a path vertex and goal coords. is less than 1m. | 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. | Semestral work assignment | [[http://cw.fel.cvut.cz/b172/courses/bxaro/semestral_work|pre-release version]] | | 19.04.2018 | 9. | //consultation// | | | | | 26.04.2018 | 10. | //consultation// | | | | | 03.05.2018 | 11. | //consultation// | | | | | 10.05.2018 | 12. | //consultation// | | | | | 17.05.2018 | 13. | //consultation// (Even though there is Tuesday´s timetable according to [[http://www.fel.cvut.cz/en/education/calendar.html|the academic calendar]].) | | | | | 24.05.2018 | 14. | demonstration | | /*| 02.03.2017 | 2. | Localization and mapping from directional measurements (least squares) | {{:courses:a3m33iro:2d_slam.pdf|HW2}}, {{: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|solution of overdetermined set of linear equations}} | {{:courses:b3m33aro:data_labs2.zip|data_labs2.zip}}| | 09.03.2017 | 3. | Localization from distant measurements (non-linear least squares) | {{:courses:b3m33aro:nlsq_2d_slam.pdf|HW3}} , {{:courses:b3m33aro:hw03_d.npy.zip|hw03_d.npy.zip}} | {{:courses:a3m33iro:lsq-nlsq.pdf|}} | | | 16.03.2017 | 4. | Camera and its calibration (homogeneous set of linear equations) | {{:courses:b3m33aro:3d_coloring_python.pdf|HW4}}, {{: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. | Segmentation of thermal data and ROC curve | HW5: Draw ROC | {{:courses:a3m33iro:bayes.pdf|bayes.pdf}} | {{:courses:b3m33aro:data_labs_05.zip|data_labs_05.zip}} | | 30.03.2017 | 6. | Mapping from depth scans (ICP) | {{:courses:b3m33aro:aro_hw_6_icp.zip|DU6}} | | {{:courses:b3m33aro:06_icp_labs.zip|}} | | 06.04.2017 | 7. | Planning of collision-free trajectory (RRT) | DU7: find feasible path to (21,0,7) | | {{:courses:b3m33aro:07_labs_rrt.zip|}} | | 13.04.2017 | 8. | [[https://gitlab.fel.cvut.cz/kubelvla/b3m33aro_semestral|Semestral work assignment]] | | | 20.04.2017 | 9. | //consultation// | | | | | 27.04.2017 | 10. | //consultation// | | | | | 04.05.2017 | 11. | //consultation// | | | | | 18.05.2017 | 13. | //consultation// | | | | | 25.05.2017 | 14. | solution demonstration | | *