Robotics 2017/2018
by Tullio Facchinetti
General information
The course on Robotics will be held by Prof. Tullio Facchinetti.
I recommend to carefully read the information reported in this page.
Weekly schedule
- Tue 11-13 (Room E3)
- Wed 11-13 (Room A1)
To request 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.
Communications
The seminar of Prof. Luis Almeida from University of Porto, on “Coordination of Autonomous Mobile Nodes”, is scheduled as follows:
- Monday 30-10-2017 11:00-13:00 - Seminar Room at Dept. of computer Science, D floor (turn on the left when entering the building from the Bouvette hall)
- Tuesday 31-10-2017 11:00-13:00 - Room E3 (the usual room)
- Tuesday 31-10-2017 14:00-16:00 - Room 6
The second part of the seminar of Prof. Luis Almeida are scheduled as follows:
- Tuesday 19-12-2017 11:00-13:00 (Seminar room D floor)
- Tuesday 19-12-2017 14:00-16:00 (Seminar room D floor)
- Wednesday 20-12-2017 11:00-13:00 - Room A1 (the usual room)
The seminar of Daniele De Martini on eduMorse (the simulation platform to use for the practical projects) is scheduled as follows:
- Tuesday 05-12-2017 – 12-12-2017 11:00-13:00 - Room E3 (the usual room)
Organization of the exam
The exam consists of a written test regarding the topics coered during the course. The duration of the test is 2 hours. The slides linked in this page contain all the material that is necessary for preparing the exam.
The exam also requires a mandatory practical part, which consists in the development of a program that implement a control algorithm for a simulated mobile robot.
The two parts of the exam are independent from each other; there are no precedence constraints and once a part has been passed, its validity does not expire.
Further information regarding the exam:
- The topics of the seminars from Prof. Luis Almeida will be subject of OPEN QUESTIONS at the exam. NO EXERCISES will be asked on that topics.
- The slides on sensors 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.
Slides
The didactic material is based on the slides shown during lessons. Presentations will be made available during the course.
ATTENTION: since slight changes to the slides are possible, it is recommended to periodically check this site for updates. The date indicated for each presentation represents the latest update of the corresponding file.
Introduction
- [18/10/2016] Introduction : historical origins of robotics; overview of a robotics system; hardware and software components of a robot;
Robot navigation
- [18/10/2016] Robot navigation : introduction; bugs algorithms: Bug 1, Bug 2, Tangent Bug; potential fields method;
- [18/10/2016] Map-based robot navigation : roadmaps; basics about graphs; visibility maps; grid-occupancy maps; wave-front algorithm; A* algorithm; probabilistic planners; Voronoi maps; cell decomposition maps;
Finite State Machines
- [04/11/2015] Finite State Machines : introduction; Mealy and Moore FSM; formal model; composition of state machines; hybrid systems; examples.
Real-time systems
- [30/10/2016] Introduction : definitions; examples; terminology, definitions and notation; taxonomy;
- [08/11/2016] 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.
- [31/10/2016] Periodic tasks : task model, Rate Monotonic (RM), Earliest Deadline First (EDF), Deadline Monotonic (DM).
- [15/11/2016] Aperiodic tasks : task model, background scheduling, Polling Server (PS), Sporadic Server (SS), Total Bandwidth Server (TBS), TBS*, Constant bandwidth Server (CBS).
- [11/12/2013] Shared resources : critical sections, Priority Inheritance Protocol (PIP).
Sensors
- [28/11/2016] Measures : measurements, errors, propagation of errors, sources of errors.
- [28/11/2016] Introduction to sensors : type of sensors, characteristics of intelligent sensors.
- [29/11/2016] 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.
- [06/12/2016] Sensors - part 2 : pressure sensors; accelerometers; force sensors and cantilevers; load cell.
- [13/12/2016] 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.
- [17/01/2014] Time sensors : oscillators: equivalent circuit, clock, clock drift, parameters and properties, distributed synchronization; Network Time Protocol (NTP).
- [17/01/2014] Errors and compensation : types of errors; compensation techniques; polynomial functions; Look Up Table; Wheatstone bridge.
Seminar of Prof. Almeida
- Coordination of autonomous mobile nodes : content of the lessons from Prof. Almeida, including communication, routing, clock synchronization.
The course also includes a short introduction to MEMS sensors. The presentations regarding the MEMS technology and the relevant compensation techniques of MEMS accelerometers and gyroscopes, can be provided upon request on a USB drive. Please send an email to Prof. Tullio Facchinetti for an appointment to obtain this material.
Practical project
Starting from this year, there are two options for the practical project: a programming project and a simulation design project.
The possibility to work on the robotics simulation design project instead of the programming project must be declared to Prof. Facchinetti in advance. Prof. Facchinetti will decide to allow this option after an evaluation on the skills of the students composing the team.
Programming project
The practical project requires to implement a path planning and navigation algorithm in C, Java or Python under a simulation environment based on the MORSE simulator. The simulation requires a mobile robot to move in a 2D environment to accomplish a given task.
In particular, the eduMorse framework is used for the project. The simulation environment runs under Linux (tested with XUbuntu). It must be a Debian-based distribution, since the installer provided by eduMorse makes use of the apt
command. Its features, characteristics, install instructions and usage are described in a lecture by Daniele De Martini. Detailed information on project goals and constraints can be found here.
Some indications:
- students are invited to form teams of up to 3 members
- the team composition must be communicated to Prof. Facchinetti by email
- if someone has problems in finding a team, please let it know to Prof. Facchinetti, who could put him/her in contact with a team composed by less than 3 members
- the use of git and related tools is optional
- a good management of the software project will be considered in the final evaluation, but it is not mandatory for passing the exam
Additional information, tools and help for the practical project are provided by Daniele De Martini.
Robotics simulation design
The simulation design project consists in the development of a model of a robotics application using the Coppelia Robotics v-rep simulator.
The specific goal of the simulation scene to be developed will be decided once a team expresses the willingness to work on this project instead of the programming project, and Prof. Facchinetti has agreed on this option.
Additional references
- 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.
Suggested books
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.