Sistemi intelligenti robotici 2013/2014
Al termine del corso, lo studente possiede le competenze che permettono di progettare un sistema costituito da uno o più agenti robotici (ove si intende per agente robotico un dispositivo fisico che elabora informazioni acquisite dall'ambiente e agisce su di esso in modo autonomo). In particolare, lo studente possiede le conoscenze relative ai modelli, ai metodi, alle architetture e agli strumenti principali per la programmazione di agenti robotici dotati di significative capacità computazionali e cognitive.
- Sistemi dinamici complessi: definizioni e nozioni preliminari - propedeutici agli argomenti di robotica
- Definizioni e concetti preliminari (sistema, modello, dinamica, ecc.)
- Sistemi dinamici discreti (concetti di spazio delle fasi e degli stati, traiettoria, attrattore, biforcazione, transizione di fase, caos)
- Esempi: automi cellulari, reti booleane
- Cenni sulle reti complesse (grafi random, scale-free, small-world e applicazioni)
- Metodi, approcci ed esempi rilevanti per la progettazione di agenti e robot
- Behavior-Based Robotics
- The Subsumption Architecture
- Artificial Evolution and Artificial Life
- The Dynamical Systems Approach
- Progettazione automatica di programmi per robot
- Approfondimenti ed esempi (e.g., nozioni di embodiment, sensory-motor coordination e nicchie)
- Relazioni con machine learning e pianificazione
- Attività di laboratorio: esperimenti in simulazione e con robot fisici
- Simulatori di sistemi robotici
- Programmazione di sistemi robotici reali (e.g., e-puck, Lego Mindstorm)
- Il testo principale usato nel corso è: R. Pfeifer and C. Scheier, "Understanding intelligence", The MIT Press, 1999.
- Saranno, inoltre, utilizzate parti dei seguenti testi:
- 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.
Il corso prevede lezioni frontali in aula e attività di laboratorio. Le attività di laboratorio saranno strutturate in modo da permettere allo studente di applicare le conoscenze acquisite durante le lezioni frontali e negli insegnamenti collegati al presente corso.
L'esame di fine corso ha l'obiettivo di valutare il raggiungimento dei principali obiettivi formativi, cioè la conoscenza dei metodi e dei principali esempi di programmazione di robot e la capacità di progettare un sistema robotico in grado di svolgere compiti significativi. La verifica avviene mediante la presentazione e discussione di una relazione riguardante un progetto sviluppato dagli studenti (anche in piccoli gruppi e su temi collegati ad altri insegnamenti). I principali criteri di valutazione riguardano la conoscenza degli argomenti trattati nel corso, la metodologia seguita durante il progetto e il rigore scientifico.
Nel corso sarà utilizzato materiale didattico fornito dal docente (lucidi e articoli tratti da riviste e convegni). Inoltre, le attività di laboratorio prevedono l'utilizzo di simulatori robotici (e.g., Webots e ARGoS) e di robot reali, quali robot e-puck e Lego Mindstorm.