CODICE 106723 ANNO ACCADEMICO 2024/2025 CFU 4 cfu anno 2 ROBOTICS ENGINEERING 10635 (LM-32) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05 LINGUA Inglese SEDE GENOVA PERIODO 1° Semestre MATERIALE DIDATTICO AULAWEB PRESENTAZIONE L'aspetto sperimentale è fondamentale in una disciplina come la robotica, nella quale varie competenze teoriche (controlli automatici, computer vision, architetture software, programmazione real-time,...) si fondono in sistemi concreti e piattaforme meccatroniche. Il corso ambisce a fornire agli studenti una metodologia per compiere questo passaggio, e colmare il gap tra la teoria e l'implementazione pratica, tramite lezioni frontali, esercitazioni e progetti. Nello specifico, il corso fornirà gli elementi base per implementare delle simulazioni robotiche, comprendendo aspetti legati alle architetture software, computer vision, localizzazione autonoma e pianificazione del movimento. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI The course's aim is to put into action the theoretical knowledge acquired in other courses, providing some robotic setups for specific implementations. The course will also include methodological information on experiments design and validation of results.. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO La frequenza e la partecipazione attiva alle attività formative proposte (lezioni frontali e attività in laboratorio), lo studio individuale e la realizzazione di progetti di gruppo consentiranno allo studente di: - conoscere e saper utilizzare framework software per la robotica (ROS/ROS2); - progettare un'architettura software modulare e funzionale per un robot mobile; - implementare una simulazione robotica, utilizzando strumenti software come Gazebo e CoppeliaSim; - creare nuovi modelli robotici e plugin di controllo in simulazione, avendo così controllo completo sull'ambiente simulativo; - utilizzare framework per la pianificazione delle azioni in robotica; - conoscere, modificare e utilizzare algoritmi per la navigazione di robot mobili in ambienti non strutturati; - implementare semplici controllori per manipolatori in ambiente simulativo; - utilizzare architetture cloud per il controllo remoto di robot; - sviluppare la propria immaginazione e creatività, riflessione critica, pensiero strategico (Open Badge: competenza in creazione progettuale). PREREQUISITI Essendo l'obiettivo principale del corso quello di mettere in pratica aspetti teorici appresi in altre discipline, le seguenti conoscenze sono necessarie per affrontare il corso in maniera ottimale: - architetture software per robotica; - ROS (Robot Operating System); - programmazione (C++, python). MODALITA' DIDATTICHE L'insegnamento consiste in lezioni frontali e esercitazioni. Durante le lezioni frontali, verranno forniti diversi esempi relative alle implementazioni software oggetto del corso. Sono previsti esercizi pratici e progetti, da svolgere in gruppo, utilizzando le piattaforme robotiche Rosbots 2.0. Si consigliano gli studenti lavoratori e gli studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali di contattare il docente all'inizio del corso per concordare modalità didattiche e d’esame che, nel rispetto degli obiettivi dell’insegnamento, tengano conto delle modalità di apprendimento individuali. PROGRAMMA/CONTENUTO Il programma del corso prevede la presentazione e discussione dei seguenti argomenti: - Fondamenti di ROS e Docker; - Design di architetture software; - Rappresentazione della conoscenza; - Simulazioni con ROS, Gazebo e VRep: - Modelli robotici con ROS e Gazebo: URDF e XACRO; - OpenCV e ROS; - ROSPlan; - Simulazioni di manipolatori; - REST APIs; - Pianificazione del movimento e localizzazione di robot mobili. Un'immagine Docker, con un'installazione ROS/ROS2 completa e alcune librerie verrà fornita all'inizio del corso. Durante il corso verranno svolte esercitazioni pratiche con i robot ROSbot 2.0 TESTI/BIBLIOGRAFIA Tutte le slides utilizzate durante le lezioni e altro materiale didattico saranno disponibili su aulaweb. In generale, gli appunti presi durante le lezioni e il materiale su Aulaweb saranno sufficienti per il corso. DOCENTI E COMMISSIONI CARMINE TOMMASO RECCHIUTO Ricevimento: Ricevimento su appuntamento, presso il Dipartimento di Informatica, Bioingegneria, Robotica, e Ingegneria dei Sistemi (DIBRIS), via all'Opera Pia 13, 16145, oppure online sulla piattaforma Microsoft Teams. Per qualsiasi domanda, contattare il docente all'indirizzo mail: carmine.recchiuto@dibris.unige.it Commissione d'esame CARMINE TOMMASO RECCHIUTO (Presidente) GIOVANNI MOTTOLA ANTONIO SGORBISSA (Presidente Supplente) LEZIONI INIZIO LEZIONI https://easyacademy.unige.it/portalestudenti/index.php?view=easycourse&_lang=it&include=corso Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME Durante il corso, gli studenti dovranno svolgere, in gruppo o singolarmente, due progetti riferiti ai contenuti del corso. L'esame finale consisterà invece in una prova scritta, che comprende anche alcune esercitazioni pratiche. La valutazione finale sarà composta dalla valutazione degli assignment intermedi (50%), e dalla valutazione della prova scritta/pratica finale (50%). MODALITA' DI ACCERTAMENTO La prova finale e l'implementazione dei progetti si prefiggono di accertare i seguenti aspetti della preparazione dello studente: - Conoscenze acquisite circa l'implementazione di simulazioni robotiche. - Capacità di applicare metodologie corrette per la soluzione pratica di problemi teorici. - Capacità di implementare architetture software adatte alla soluzione di problemi in ambito robotico. Calendario appelli Data appello Orario Luogo Tipologia Note 08/01/2025 14:00 GENOVA Scritto 24/01/2025 09:00 GENOVA Scritto 14/02/2025 14:00 GENOVA Scritto 12/06/2025 14:00 GENOVA Scritto 26/06/2025 14:00 GENOVA Scritto 16/07/2025 14:00 GENOVA Scritto 10/09/2025 14:00 GENOVA Scritto OpenBadge PRO3 - Soft skills - Creazione progettuale base 1 - A