Robotics
The following are last minute news you should be aware of ;-)
09/03/2016: Lectures start today!!
Contents
Course Aim & Organization
This course will introduce basic concepts and techniques used within the field of autonomous mobile robotics. We analyze the fundamental challenges for autonomous intelligent systems when these move on wheels or legs and present the state of the art solutions currently employed in mobile robots and autonomous vehicles.
Teachers
The course is composed by a blending of lectures and exercises by the course teacher and a teaching assistant.
- Matteo Matteucci: the course teacher
- Gianluca Bardaro: the teaching assistant
Course Program
Lectures will provide theoretical background and real world examples. Lectures will be complemented with practical exercises in simulation for all the proposed topics and the students will be guided in developing the algorithms to control an autonomous robot.
Among other topics, we will discuss:
- Mobile robots kinematics,
- Sensors and perception,
- Robot localization and map building,
- Simultaneour Localization and Mapping (SLAM),
- Path planning and collision avoidance,
- Exploration of unknown terrain.
Detailed course schedule
A detailed schedule of the course can be found here; topics are just indicative while days and teachers are correct up to some last minute change (I will notify you by email). Please note that not all days we have lectures!!
Note: Lecture timetable interpretation * On Wednesdays, in E.G.2, starts at 13:30, ends at 15:15 * On Thursday, in D.1.1, starts at 13:30, ends at 15:15
Date | Day | Time | Room | Teacher | Topic |
09/03/2016 | Wednesday | 13:15 - 15:15 | EG3 | Matteo Matteucci | Course Introduction |
10/03/2016 | Thursday | 13:15 - 15:15 | D11 | Matteo Matteucci | Sensors and Actuators (motors) |
16/03/2016 | Wednesday | 13:15 - 15:15 | EG3 | Matteo Matteucci | Robot kinematics |
17/03/2016 | Thursday | 13:15 - 15:15 | D11 | Gianluca Bardaro | Gazebosim and URDF |
23/03/2016 | Wednesday | 13:15 - 15:15 | EG3 | Gianluca Bardaro | Differential drive in Gazebo |
24/03/2016 | Thursday | 13:15 - 15:15 | -- | -- | No Classes |
30/03/2016 | Wednesday | 13:15 - 15:15 | EG3 | Matteo Matteucci | Robot kinematics (cont.) |
31/03/2016 | Thursday | 13:15 - 15:15 | D11 | Matteo Matteucci | Robot navigation algorithms |
06/04/2016 | Wednesday | 13:15 - 15:15 | EG3 | Gianluca Bardaro | Middleware for robotics and ROS |
07/04/2016 | Thursday | 13:15 - 15:15 | D11 | Gianluca Bardaro | Control of diff drive in ROS |
13/04/2016 | Wednesday | 13:15 - 15:15 | EG3 | Matteo Matteucci | Trajectory planning (graph based) |
14/04/2016 | Thursday | 13:15 - 15:15 | D11 | Matteo Matteucci | Trajectory planning (graph Based) |
20/04/2016 | Wednesday | 13:15 - 15:15 | EG3 | Gianluca Bardaro | ROS Tools: tf, rviz, map server |
21/04/2016 | Thursday | 13:15 - 15:15 | D11 | Gianluca Bardaro | Trajectory planning and navigation in ROS |
27/04/2016 | Wednesday | 13:15 - 15:15 | EG3 | Matteo Matteucci | Trajectory planning (sample based) |
28/04/2016 | Thursday | 13:15 - 15:15 | D11 | Matteo Matteucci | Trajectory planning (sample based) |
04/05/2016 | Wednesday | 13:15 - 15:15 | EG3 | Matteo Matteucci | Simultaneous Localization and Mapping (SLAM) |
05/05/2016 | Thursday | 13:15 - 15:15 | D11 | Matteo Matteucci | SLAM with Lasers and EKF-SLAM |
11/05/2016 | Wednesday | 13:15 - 15:15 | EG3 | Matteo Matteucci | SLAM with Lasers and EKF-SLAM |
12/05/2016 | Thursday | 13:15 - 15:15 | D11 | Matteo Matteucci | Particle filters and Monte Carlo Localization |
18/05/2016 | Wednesday | 13:15 - 15:15 | EG3 | Gianluca Bardaro | ROS movebase (plus actionlib) |
19/05/2016 | Thursday | 13:15 - 15:15 | D11 | Gianluca Bardaro | ROS movebase continued |
25/05/2016 | Wednesday | 13:15 - 15:15 | EG3 | Matteo Matteucci | Planning complex tasks |
26/05/2016 | Thursday | 13:15 - 15:15 | D11 | Matteo Matteucci | Planning in the Blockworld |
01/06/2016 | Wednesday | 13:15 - 15:15 | EG3 | Gianluca Bardaro | Planning Domain Definition Language (PDDL) |
02/06/2016 | Thursday | 13:15 - 15:15 | -- | -- | No Classes |
08/06/2016 | Wednesday | 13:15 - 15:15 | -- | -- | No Classes |
09/06/2016 | Thursday | 13:15 - 15:15 | -- | -- | No Classes |
15/06/2016 | Wednesday | 13:15 - 15:15 | EG3 | Matteo Matteucci | Questions and Answers |
Course Evaluation
Course evaluation is composed by two parts:
- A written examination covering the whole program graded up to 27/32
- A home project in simulation practicing the topics of the course graded up to 5/32
the final score will sum the grade of the written exam and the grade of the home project.
Home Project
In the home project you will use ROS and Gazebo to develop a simple autonomous mobile robot performin a simple task. The project will be presented mid May and you will have until the end of June to complete it.
Teaching Material (the textbook)
Lectures will be based on material taken from the book.
- An Introduction to Statistical Learning with Applications in R by Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani
If you are interested in a more deep treatment of the topics you can refer to the following book from the same authors
- The Elements of Statistical Learning: Data Mining, Inference, and Prediction. by Trevor Hastie, Robert Tibshirani, and Jerome Friedman.
Some additional material that could be used to prepare the oral examination will be provided together with the past homeworks.
Teacher Slides
In the following you can find the lecture slides used by the teacher and the teaching assistants during classes.
Lectures:
- [2015] Course introduction: introductory slides of the course with useful information about the grading, and the course logistics. Some examples from supervised and unsupervised learning. Regression, classification, clustering terminology and examples.
- [2015] Statistical Learning Introduction: Statistical Learning definition, rationale, and trade-offs (e.g., prediction vs. inference, parametric vs non parametric models, flexibility vs. interpretability, etc.)
- [2015] Statistical Learning and Model Assessment: Model Assessment for Regression and Classification, Bias-Variance trade-off, Model complexity and overfitting, K-Nearest Neighbors Classifier vs. Bayes Classifier.
- [2014-2015] Linear Regression: Simple Linear Regression and Multiple Linear Regression. Feature selection. Ridge Regression and Lasso.
- [2014-2015] Linear Classification: From Linear Regression to Logistic Regression. Linear Discriminant Analysis and Quadratic Discriminant Analysis. Comparison between linear classification methods.
- [2014-2015] Support Vector Machines: Discriminative vs. generative methids. Hyperplanes learning and Perceptron. Maximum Margin Classifiers. The Kernel trick and Support Vector Machines.
For exercises and lab material please refer to Davide Eynard website.
Additional Resources
Papers and links useful to integrate the textbook
- Bias vs. Variance: "Understanding the Bias-Variance Tradeoff" essay by Scott Fortmann-Roe
- ...
Past Exams and Sample Questions
Since 2014/2015 the course was changed and the exams format as well. For this edition of the course you should expect 2 theoretical questions + 2 practical exercises (on average). Some examples from the past year can be found here:
These are the text of past exams to give and idea on what to expect a theoretical questions:
- 20/09/2013 Exam
- 10/09/2013 Exam
- 26/07/2013 Exam
- 11/07/2013 Exam
- 29/01/2013 Exam
- 19/09/2012 Exam
- 04/09/2012 Exam
- 10/07/2012 Exam
- 26/06/2012 Exam
- 03/02/2012 Exam
- 19/09/2011 Exam
- 08/09/2011 Exam
- 15/07/2011 Exam
- 29/06/2011 Exam
Online Resources
The following are links to online sources which might be useful to complement the material above
- MATH 574M University of Arizona Course on Statistical Machine Learning and Data Mining; here you can find slides covering part of the course topics (the reference book for this course is again The Elements of Statistical Learning)