AUTONOMOUS ROBOTICS
cod. 1009163

Academic year 2021/22
1° year of course - Second semester
Professor
- Dario LODI RIZZINI
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
Ingegneria informatica
Type of training activity
Characterising
48 hours
of face-to-face activities
6 credits
hub: PARMA
course unit
in ITALIAN

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 and manipulation 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.

Prerequisites

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

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 and manipulation 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.

Full programme

1. Introduction: history of robots, classification of robotic systesms (2 h)
2. Framework ROS: middleware, nodes, packages and tools (2 h)
3. Geometric transformations, quaternions, Lie groups and algebras (2 h)
4. Sensors and perception (6 h)
4.1 Sensor overview
4.2 Sensor working principles: time-of-flight, structured light, stereo vision
4.3 Extrinsic calibration: hand-in-eye, hand-to-eye
4.4 Perception
4.5 Feature extraction: geometric features, image keypoints (SIFT, SURF, ORB), point cloud keypoints (FPFH, SHOT)
4.6 Outliers and Random Consensus algorithms
5. Robotic control architectures (2 h)
5.1 Paradigms in robotic control architectures
5.2 Hierarchical paradigm, logic planning (STRIPS)
5.3 Reactive paradigm: Subsumption architecture, Motor Schema
5.4 Hybrid paradigm
6. Motion planning (8 h)
6.1 Introduction to motion planning algorithms. Bug algorithms.
6.2 Cell decomposition algorithms
6.3 Potential field algorithms
6.4 Algorithms based on roadmaps
6.5 Probabilistic algorithms (PRM, RRT)
7. Navigation (6 h)
7.1 Wheel models, unicycle and bicycle robots.
7.2 Holonomic and Pfaffian constraints, curvature, motion control.
7.3 Path and trajectory planning with motion control.
7.4 Navigation in robotic architectures
7.5 Local navigation algorithms (VFH, DWA)
8. Probabilistic Robotics in Robot Localization and Mapping (8 h)
8.1 Probabilistic robotics.
8.2 Probability. ML and MAP criteria.
8.3 Bayesian filters. Montecarlo Methods (hints)
8.4 Kalman Filter. Extended Kalman Filter (EKF).
8.5 GraphSLAM methods.
8.6 Localization, mapping and SLAM.
8.6.1 EKF localization and EKF SLAM
8.6.2 Classification of Maps.
8.6.3 Data association methods.

Laboratory practicals (12 h):
1. Introduction to ROS. Measuring sensor precision
2. Programming the mobile robot (Pioneer 3DX). Development of robotic behaviors.
3. Introduction to MoveIt! for robot motion planning and grasping.
4. Localization and mapping software tools
5. Point cloud processing using Point Cloud Library (PCL).

Bibliography

- 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, http://planning.cs.uiuc.edu/.
- 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.
Upon a properly justified request, the written test may be substituted by an equivalent oral test in video conference mode. The registration to the test, the topics and the questions are equivalent to the written test.
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 (with slides). The mark value spans in interval 0-30.

Other information

Lecture notes are available on the learning portal Elly (the specific URL may change yearly).