cod. 07233

Academic year 2019/20
1° year of course - Second semester
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
Ingegneria informatica
Type of training activity
48 hours
of face-to-face activities
6 credits
hub: PARMA
course unit

Learning objectives

The aim of this course is to introduce the theoretical concepts and techniques for developing autonomous robot systems and in particular:
-the main sensor technologies and the techniques for processing sensor measurements;
-the robot control architectures and organization;
-the methods and techniques for the execution of complex tasks like navigation, manipulation and grasping, human-robot interaction by autonomous systems.

The course promotes acquisition of design skills like:
-to use different sensors (laser scanners, cameras, 3D perception systems) and to achieve a suitable representation of the environment from sensor measurements;
-to design and develop the control software of a mobile robot that is able to execute tasks in order to solve a specific problem;
-to use standard software tools and libraries to perform navigation, motion planning, manipulation and grasping, perception.


Computer programming and software development skills in C/C++ for Unix-like environment.
Geometry, linear algebra and mathematical representation of reference frames in space.
Basic notions about automatic control.

Course unit content

- Introduction and classification of robotic systems
- Sensors and perception
- Sensor data and feature extraction
- Object recognition and environment modeling
- Robot control architectures
- Configuration space and motion planning
- Robot teleoperation
- Human-Robot interaction
- Haptics
- Robot manipulation and grasping
- Imitation and robot programming by demonstration
- Reinforcement Learning
- Mobile robot navigation
- Behavior-based Robotics
- Probabilistic robotics for robot-environment state estimation
- Localization, Mapping and SLAM

Full programme

1. Introduction and classification of robotic systesms (2 h)
1.1 History and development of robots
1.2 Classification of robotic systems
2. Sensors and perception (4 h)
2.1 Sensor types and overview
2.2 Perception and Feature extraction
2.3.1 Geometric features
2.3.2 Image features (SIFT, SURF, ORB)
2.3.3 Point cloud features (FPFH, SHOT)
2.4 Outliers and Random Consensus algorithms
3. Robotic control architectures (2 h)
3.1 Paradigms in robotic control architectures
3.2 Hierarchical paradigm
3.2.1 Logic planners (STRIPS)
3.3 Reactive paradigm
3.3.1 Subsumption architecture
3.3.2 Motor Schema
3.4 Hybrid paradigm
4. Motion planning (6 h)
4.1 Geometric transformations and quaternions
4.2 Introduction to motion planning algorithms. Bug algorithms.
4.3 Cell decomposition algorithms
4.4 Potential field algorithms
4.5 Algorithms based on roadmaps
4.6 Probabilistic algorithms (PRM, RRT)
5. Robot teleoperation. Human-Robot interaction. (2 h)
6. Haptics. Robot manipulation and grasping. (2 h)
7. Robot Learning (2 h)
7.1 Reinforcement learning
7.2 Imitation Learning
7.2.1 Techniques based on precedence graph
7.2.2 Techniques based on Hidden Markov Models (HMM)
8. Navigation (6 h)
8.1 Wheel models, unicycle and bicycle robots.
8.2 Holonomic and Pfaffian constraints, curvature, motion control.
8.3 Path and trajectory planning with motion control.
8.4 Navigation in robotic architectures
8.5 Local navigation algorithms (VFH, Dynamic Window)
9. Probabilistic Robotics in Robot Localization and Mapping (6 h)
9.1 Probabilistic robotics.
9.2 Probability. ML and MAP criteria.
9.3 Bayesian filters. Montecarlo Methods
9.4 Kalman Filter. Extended Kalman Filter (EKF).
9.5 Localization, mapping and SLAM.
9.5.1 EKF localization and EKF SLAM
9.5.2 Classification of Maps.
9.5.3 Data association methods.
9.5.4 GraphSLAM methods.

Laboratory practicals:
1. Introduction to ROS. Use and deployment of robot control applications.
2. Programming the mobile robot (Pioneer 3DX) and development of robotic behaviors.
3. Introduction to MoveIt! for robot motion planning and grasping.
4. Point cloud processing using Point Cloud Library (PCL) with sensor LIDAR 3D.
5. Motion Capture methods.


- H. Choset, K. M. Lynch, S. Hutchinson, G. Kantor, W. Burgard, L. E. Kavraki and S. Thrun, "Principles of Robot Motion", MIT Press, 2005.
- R. Siegwart, I.R. Nourbakhsh and D. Scaramuzza, "Introduction to Autonomous Mobile Robots", Second Edition, MIT Press. 2011.
- S. Thrun, W. Burgard and D. Fox, "Probabilistic Robotics", MIT press 2005.
- B. Siciliano, L. Sciavicco, L. Villani, G. Oriolo, "Robotics: Modelling, Planning and Control (Advanced Textbooks in Control and Signal Processing)", Springer, 2009.
- Aa. Vv. a cura di B. Siciliano, O. Khatib, "Springer Handbook of Robotics", Springer-Verlag, Second Edition, Springer-Verlag, 2016.
- S.M. LaValle, "Planning Algorithms", Cambridge University Press, 2006,
- P. Corke, "Robotics, Vision and Control: Fundamental Algorithms in MATLAB", Springer Verlag, 2017.

Teaching methods

The course consists of lectures and practicals in the laboratory.
During lectures the main concepts, algorithms and methods of Robotics are presented and illustrated with case studies, when possible.
The slides and lecture notes used in the course are weekly loaded.
Laboratory practicals enables the students to ascertain some of the proposed methods and topics using robots and devices, and to apply them to specific problems.
Beside the standard frameworks and software libraries commonly used in Robotics (e.g. ROS), source code is also provided through revision control systems (repository).

Assessment methods and criteria

The evaluation of the course consists of three examinations.
1) The written test, which contributes to 47% of the final mark, is organized into six questions or exercices. The knowledge of robotic concepts and the capabilty to apply algorithms and methods to simplified problems are assessed by such written test.
The duration of written test is 2.5 hours and the mark interval scale is 0-30.
2) The laboratory assignement, which contributes to 6% of the final mark, requires to program a mobile robot in order to execute a specific task. The assignment takes place as a competition among teams of two-three students. The assignment ascertains skills about problem solving, software programming with standard tools in robotics, and team working.
The outcome is binary (positive or non-positive).
3) The project, which contributes to 47% of the final mark, requires to develop a solution for a specific robotic problem. Project topics include perception algorithms (computer vision, range sensing and depth camera processing), demos with mobile robots or manipulator, software components for robotic systems. The project is carried out by students or by groups of two-three students. The project is concluded by a report and an oral presentation of the results. The mark value spans in interval 0-10.

Other information

Lecture notes are available on web page