Learning outcomes of the course unit
The aim of this course is to introduce practical techniques for
development of autonomous robot systems. The course promotes
acquisition of design skills and consists of theory lectures, seminar
presentations on selected topics and laboratory demonstrations.
Adequate knowledge of architecture and programming of computer
systems is recommended. Software design, dynamic systems, and
control techniques notions are occasionally referenced.
Course contents summary
-Introduction and classification of robotic systesms
-Sensors and perception
-Sensor data and feature extraction
-Object recognition and environment modeling
-Robot control architectures
-Configuration space and motion planning
-Robot manipulation and grasping
-Imitation and robot programming by demonstration
-Mobile robot navigation
-Probabilistic robotics for robot-environment state estimation
-Localization, Mapping and SLAM
1. Introduction and classification of robotic systesms (2 h)
1.1 History and development of robots
1.2 Classification of robotic systesms
2. Sensors and perception (2 ore)
2.1 Sensor types and overview
2.2 Perception and feature extraction
3. Robotic control architectures (4 ore)
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 (8 ore)
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 (4 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)
7. Navigation (2 h)
7.1 Unicycle cart and motion planning
7.2 Navigation in robotic architectures
7.3 Local navigation algorithms (VFH, Dynamic Window).
8. Probabilistic Robotics in Robot Localization and Mapping (6 h)
8.1 Probabilistic robotics.
8.2 Probability. ML and MAP criteria.
8.3 Bayesian filters. Montecarlo Methods
8.4 Kalman Filter. Extended Kalman Filter (EKF).
8.5 Localization, mapping and SLAM.
8.5.1 EKF localization and EKF SLAM
8.5.2 Classification of Maps.
8.5.3 Data association methods.
1. Introduction to ROS framework and acquisition of data from laser
scanners and RGB-D sensors.
2. Introduction to OpenRAVE (Open Robotics Automation Virtual
3. Physics-based programming using ODE (Open Dynamics Engine)
4. Programming the mobile robot Pioneer 3DX and development of
5. Point cloud processing using Point Cloud Library (PCL).
* H. Choset, K. M. Lynch, S. Hutchinson, G. Kantor, W. Burgard, L. E.
and S. Thrun, “Principles of Robot Motion”, The MIT Press, 2005.
* R. Siegwart, I.R. Nourbakhsh, "Autonomous Mobile Robots", MIT Press.
* R. Murphy: "Introduction to AI Robotics", MIT press, 2000.
* R. Arkin, "Behavior-Based Robotics", MIT Press, 1998.
* H.R. Everett, "Sensors for mobile Robots", A.K. Peters, 1995.
* S. Thrun, W. Burgard and D. Fox, "Probabilistic Robotics", MIT press
* J.-C. Latombe, "Robot Motion Planning", Kluwer Academic Pub., 1991.
* S.M. LaValle, "Planning Algorithms", Cambridge University Press, 2006,
The course consists of lectures and practicals in the laboratory.
Assessment methods and criteria
Written test, evaluation of assignments and final project.
Lecture notes are available on web page lea.unipr.it.