72527 - Intelligent Robotic Systems

Academic Year 2016/2017

  • Docente: Andrea Roli
  • Credits: 6
  • SSD: ING-INF/05
  • Language: Italian
  • Teaching Mode: Traditional lectures
  • Campus: Cesena
  • Corso: Second cycle degree programme (LM) in Computer Science and Engineering (cod. 8614)

Learning outcomes

At the end of the course, students have acquired knowledge and competencies for designing a system composed of one or more robots (here, we call "robot" an autonomous system which exists in the physical world, can sense its environment and can act on it to achieve some goals). In particular, students know the main models, methods, architectures and tools for programming robots equipped with nontrivial computational and cognitive capabilities.

Course contents

Introduction to robotics   
- Notions of robot and its behaviour in a physical environment
- Main issues in intelligent robotic systems design

Complex dynamical systems: basic definitions and concepts - propaedeutic to robotic topics   
- Basic definitions: system, model, dynamics, etc.
- Discrete dynamical systems (notions of phase and state space, trajectory, attractor, bifurcation, phase transition, chaos) 
- Examples: cellular automata, Boolean networks

Main methods and approaches for programming robotic systems
- Behavior-Based Robotics    
- The Subsumption Architecture 
- Artificial Evolution and Artificial Life    
- Automatic design of robot programs
- Notable examples (e.g., notion of embodiment, sensory-motor coordination, niches)    
- Fuzzy logic and fuzzy systems

Robot learning
- Reinforcement learning
- Neural networks for robots

Robot planning
- Informed search algorithms. A* and its variants for path planning problems
- STRIPS and its extensions
- Nonlinear planning

Lab activities
- Experiments with robotics simulators


Course textbook: R. Pfeifer and C. Scheier, "Understanding intelligence", The MIT Press, 1999.

Additional books:

R. Pfeifer and J. Bongard, "How the body shapes the way we think", The MIT Press, 2007 

M. Mataric, "The Robotic Primer", The MIT Press, 2007.

Teaching methods

The course is composed of class lessons and lab activities. The latter activities will be organised such that students will have the opportunity of making experience of the knowledge acquired during the lessons in the class. In addition, projects in the lab will be planned so as to enable students to integrate also their studies made attending related courses.

Assessment methods

The final exam aims at evaluating the extent to which students have reached the teaching objectives, i.e., the knowledge of the subjects tought in the course and the capability of designing and programming a robotic system. The exam consists in the presentation and the discussion of a project developed by the students (possibly in small groups) and the discussion of topics illustrated in the course. The main criteria are the evaluation of the knowledge acquired, the methodology used in the project and the scientific method used.

Teaching tools

Students will be given teaching material prepared by the teacher (slides and papers published in journals and conferences). In addition, lab activities will make use of robotic simulators (e.g., ARGoS) and, whenever it is possible, of real robots.

Links to further information


Office hours

See the website of Andrea Roli