====== be3m33aro -- Autonomous robotics, summer semester 2016/2017 ====== * Links to [[https://cw.felk.cvut.cz/forum|Discussion forum]], [[http://cw.felk.cvut.cz/upload/|UploadSystem]] and [[https://www.fel.cvut.cz/cz/education/rozvrhy-ng.B162/public/cz/predmety/46/81/p4681906.html|schedule]] ===== The subject aims ===== The subject will teach students the principles needed to create/use robots able to perceive the surrounding world and understand it, plan the activity of robots with in it including the possibility to modify it. Architectures of robots with cognitive abilities will be explained and their implementations demonstrated. Students will experiment in labs/exercises with robots. The studied matter has a wider applicability in designing and building of intelligent machines. ===== Lectures: Monday 10:00-12:15, KN:E-107 ===== Lecturer: Václav [[http://people.ciirc.cvut.cz/hlavac/|Hlaváč]] (VH, default) with the occasional help of Karel [[http://cmp.felk.cvut.cz/~zimmerk/|Zimmermann]] (KZ). The shorter part of three lectures (about 35 minutes) is dedicated to writing the exam written test in three parts. We motivate the student to study continuously by decomposing the written test. ^ Week ^ Date ^ Studied topics ^ Presentations ^ | 1 | 20.2. | Robotics, motivation, manipulator in industry. Kinematics, overview. // Linear algebra should be refreshed as a homework.// |[[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/55AutonomRobotics/010RobotsAnchoringEn.pdf|Anchoring robots]] [[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/55AutonomRobotics/020KinematicsEn.pdf|Kinematics]] | | 2 | 27.2. | Autonomous robots, architectures. |[[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/55AutonomRobotics/051RobotArchitecturesEn.pdf|Autonomus robots, architectures]] | | 3 | 6.3. | Deliberating robot, modules/tasks, configuration space | [[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/55AutonomRobotics/048RobotWorldRepresForReasoningEn.pdf|Representation for reasoning]] | | 4 | 13.3. | KZ: Robot with a camera. Geometry of one camera. Camera calibration. Homography. | {{:courses:b3m33aro:pinhole.pdf|pinhole.pdf}} | | 5 | 20.3. | KZ: Depth from image and similar sensors. Use of depth maps. | [[http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4767965|Least-Squares Fitting of Two 3-D Point Sets]] {{:courses:b3m33aro:mapping.pdf|}} | | 6 | 27.3. | Trajectory of a manipulator/mobile robot and its calculation. // Test 1. // | [[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/55AutonomRobotics/090RobotTrajectoryGenerationEn.pdf| Trajectory generation]] | | 7 | 3.4. | KZ: Path planning. Probabilistic methods. | {{:courses:b3m33aro:planning.pdf|Random planning}} | | 8 | 10.4. | Path planning. Deterministic methods. | [[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/55AutonomRobotics/090RobotTrajectoryGenerationEn.pdf|Deterministic planning]] | | | 17.4. | //State holiday. Easter Monday.// | | | 9 | 24.4. | SLAM // Test 2. // | [[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/55AutonomRobotics/120SimultaneousLocalizationAndMapping.pdf|SLAM]] | | 10 | 2.5. | KZ: Reinforcement learning in robotics & ROS | {{:courses:b3m33aro:01_object_detection.pdf|}} {{:courses:b3m33aro:02_reinforcement_learning.pdf|}} {{:courses:b3m33aro:03_ROS_Wagner.pdf|}} | | | 1.5. | //State holiday. Labor day.// | | | | 8.5. | //State holiday. Victory day.// | | | 11 | 11.5. | Tactile feedback in robotics. | [[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/55AutonomRobotics/140TactileRobotics.pdf|Tactile robotics]] | | 12 | 15.5. | Force compliant robot. Manipulation tasks. Grippers. // Test 3. //| | | 13 | 22.5. | Humanoid robots. | | Presentations of V. Hlaváč's lectures are available either [[http://cmp.felk.cvut.cz/~hlavac/TeachPresEn/|in English]] or [[http://cmp.felk.cvut.cz/~hlavac/TeachPresCz/|in Czech]], and sometimes in both languages. ===== Expected previous knowledge or hints for the subject or its labs ===== It is assumed that students of this course have a working knowledge of mathematical analysis, linear algebra, probability theory and statistics. In addition, basic programming skills, mainly in Matlab, are expected. This master subject should not repeat the knowledge, which was taught in the Cybernetics and Robotics study branch in bachelor studies. The subject would be too shallow otherwise. It could happen that some students did not study the topics, which are considered a prerequisite of the subject Autonomous robotics. They have to study or refresh their knowledge on their own. Some other knowledge/skills might be useful in the subject labs. I offer students the aid to refresh their knowledge by providing them presentations related to the topic. Most presentations were prepared by me (Václav Hlaváč), Michal Reinštein (the past instructor of the course), Karel Zimmermann and other colleagues. ^Author ^ Presentation and the link to it ^ | V. Hlaváč | [[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/05Mathematics/02ProbabStatRehersalEn.pdf|Probability and statistics, rehearsal]] | | V. Hlaváč | [[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/05Mathematics/31LeastSquares.pdf|Least squares]] | | V. Hlaváč | [[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/55AutonomRobotics/015GeometryForKinematicsEn.pdf|Geometry for robotics]] | | V. Hlaváč | [[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/55AutonomRobotics/045FeedbackCyberneticsEn.pdf|Feedback, core of cybernetics]] | | V. Hlaváč | [[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/55AutonomRobotics/060ActuatorsForRobots.pdf|Actuators for robotics]] | | V. Hlaváč | [[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/55AutonomRobotics/070SensorsforRobots.pdf|Sensors for robotics]] | | V. Hlaváč | [[http://people.ciirc.cvut.cz/~hlavac/TeachPresEn/55AutonomRobotics/115RobotMiddleware.pdf|Robotic middleware, ROS]] | | K. Zimmermann | {{:courses:a3m33iro:vo.pdf|Visual odometry}} | | T. Svoboda | {{:courses:a3m33iro:ransac.pdf|RANSAC}} | | M. Reinštein | {{:courses:a3m33iro:iro_mle_map.pdf|State estimate for mobile robotics}} | | M. Reinštein | {{:courses:a3m33iro:newman_mars_lander.zip|MATLAB mars lander}} | | M. Reinštein | {{:courses:a3m33iro:iro_data_fusion_intro.pdf|Intro to data fusion}} | | M. Reinštein | {{:courses:a3m33iro:bayes-ekf.pdf|Bayesian extended Kalman filter}} | | K. Zimmermann | {{:courses:a3m33iro:bayes.pdf| Bayesian decision theory cookbook}} | ===== Labs and exercises ===== Instructors: Ing. Karel Zimmermann, Ph.D. (head), Ing. Vladimír Kubelka, Mgr. Radoslav Škoviera, Ph.D., Ing. Libor Wagner. The details are given in a separate section [[courses:a3m33iro:labs_en | labs]]. **Reminder**: Visiting lectures is facultative according to the Study and Exam Order of the CTU. However, it is required at the labs/exercises that student knows the matter explicated at lectures. The student may, refresh the matter from the recommended literature too. ===== Tests and areas of expected foreknowledge ===== * Three tests will be written at the lecture. The test will last for about 30 minutes. The matter explicated at lectures and expected foreknowledge will be tested. A question testing the ability to solve physical/technological task may be part of the test. * **Test 1** (March 20, 2017, areas fixed on Feb 26, 2017) * Coordinates transformations in homogeneous coordinates. * Overdetermined system of linear equations. Least squares method. * Fundamentals of probability. Difference between probability theory and statistics. Random variable, statistical independence, conditional probability. Bayes formula and its use. Distribution function, probability density function. Random vector and its characterization. * Bayesian risk in decision making. Classification. * Concept of degrees of freedom (in mechanical system). * Types of kinematic pairs. Structures of manipulators. * Coordinates transformation. * Direct and inverse kinematic task. * Representation of a body in 3D space. Expressing translation and rotation. Rotation matrix. Euler and Cardan angles. Composing rotations. * Open and closed kinematic chain. Direct and inverse kinematics for open kinematics chains. * Feedback. Watt governor. Four principles of cybernetics. Engineering cybernetics. Influence of the feedback on uncertainty reduction in real applications. Personalities in cybernetics. * Servomechanism (revolutions, position) as the example of the feedback. Examples, use. * Robot definitions. Parts of robots. Locomotion/manipulation in robotics. * Automation of the factory production. Milestones in the increase of labor productivity. Where do robot fit in production? * Robot architectures, deliberative, reactive, subsumption architecture and hybrid one. Hybrid architecture (basic explanation expected). * Robot control principles. Robot control as examples, e.g. examples coverign vacuum cleaner, welding robot, robot in assembly. * Representation of the robot world, occupancy grid, metric and topological map, more abstract representation by graph. * Geometry of a single camera. Projective mapping. Outer and inner camera calibration parameters. How is geometric calibration performed? Homography and its use in computer vision. * Depth map, acquisition, use. * **Test 2** (24. 4. 2017) * Probability theory, basic concepts. The difference between probability and statistics. Random variable, independence, conditional probability, Bayes formula and its significance. Distribution function, probability density. Random vector and its description. * Bayesian risk in statistical decision making tasks. Classification. * Main tasks on graphs. Shortest path. Mininum spanning tree. There use in robotics. * Electric drives, taxonomy, properties, use. Hydraulic, pneumatic drives, their principle, properties and use. * Robot sensors. Taxonomy. Basic principles, examples. * Sensors for odometry. Gyroscope and its principle, mechanical, optical. GPS, differential GPS. * Manipulator trajectory. Its mathematical expression from the approximation point of view. Approximation by polynomials. * Planning in robotics. Deterministic and probabilistic planning methods. * Robot path planning. * **Test 3** (15. 5. 2017) * Robot world representation. Occupancy grid. Metric and topological map. How is it created and updated? A more abstract graph representation. * Simultaneous localization and planning (SLAM). * A force compliant robot. * Tactile sensors. Information processing in robotics. Tactile feedback in robotics. Examples. * Robotic grippers. * Humanoid robots. * **Replacement test ** (23. 5. 2017 at 12:45 in KN:G-205). Test is intended for students, who could not write the regular tests for serious reasons. The replacement test will cover topics taught in the whole semester. I will ask the student at the spot why she/he did not write the regular test. The replacement test can substitute only one missing test. * **Student is not expected to apologize** if she/he will not come for the test. She/he will just not get the points with the exception of points obtained from one replacement test. The special cases, like long term serious illness of the student during the semester, the student should contact the lecturer Václav Hlaváč. ===== Conditions for obtaining the credit from the subject ===== Work out and succesfully submitting of the assigment at lab/exercises. Writting three tests. ===== Recommended literature ===== - Steven M. LaValle. Planning Algorithms, Cambridge University Press, 2006. (volně na internetu, http://planning.cs.uiuc.edu/) - R. Pfeifer, C. Scheie. Understanding Intelligence, MIT Press, 2002. - B. Siciliano, O. Khatib (editoři). Handbook of Robotics, Springer-Verlag, Berlin 2008. ===== Assesment of the student at the exam, marks ===== The English translation is pending. Student's performance in labs can bring 40 points maximally. The exam consists of the written and the oral part. Three tests arew written in three distinct dates on the lecture. Students knowledge from theory is tested. There could be examples (to be calculated) in the test too. The scope of the test will be publishe a week before the test at latest. Each written test can yield max. 10 points. It is required that the student has to gain 10 points at least from written test to be eligible to come to the oral exam. Students who cannot attend the test due to illness (verified by the sick certificate) or for other significant reason explained in advanced to the head of exercises (he will decide if the reason is acceptable), will be asked to write the replacemet written test in the single assigned date in the last week of the semester. The replacement test will cover the material of the whole subjec. The oral test can yield max. 30 points. Only students with the credit (zápočet) are eligible for being examined orally. The student will bring a printed scientific paper in English tackling the subject domain, which he will study in advance. The purpose of oral exam is also to verify student's deeper knowledge in the domain chosen by the student. It is also verified that the student is able to put his knowledge into the context of student's previous study. The paper should not be older than 5 years. It should be from journals as listed below * IEEE Transactions on Intelligent Transportation Systems * IEEE/ASME Transactions on Mechatronics * IEEE Transactions on Robotics * Autonomous Robots Journal * International Journal of Robotics Research * Robotics and Autonomous Systems Students have access to electronic resources through the appropriate portal paid by ČVUT. Students have to know bibligraphic record matching to the paper. Conference papers are not eligible. It is prefered if the students brings her/his printed working copy with notes. Final assesment of the subject ^ No of points ^ Exam assessment ^ | 0-49 | F | | 50- 59 | E | | 60-69 | D | | 70-79 | C | | 80-89 | B | | 90-100 | A | ===== Plagiarism ===== Plagiarism is unacceptable in the subject. If a student is caught copying from a colleague at a written test, she/he will be marked with zero points without the possibility to write this particular test again. The results from lab/exercises are compared with results of others. Plagiarism will be punished. The unit responsible for student affairs will be asked to mention the plagiarism attempt to the study documentation of a particular student. ===== A wish to students ===== I wish the subject students the enjoyment from intelligent robotics. I also wish their study run smoothly. I look forward to your feedback. Talk to me after the lecture in person or write me an email. V. Hlaváč, February 3, 2017