Università degli Studi di Napoli "Parthenope"

Teaching schedule

Academic year: 
2020/2021
Belonging course: 
Course of Master's Degree Programme on APPLIED COMPUTER SCIENCE (MACHINE LEARNING AND BIG DATA)
Disciplinary sector: 
INFORMATICS (INF/01)
Language: 
English
Credits: 
6
Year of study: 
2
Teachers: 
Cycle: 
Second semester
Hours of front activity: 
48

Language

English/Italian

Course description

The objective of this course is to provide students with a complete and in-depth knowledge of the principles and techniques of artificial intelligence by introducing the classical problems of AI, as well as the models and the ones used to address these problems. The course will start from the definition of intelligent agents to arrive at robotic agents by addressing methodological aspects of Cognitive Robotics. Cognitive robotics consists of equipping embodied robots with a designing behavior and agents that implements a goal processing architecture that enables them to deliberate intelligent and learn and reason about how to behave in response to a complex world. The inspiring models of Cognitive Robotics derive from different disciplines: neural architectures, neuroscience, basic behaviors from ethology, motivations and emotions from psychology, multirobot behavior from sociology. These models could be implemented in terms of formal logic, probabilistic and neural models that turn into embedded computational agents.
The course program is divided into three parts. In the first, after an introduction to the birth of Artificial Intelligence, algorithms for solving research problems algorithms in the state space, online research, and constraint satisfaction and planning problems will be presented.
It will also analyze reasoning and decision making in case of uncertainty, discuss how to represent knowledge, including incomplete and uncertain knowledge of the real world; how to reason logically with that knowledge using probabilities; how to use these models and reasoning methods to decide what to do.

In the second part, cognitive robotics and the main robotics control paradigms and architectures will be introduced up to the introduction of the Human-Machine Interaction discipline.

Finally, in the third part, main robotic programming systems will be introduced. In this case ROS (Robotic Operating System) and Choregraph, an application for programming humanoid robots.

Prerequisites

Basic exams of Mathematics, Programming and Algorithms and Data Structures are fundamental prerequisites for understanding the topics covered

Syllabus

INDEX OF LESSONS
PART 1
I Artificial Intelligence
1. Introduction
2. Intelligent Agents
II Problem-solving
3. Solving Problems by Searching
4. Search in Complex Environments
5. Constraint Satisfaction Problems
6. Adversarial Search and Games (optional)
III Knowledge, reasoning, and planning
7. Logical Agents
8. First-Order Logic
9. Inference in First-Order Logic
10. Knowledge Representation
11. Automated Planning (optional)
PART 2
I Introduction to Cognitive Robotics
12. AI & Robotics (From Robotics to Cognitive Robotics)
13. Robot hardware (sensors and effectors): introduction to: Robotic Software Architectures, Subsumption architecture, Three-layer architecture, Robotic programming languages
II Robotics Control Architectures
14. Robotic Systems and Cognitive Architectures Introduction: Reactive Functionality ( Behaviors, behaviors coordination, Locomotion)
15. Reactive Functionality (Sensing, range sansing)
16. Deliberative Functionality: Deliberation, navigation, planning , localization and mapping (optional)
III Huma-Robot interaction
17. Human-robot interaction
PART 3
I ROS – Robotic Operating System
18. Introduction to ROS, gives you an understanding of the core underlying concepts of ROS.
19. Getting Started with ROS Programming, how to work with ROS packages.
20. Simulating Robots Using ROS
21. Develop robotic controlling algorithms
II Programming Humanoid Robots
22. Introduzione su Pepper, Robot sociali. Guida sviluppatori: NAOqi OS, Prima configurazione Pepper, Come connettere Pepper in rete, Download e installazione del soIware Aldebaran: Choreographe Suite, Python in Choregraphe, Dialogo in Choregraphe
23. SDK: Creare un’applicazione, Hello World, Applicazione di ballo, Applicazione interattiva; Creare un’applicazione da zero, Utlizzo del tablet
III Programming the Humanoid Robot NAO
24. How to switch on the NAO Humanoid Robot

The course aims to convey a complete and in-depth knowledge of the principles and techniques of artificial intelligence by introducing the classical problems of AI, as well as the models and algorithms used to address these problems, confining towards the aspects of cognitive robotics. The course aims to provide students with the methods and techniques to be able to design simulate and program robotic or real through the use of tools and programming device languages ​​at the state of the art.

Teaching Methods

Lectures will be given in the classroom. It will be possible to follow the lessons in real time even remotely through the teams platform (It depends on current Government’s rules about COVID pandemic situation).
The study and in-depth study of the topics will also be carried out through in lab coding exercises and/or homework.
The Didactic Material properly prepared will be provided through the E-LEARNING platform and shared within the TEAMS files.
ATTENDANCE IN THE CLASSROOM IS STRONGLY RECOMMENDED although not mandatory in order to take the final exam

Textbooks

• Murphy R.R. - Introduction to AI robotics - MIT Press - 2000
• S. Russell, P. Norvig, “Artificial Intelligence. A Modern Approach", Prentice Hall, Second Edition - 2003
• Arkin R.C. - Behavior-based robotics - MIT Press – 1998
• Pefeifer R. & Scheier C. - Understanding Intelligence - MIT Press - 2000
• Lentin J. and Cacace J., Mastering ROS for Robotics Programming: Design, build, and simulate complex robots using the Robot Operating System, BIRMINGHAM –MUMBAI - 2018

Learning assessment

Each student will take part in the realization of a group project (composed of 2 to 3 Students) agreed with the Professor, on which the practical skills acquired will be individually assessed.
Verification will be based on:
1. A PROJECT REPORT which aims to verify that the student has acquired the ability to DESIGN AND DEVELOP (programming) a robotic control system based on AI techniques, EVALUATED in a simulated or real scenario, depending on the robotic platform the student aims at deploying.
2. An ORAL EXAMINATION: students will present the project carried out through slides for the individual assessment of the skills acquired by the student.

More information

INDEX OF LESSONS
PART 1
I Artificial Intelligence
1. Introduction
2. Intelligent Agents
II Problem-solving
3. Solving Problems by Searching
4. Search in Complex Environments
5. Constraint Satisfaction Problems
6. Adversarial Search and Games (optional)
III Knowledge, reasoning, and planning
7. Logical Agents
8. First-Order Logic
9. Inference in First-Order Logic
10. Knowledge Representation
11. Automated Planning (optional)
PART 2
I Introduction to Cognitive Robotics
12. AI & Robotics (From Robotics to Cognitive Robotics)
13. Robot hardware (sensors and effectors): introduction to: Robotic Software Architectures, Subsumption architecture, Three-layer architecture, Robotic programming languages
II Robotics Control Architectures
14. Robotic Systems and Cognitive Architectures Introduction: Reactive Functionality ( Behaviors, behaviors coordination, Locomotion)
15. Reactive Functionality (Sensing, range sansing)
16. Deliberative Functionality: Deliberation, navigation, planning , localization and mapping (optional)
III Huma-Robot interaction
17. Human-robot interaction
PART 3
I ROS – Robotic Operating System
18. Introduction to ROS, gives you an understanding of the core underlying concepts of ROS.
19. Getting Started with ROS Programming, how to work with ROS packages.
20. Simulating Robots Using ROS
21. Develop robotic controlling algorithms
II Programming Humanoid Robots
22. Introduzione su Pepper, Robot sociali. Guida sviluppatori: NAOqi OS, Prima configurazione Pepper, Come connettere Pepper in rete, Download e installazione del soIware Aldebaran: Choreographe Suite, Python in Choregraphe, Dialogo in Choregraphe
23. SDK: Creare un’applicazione, Hello World, Applicazione di ballo, Applicazione interattiva; Creare un’applicazione da zero, Utlizzo del tablet
III Programming the Humanoid Robot NAO
24. How to switch on the NAO Humanoid Robot