Learning outcomes of the course unit
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 complex tasks;
-to use software tools and libraries to perform motion planning, manipulation and grasping.
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 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
- 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
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 h)
2.1 Sensor types and overview
2.2 Perception and feature extraction
3. Robotic control architectures (4 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 (8 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 (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)
8. Navigation (2 h)
8.1 Unicycle cart and motion planning
8.2 Navigation in robotic architectures
8.3 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.6 GraphSLAM 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 Environment).
3. Physics-based programming using ODE (Open Dynamics Engine) library.
4. Programming the mobile robot Pioneer 3DX and development of robotic behaviors.
5. Point cloud processing using Point Cloud Library (PCL).
* H. Choset, K. M. Lynch, S. Hutchinson, G. Kantor, W. Burgard, L. E. Kavraki
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 2005.
* J.-C. Latombe, "Robot Motion Planning", Kluwer Academic Pub., 1991.
* S.M. LaValle, "Planning Algorithms", Cambridge University Press, 2006, http://planning.cs.uiuc.edu/.
The course consists of lectures and practicals in the laboratory.
Assessment methods and criteria
Written test, evaluation of assignments and final project.