Robotics / Algorithms and Systems for Robotics 2023/2024
by Tullio Facchinetti
The course of Robotics and the course of Algorithms and Systems for Robotics are the same course, while waiting to adopt the final name “Algorithms and Systems for Robotics”.
The webpage with information of the course Robotics 2022-23 is still available here.
Wed 2023-10-18: The lesson is suspended due to the participation of the teacher to the Science Battle in Poitiers (France). The lesson will be recovered in a future date to be announced.
The course is held by Prof. Tullio Facchinetti.
I recommend to carefully read the information reported in this page.
The course is held in presence, unless the conditions will change during the course.
Contacts and appointments
To request for a meeting, and for any other issue, please send me an email.
Since I held/hold many different courses, I kindly ask to specify in the email the following information: name, course name, identification number, and - possibly - the year when the course was attended.
There are two lessons per week. The schedule is as follows:
- Wednesday, 11:00 - 13:00 (Room C7)
- Friday, 09:00 - 11:00 (Room 8 - Polo Nuovo)
The course includes 6 lessons held by Prof. Howard Li. The lessons will be held during two consecutive weeks for organisational reasons. The schedule of the lessons is the following:
- Wednesday, 13 December 11:00 - 13:00 (Room C7)
- Thursday, 14 December 11:00 - 13:00 (Aula Magenta - see below for instructions)
- Friday, 15 December 09:00 - 11:00 (Room 8 - Polo Nuovo)
- Wednesday, 20 December 11:00 - 13:00 (Room C7)
- Thursday, 21 December 11:00 - 13:00 (Aula Magenta - see below for instructions)
- Friday, 22 December 09:00 - 11:00 (Room 8 - Polo Nuovo)
The Seminar Room Magenta is located at the D floor in the area with the laboratories of Electronics.
Short instructions to reach the Seminar Room:
- start in the entrance hall (in front of the cafeteria)
- points towards the corridor leading to rooms B1, B2, etc.
- take the first stairs on the right
- exit the stairs at the D floor
- enter the door on the right
- turn the corner on the left
- the seminar room is the last room on the right
Don’t use neither Bug 1 or Bug 2 algorithms to reach the Seminar Room: you are in a 3D environment!
Organization of the exam
The exam consists of a test regarding the topics covered during the course. The test will be delivered through the Kirotesting platform in any case. For this reason, even if the exam is taken in presence, it will be done in a computer classroom.
The duration of the test is 2 hours.
To avoid problems on the day of the exam, it is recommended to make sure to be able to access the Robotics course in the Kirotesting platform using the student’s credentials.
The slides linked in this page contain all the material that is necessary for preparing the exam.
Further information regarding the exam:
- The topics of the seminars from Prof. Howard Li will be subject of open questions or exercises at the exam.
- The slides that are available online cover some topics that will not be explained during the lessons. These topics WILL NOT BE subject of questions or exercises at the exam.
Resources for self-evaluation
A large collection of questions that appeared in past online exams is available on Kirotesting under the material related to the course of Robotics. The difficulty level and the type of questions are very close to the one of future exams.
Some examples of past exams are available. Although they are examples of questions to be replied on paper, and nowdays the exam is held using the Kirotesting online platform, the type of questions remains approximately the same. It only differs in the way the results have to be entered, which has been adapted to the online environment.
The didactic material is based on the slides shown during lessons. Additional material may be made available during the course.
The date indicated for each presentation represents the latest update of the corresponding file.
- [02/10/2023] Introduction : historical origins of robotics; overview of a robotic system; hardware and software components of a robot;
- [03/10/2023] Robot navigation (1) : introduction; bugs algorithms: Bug 1, Bug 2, Tangent Bug; potential fields method;
- [25/10/2023] Robot navigation - maps (2) : roadmaps; basics about graphs; visibility maps; grid-occupancy maps; wave-front algorithm; A* algorithm
- [03/10/2023] Robot navigation - maps (3) : probabilistic planners; Voronoi maps; cell decomposition maps;
Finite State Machines
- [24/11/2023] Finite State Machines : introduction; Mealy and Moore FSM; formal model; composition of state machines; hybrid systems; examples.
- [24/11/2023] Introduction : definitions; examples; terminology, definitions and notation; taxonomy;
- [24/11/2023] Classical algorithms : First-Come First-Served (FCFS), Shortest Job First (SJF), Round-Robin (RR), Earliest Due Date (EDD), Earliest Deadline First (EDF), optimality of EDF, non-preemptive scheduling.
- [24/03/2023] Periodic tasks : task model, Rate Monotonic (RM), Earliest Deadline First (EDF), Deadline Monotonic (DM).
- [11/12/2020] Aperiodic tasks : task model, background scheduling, Polling Server (PS), Sporadic Server (SS), Total Bandwidth Server (TBS), TBS*, Constant bandwidth Server (CBS).
- [11/12/2020] Shared resources : critical sections, Priority Inheritance Protocol (PIP).
- [03/09/2023] Measures : measurements, errors, propagation of errors, precision and accuracy.
- [08/12/2022] Introduction to sensors : type of sensors, characteristics of intelligent sensors.
- [08/01/2018] Sensors - part 1 : linear and angular position sensors; resistive (potentiometers and strain gauges), capacitive, inductive and optical (encoders) technologies; Gray code; gyroscopes; proximity sensors; ultrasonic sensors; touchscreen; GPS; trilateration and multilateration.
- [11/01/2022] Sensors - part 2 : pressure sensors; accelerometers; force sensors and cantilevers; load cell.
- [11/01/2022] Sensors - part 3 : flow sensors (Venturi and Pitot tubes); temperature sensors: thermocoupled resistive thermometers, thermistors; current sensors.
- [13/12/2016] Image sensors : relevance of image processing; CCD and CMOS sensors; efficient image processing algorithm.
- [14/12/2016] Time sensors : oscillators: equivalent circuit, clock, clock drift, parameters and properties, distributed synchronization; Network Time Protocol (NTP).
- [15/01/2021] Errors and compensation : types of errors; compensation techniques; polynomial functions; Look Up Table; Wheatstone bridge.
Additional references and material
- Python Robotics is a very nice collection of open source Python scripts that implement several algorithms related to path planning and other techniques. The available simulations are useful to get a visual understanding of the algorithm.
- A video on Youtube with a simulation of the Tangent Bug.
- A very good and detailed description of the A* algorithm can be found at the Amit’s A* Pages.
- A useful algorithm to construct a grid map from the obstacle edges is the Bresenham’s algorithm.
- A great page from Professor Howard Li reporting a number of links to videos, institutions, projects, software and more about robotics.
The following text books are helpful to expand the topics covered in the course.
- John Brignell, Neil White, “Intelligent Sensor System”, Institute of Physics Publishing, Bristol and Philadelphia, 1996. ISBN 0-7503-0389-1.
- Paulo Verissimo, Luis Rodriguez, “Distributed Systems for System Architects”, Kluwer Academis Publishers, 2000. ISBN 0-7923-7266-2.
- Giorgio C. Buttazzo, “Hard Real-time Computing System” Second Edition, Springer, 2005. ISBN 0-387-23137-4.
- Howie Choset, Kevin M. Lynch, Seth Hutchinson, George Kantor, Wolfram Burgard, Lydia E. Kavraki, Sebastian Thrun, “Principles of Robot Motion: Theory, Algorithms, and Implementations”, The MIT Press, Cambridge, Massachussets, 2005. ISN 0-262-03327-5.
- John R. Taylor, “An Introduction to Error Analysis: The Study of Uncertainties in Physical Measurements”, University Science Books, 1997.
- Edward A. Lee and Sanjit A. Seshia, Introduction to Embedded Systems, A Cyber-Physical Systems Approach, ISBN 978-0-557-70857-4, 2011.