Advanced Robotics and Autonomous Systems

Anno accademico 2026/2027 - Docente: CORRADO SANTORO

Risultati di apprendimento attesi

  1. Conoscenza e capacità di comprensione (knowledge and understanding). Il corso di "Programmazione di Sistemi Robotici e Laboratorio" si prefigge l'obiettivo di fornire agli studenti le conoscenze sui principi, modelli, tecniche e strumenti per la programmazione di sistemi robotici e sistemi autonomi in genere. Le lezione teoriche si basano sull'insegnamento dei principi della modellazione dei sistemi dinamici, del controllo automatico, degli algoritmi di controllo, delle tecniche e dei linguaggi per la programmazione del comportamento dei sistemi robotici. Le esercitazioni di laboratorio hanno l'obiettivo di testare, in pratica, gli argomenti studiati in aula.  
  2. Capacità di applicare conoscenza e comprensione (applying knowledge and understanding). Attraverso l'analisi di diversi casi di studio e tramite esercitazioni in laboratorio, il corso consente allo studente di ottenere le capacità di applicare le tecniche acquisite durante le lezioni teoriche nei contesti applicativi tipici dei sistemi robotici; lo studente sarà altresì in grado di comprendere come progettare e implementare un sistema robotico.
  3. Autonomia di giudizio (making judgements). Le lezioni del corso e soprattutto le attività di laboratorio sono organizzate in modo da includere un'analisi critica di casi di studio, delle soluzioni impiegate, delle possibili varianti e dei pro e contro di queste ultime, al fine di consentire allo studente di acquisire un'adeguata autonomia di valutazione delle scelte tecniche.
  4. Abilità comunicative (communication skills). Le abilità comunicative dello studente saranno considerate soprattutto durante la prova d'esame al calcolatore, in cui lo studente è chiamato ad esporre le scelte implementative adottate e motivandole opportunamente. 
  5. Capacità di apprendimento (learning skills). Le capacità di apprendimento degli studenti saranno valutate durante le esercitazioni di laboratorio, le quali hanno l'obiettivo di testare quanto e come gli studenti abbiano compreso il funzionamento dei sistemi robotici e quanto siano in grado di progettare adeguatamente il software per tali sistemi. La valutazione del livello di apprendimento sarà dunque utilizzato per approndire (qualora sia necessario) gli argomenti e le parti che si sono rivelati particolarmente ostici. 

Prerequisiti richiesti

  • Architettura degli elaboratori
  • Programmazione in linguaggio C/C++ e Python
  • Ingegneria del software
  • Algoritmi e strutture dati
  • Elementi di analisi matematica dei numeri complessi
  • Algebra lineare e calcolo matriciale
  • Basi di sistemi dinamici e controlli automatici

Contenuti del corso

  1. Richiami di sistemi dinamici
  2. Richiami di controllo PID
  3. Richiami di implementazione di sistemi dinamici e schemi di controllo
  4. Modellazione di sistemi dinamici
  5. Controllo Fuzzy
  6. Controllo LQR
  7. Controllo MPC
  8. Filtri digitali
  9. Filtri predittivi e filtri di Kalman
  10. SLAM
  11. ROS
  12. Ragionamento e pianficazione
  13. Sistemi Prolog e BDI

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

L'esame e' costituito dalla valutazione del progetto che verra' assegnato dal docente preliminarmente, e dalla valutazione della prova orale.