Academic Year 2023/2024 - Teacher: CORRADO SANTORO

Expected Learning Outcomes

  1. Knowledge and understanding. The course "Robotic Systems Programming" has the objective of providing the students with the knowledge on the principles, models, techniques and tools to program robotic systems and autonomous system in general. The lectures are based on teaching the principles of dyamic system modeling, automated control, control algorithms, and techniques and languages to program the autonomous behaviour of a robot. Laboratory activities have the aim of testing, in practice, all the topics dealt with in the classroom lectures.  
  2. Applying knowledge and understanding. By means of the analysis of various case-study and with many laboratory exercises, the course allows students to obtain the capability of applying the techniques learnt during classroom lessons in applicative contexts based on robotic systems. Students will also able to unsterstand how to design and tune robotic control algorithms the specific application in which they it will be employed.
  3. Making judgements. The lectures and, above all, the laboratory activities are organised in a way such as to include a critical analysis of some case-studies, with the relevant solutions considered with possibile variations, and pro and cons of them; the aim is to let the student acquire an adequate autonomy in the evaluation of technical choices.
  4. Communication skills.The communication skills will be considered above all during the exams, here the student will be asked to expose her/his implementation choices providing suitable motivations for them.
  5. Learning skills.  Learning skills will be evaluated during the laboratory. The aim is to test how and how much students have understood the basics of robotic systems and whether they are able to design and develop software for such kind of systems. The evaluatin of the learning skills will be then exploited to elaborate (if needed) the arguments that are revealed as the hardest.

Course Structure

Lessons are carried out in the classroom using a frontal approach by including also examples and exercises and by using both slides and the traditional backboard.

Required Prerequisites

  • Computer architectures
  • C/C++ and Python programming
  • Software engineering
  • Algorithms and data structures
  • Math analysis and complex numbers
  • Linear algebra and matrix calculus

Detailed Course Content

Course contents are reported at the link and summarised in the following:

  1. Introduction to robotic systems. Robotic system concept. The "feedback" control model. Overview of control models. Software layer of an autonomous robot.
  2. Dynamic Systems. Model of dynamic system. Representation with differential equation and integration examples. Discretization. Canonical Inputs. Impulse response. Step response. Equilibrium. Simple and asymptotic stability. Instable systems. Composition of dynamic systems.
  3. Basics of automated control. Feedback control schema. PID controllers.
  4. Speed and position control of a DC motor. PWM and H-Bridge driving. Reading of position and speed with encoders. Speed loop. Position loop.
  5. Position control of a wheeled mobile robot. Cinematic model. Odometry. Control schemas.
  6. Mobile robot navigation. Navigation algorithms. Obstacle avoidance. Path planning.
  7. Behaviour of an autonomous root. Rule production systems. Knowledge and reasoning. Planning.

Textbook Information

  • R. Siegwart, I. R. Nourbakhsh, Introduction to Autonomous Mobile Robots, The MIT Press
  • Peter Corke, Robotics, Vision and Control: Fundamental Algorithms in MATLAB, Springer
  • Course slides

Course Planning

 SubjectsText References
1Robotic systemsSlides del corso
2Dynamic systemsSlides del corso
3Dynamic system of higher orderSlides del corso
4StabilitySlides del corso
5Elements of automationSlides del corso
6Speed and position control of a DC motorSlides del corso
7Speed and position control of a mobile wheeled robotSiegwart, Corke
8Mobile robot navigationSiegwart, Corke
9Behaviour of an autonomous robotSlides del corso

Learning Assessment

Learning Assessment Procedures

  • Project
  • Oral examination

Examples of frequently asked questions and / or exercises

  • System modeling
  • System discretization
  • Stability and system response
  • PID control, role of the constants
  • Locomotion models of mobile robots
  • Implementation of position and speed control
  • Path planning and obstacle avoidance algorithms
  • Robot behaviour programming