Robotics
The following are last minute news you should be aware of ;-)
19/03/2016: Published slides about Sensors, Actuators (Matteucci) and Gazebosim (Bardaro) 09/03/2016: Change in course timetable, lectures start at 14:00 (sharp!) and end at 15:30 (roughly) 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 14:00, ends at 15:30 * On Thursday, in D.1.1, starts at 14:00, ends at 15:30
Date | Day | Time | Room | Teacher | Topic |
09/03/2016 | Wednesday | 14:00 - 15:30 | EG3 | Matteo Matteucci | Course Introduction |
10/03/2016 | Thursday | 14:00 - 15:30 | D11 | Matteo Matteucci | Sensors and Actuators |
16/03/2016 | Wednesday | 14:00 - 15:30 | EG3 | Matteo Matteucci | Sensors and Actuators |
17/03/2016 | Thursday | 14:00 - 15:30 | D11 | Gianluca Bardaro | Gazebosim and URDF |
23/03/2016 | Wednesday | 14:00 - 15:30 | EG3 | Gianluca Bardaro | Differential drive in Gazebo |
24/03/2016 | Thursday | 14:00 - 15:30 | -- | -- | No Classes |
30/03/2016 | Wednesday | 14:00 - 15:30 | EG3 | Matteo Matteucci | Robot kinematics |
31/03/2016 | Thursday | 14:00 - 15:30 | D11 | Matteo Matteucci | Robot navigation algorithms |
06/04/2016 | Wednesday | 14:00 - 15:30 | EG3 | Gianluca Bardaro | Middleware for robotics and ROS |
07/04/2016 | Thursday | 14:00 - 15:30 | D11 | Gianluca Bardaro | Control of diff drive in ROS |
13/04/2016 | Wednesday | 14:00 - 15:30 | EG3 | Matteo Matteucci | Trajectory planning (graph based) |
14/04/2016 | Thursday | 14:00 - 15:30 | D11 | Matteo Matteucci | Trajectory planning (graph Based) |
20/04/2016 | Wednesday | 14:00 - 15:30 | EG3 | Gianluca Bardaro | ROS Tools: tf, rviz, map server |
21/04/2016 | Thursday | 14:00 - 15:30 | D11 | Gianluca Bardaro | Trajectory planning and navigation in ROS |
27/04/2016 | Wednesday | 14:00 - 15:30 | EG3 | Matteo Matteucci | Trajectory planning (sample based) |
28/04/2016 | Thursday | 14:00 - 15:30 | D11 | Matteo Matteucci | Trajectory planning (sample based) |
04/05/2016 | Wednesday | 14:00 - 15:30 | EG3 | Matteo Matteucci | Simultaneous Localization and Mapping (SLAM) |
05/05/2016 | Thursday | 14:00 - 15:30 | D11 | Matteo Matteucci | SLAM with Lasers and EKF-SLAM |
11/05/2016 | Wednesday | 14:00 - 15:30 | EG3 | Matteo Matteucci | SLAM with Lasers and EKF-SLAM |
12/05/2016 | Thursday | 14:00 - 15:30 | D11 | Matteo Matteucci | Particle filters and Monte Carlo Localization |
18/05/2016 | Wednesday | 14:00 - 15:30 | EG3 | Gianluca Bardaro | ROS movebase (plus actionlib) |
19/05/2016 | Thursday | 14:00 - 15:30 | D11 | Gianluca Bardaro | ROS movebase continued |
25/05/2016 | Wednesday | 14:00 - 15:30 | EG3 | Matteo Matteucci | Planning complex tasks |
26/05/2016 | Thursday | 14:00 - 15:30 | D11 | Gianluca Bardaro | Planning in the Blockworld |
01/06/2016 | Wednesday | 14:00 - 15:30 | EG3 | Gianluca Bardaro | Planning Domain Definition Language (PDDL) |
02/06/2016 | Thursday | -- | -- | -- | No Classes |
08/06/2016 | Wednesday | -- | -- | -- | No Classes |
09/06/2016 | Thursday | -- | -- | -- | No Classes |
15/06/2016 | Wednesday | 14:00 - 15:30 | 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.
In some (exceptional) cases the home project could be substituted with a lab project, possibly with a slightly higher grade, but this has to be motivated and discussed with the teacher.
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 requires some coding either in C++ / Python following what will be presented during the lectures. 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 from different sources, teachers will provide their slides to students as soon they are available.
Course Slides
Slides from the lectures by Matteo Matteucci
- [2015/2016] Course introduction: introductory slides of the course with useful information about the course syllabus, grading, and the course logistics. Introduction to Robotics, definitions, examples and SAP cognitive model.
- [2015/2016] Sensors and Actuators: an overview of most commonly used actuator and sensors in robotics, the DC motor and its characteristics, gears and torque.
- [2015/2016] Mobile Robots Kinematics: mobile (wheeled) robot kinematics, holonomic and non holonomic constraints, differential drive model.
Slides from the lectures by Gianluca Bardaro (you can find material under preparation at this link)
- [2015/2016] Gazebosim and SDF: an introduction to robotics simulators, an overview of Gazebo, its use, and the SDF file format to describe a robot simulation.
- [2015/2016] Gazebosim and plugins: more about simulation with Gazebo, modeling of a caster wheel, modeling of noise with Gazebo plugins, the GPS example.
Additional material from the teachers
- [2015/2016] willy1.zip: gazebo model for a differential drive with a caster wheel
- [2015/2016] gps.zip: gazebo plugin to simulate a faulty gps sensor
Past Exams and Sample Questions
In the 2015/2016 Academic Year the course has changed significantly and the exam format as well. For this edition of the course we do not have past exams to share with you, should expect 2 theoretical questions + 2 practical exercises (on average), no coding exercise in the exams since you will see some coding already in the home project. During the lectures the teachers will suggest possible exercises you might encounter in the exams.
Additional Resources
If you are interested in a more deep treatment of the topics presented by the teachers you can refer to the following books and papers:
- Probabilistic Robotics by Dieter Fox, Sebastian Thrun, and Wolfram Burgard.
The following are links to online sources which might be useful to complement the material above
- ISO 8373:2012: ISO Standard "Robots and robotic devices -- Vocabulary"
- ROS: the Robot Operating System
- Gazebo: the Gazebo robot simulator