Advanced Robotics and Autonomous Systems
Anno accademico 2026/2027 - Docente: CORRADO SANTORORisultati di apprendimento attesi
- 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.
- 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.
- 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.
- 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.
- 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
- Richiami di sistemi dinamici
- Richiami di controllo PID
- Richiami di implementazione di sistemi dinamici e schemi di controllo
- Modellazione di sistemi dinamici
- Controllo Fuzzy
- Controllo LQR
- Controllo MPC
- Filtri digitali
- Filtri predittivi e filtri di Kalman
- SLAM
- ROS
- Ragionamento e pianficazione
- 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.