Difference between revisions of "Robotics"

From Chrome
Jump to: navigation, search
(Course Slides)
(Detailed course schedule)
Line 100: Line 100:
 
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!!
 
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!!
  
WORK IN PROGRESS
+
Note: Lecture timetable interpretation
[ ... ]
+
  * On Wednesday, in 5.1.1, starts at 12:15, ends at 14:15
<!--
+
  * On Thursday, in 6.0.1, starts at 14:15, ends at 16:15
Note: Lecture timetable interpretation
+
  * On Monday, in 5.0.1, starts at 16:15, ends at 18:15
+
  * On Wednesday, in 5.03, starts at 12:15, ends at 14:15
+
  
 
{| border="1" align="center" style="text-align:center;"
 
{| border="1" align="center" style="text-align:center;"
Line 174: Line 171:
 
|-
 
|-
 
|}
 
|}
-->
+
 
 
<!--
 
<!--
 
{| border="1" align="center" style="text-align:center;"
 
{| border="1" align="center" style="text-align:center;"

Revision as of 00:23, 4 March 2020


03/04/2020: Under Update! Tomorrow we start the new course edition!


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 with a focus on autonomous navigation, perception, localization, and mapping.

Teachers

The course is composed by a blending of lectures and exercises by the course teacher and a 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.

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 Wednesday, in 5.1.1, starts at 12:15, ends at 14:15
* On Thursday, in 6.0.1, starts at 14:15, ends at 16:15
Date Day Time Room Teacher Type Topic
25/02/2019 Monday 16:15 - 18:15 5.0.1 Lecture Matteo Matteucci Course Introduction
27/02/2019 Wednesday 12:15 - 14:15 5.03 Lecture Matteo Matteucci Robot Sensors and Actuators
04/03/2019 Monday 16:15 - 18:15 5.0.1 Lecture Matteo Matteucci Robot Sensors and Actuators
06/03/2019 Wednesday 12:15 - 14:15 5.03 Lecture Matteo Matteucci Robot Sensors and Actuators
11/03/2019 Monday 16:15 - 18:15 5.0.1 Lecture Matteo Matteucci Robot Kinematics
13/03/2019 Wednesday 12:15 - 14:15 5.03 Lecture Matteo Matteucci Robot Kinematics
18/03/2019 Monday 16:15 - 18:15 5.0.1 Lecture Matteo Matteucci Robot Kinematics
20/03/2019 Wednesday 12:15 - 14:15 5.03 ROS Simone Mentasti Middleware for robotics and ROS Installation Party
25/03/2019 Monday 16:15 - 18:15 5.0.1 ROS Simone Mentasti Ros workspace, Publisher/subscriber, launch file
27/03/2019 Wednesday 12:15 - 14:15 5.03 Lecture Matteo Matteucci Robot Localization
01/04/2019 Monday 16:15 - 18:15 5.0.1 ROS Simone Mentasti Messages, services, parameters
03/04/2019 Wednesday 12:15 - 14:15 5.03 ROS Simone Mentasti Bags, tb, actionlib, rqt_tools.
08/04/2019 Monday 16:15 - 18:15 5.0.1 Lecture Matteo Matteucci Robot Localization
10/04/2019 Wednesday 12:15 - 14:15 5.03 Lecture Matteo Matteucci Robot Mapping
15/04/2019 Monday 16:15 - 18:15 --- --- --- -- No Lecture --
17/04/2019 Wednesday 12:15 - 14:15 --- --- --- -- No Lecture --
22/04/2019 Monday 16:15 - 18:15 --- --- --- -- No Lecture --
24/04/2019 Wednesday 12:15 - 14:15 --- --- --- -- No Lecture --
29/04/2019 Monday 16:15 - 18:15 5.0.1 ROS Simone Mentasti Message filters, rospy. First project presentation
01/05/2019 Wednesday 12:15 - 14:15 --- --- --- -- No Lecture --
06/05/2019 Monday 16:15 - 18:15 5.0.1 ROS Simone Mentasti ROS on multiple machines, time syncronization, stage
08/05/2019 Wednesday 12:15 - 14:15 5.03 ROS Simone Mentasti Robot Navigation (Part I)
13/05/2019 Monday 16:15 - 18:15 5.0.1 Lecture Matteo Matteucci Simultaneous Localization and Mapping
15/05/2019 Wednesday 12:15 - 14:15 5.03 ROS Simone Mentasti Robot Navigation (Part II)
20/05/2019 Monday 16:15 - 18:15 5.0.1 ROS Simone Mentasti Nodlet, openCV-CV-bridge
22/05/2019 Wednesday 12:15 - 14:15 5.03 ROS Simone Mentasti Point Cloud Library.
27/05/2019 Monday 16:15 - 18:15 5.0.1 Lecture Matteo Matteucci Simultaneous Localization and Mapping
29/05/2019 Wednesday 12:15 - 14:15 5.03 ROS Simone Mentasti PROJECT CLINIC
03/06/2019 Monday 16:15 - 18:15 5.0.1 Lecture Matteo Matteucci Simultaneous Localization and Mapping
05/06/2019 Wednesday 12:15 - 14:15 5.03 Lecture Matteo Matteucci Robot Navigation Algorithms
10/06/2019 Monday TBC TBC Lecture Matteo Matteucci OMRON Robot Presentation + Second Project Presentation


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.

Course Project

In the course project you will use ROS to develop a simple autonomous mobile robot performing a simple mapping, localization and navigation task. The project requires some coding either in C++ / Python following what will be presented during the lectures. The project will be presented in two parts you have about one month to do each. Details will follow.

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

Slides from the lectures by Simone Mentasti


Course Project

Not yet out ...

Past Years Useful Material

Here you find material from past editions of the course that you umight find useful in preparing the exam.

Past Exams and Sample Questions

Since the 2015/2016 Academic Year the course has changed the teacher and this has changed significantly the program and the exam format as well. For this reason we do not have many past exams to share with you, they will accumulate along the years tho.

Past Course Project

Here you find past course projects in case you are interested in checking what your colleagues have been pass through before you. In some cases they may have been more lucky in some others you might be the lucky one ... that's life! ;-)

Homework 2018/2019

The 2018/2019 course project is divided in two releases. The homework philosophy should be "You have to struggle, but not too much!". Indeed the homework is made to challenge you and make you exercising and learn by doing, nevertheless if you find yourself stuck please write us and we will give you the required hints to continue and complete ... this includes extending the deadline (for all) or allowing you to use python instead of C++ (for selected students).

Advice: Start as soon as possible doing the homework!

Homework

Homework 2016/2017

The 2016/2017 course project is divided in two releases to provide you something to work on as early as possible during the course. The homework philosophy should be "You have to struggle, but not too much!". Indeed the homework is made to challenge you and make you exercising and learn by doing, nevertheless if you find yourself stuck please write us and we will give you the required hints to continue and complete.

Advice: Start as soon as possible doing the homework!

Homework

Homework 2015/2016

This year project is divided in steps; each of them is worth some points out of the 5/32 points available for the final mark. You find the project description here, it is complete, it contains parts up to 4, parts 5 is optional, but we suggest to do it anyway since it requires a limited amount of time.:

  • 2015/2016 Course Project v1.0
  • 2015/2016 Kobra STL files: in case you want to make your simulation look more real here you find the STL files of the Kobra robot in the "Safer" version. Unfortunately the STL files are scaled down with respect to the real robot, so you have to modify those if you want to use.

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:

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
  • AIRLab ROS Howto: a gentle introduction to ROS with node template and program examples