L'obiettivo del corso Research Track II è quello di fornire agli studenti strumenti avanzati per sviluppare software in ambito robotico, e per presentare i risultati del loro lavoro. Lezioni frontali e esercizi in classe aiuteranno gli studenti a imparare e analizzare gli strumenti più rilevanti per programmazione robotica avanzata e presentazione dei risultati (ROS, ROS2, CoppeliaSIM, MatPlotLib, Jupyter Notebook, Doxygen, Sphinx).
Robotics is a multi-disciplinary field characterised by a high degree of research. Research Track 1 and Research Track 2 are aimed at developing a series of must-have know-how and expertise that any researcher in Robotics must be acquainted to. In particular, Research Track 2 will consider subjects related to project design, development, assessment, reporting, as well as ancillary knowledge as experimental methodologies, data visualisation, bibliography research, pitch presentations.
La partecipazione attiva nelle attività proposte (lezioni e attività di laboratorio), lo studio individuale e la realizzazione di progetti permetterà agli studenti di:
- usare alcune funzionalità specifiche del framework ROS (e.g. actions)
- conoscere i principi di ROS2 e le principali differenze con ROS
- sviluppare architetture software in ROS2
- interfacciare il software sviluppato con strumenti di simulazione come Gazebo e CoppeliaSim
- utilizzare librerie software per visualizzare i dati graficamente
- usare notebook per controllare e monitorare simulazioni robotiche
- scrivere una corretta documentazione per il software sviluppato
Il corso continua le tematiche e le esercitazioni sviluppate in Research Track I.
L'insegnamento consiste in lezioni frontali e esercitazioni.
Durante le lezioni frontali, verranno forniti diversi esempi relative alle implementazioni software oggetto del corso.
Gli esercizi in classe verranno realizzati in maniera individuale, o a gruppi.
Il programma del corso consiste di questi argomenti:
- Actions in ROS
- ROS2 e differenze con ROS
- Nodi, topic e servizi in ROS2
- ROS1/ROS2 bridge
- Componenti e container in ROS2
- Il simulatore CoppeliaSim
- Visualizzazione dati con Matplotlib
- Jupyter Notebook
- Documentazione software, Doxygen e Sphinx
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.
Ricevimento: Ricevimento su appuntamento, presso il Dipartimento di Informatica, Bioingegneria, Robotica, e Ingegneria dei Sistemi (DIBRIS), via all'Opera Pia 13, 16145. Per qualsiasi domanda, contattare il docente all'indirizzo mail: carmine.recchiuto@dibris.unige.it
CARMINE RECCHIUTO (Presidente)
RENATO UGO RAFFAELE ZACCARIA
FULVIO MASTROGIOVANNI (Presidente Supplente)
https://corsi.unige.it/10635/p/studenti-orario
L'esame consta di una prova orale, che è essenzialmente una discussione sui progetti realizzati durante il corso. Necessario per la discussione è infatti il completamento di 2 progetti che saranno proposti durante il corso.
La discussione orale e i progetti mirano a valutare i seguenti aspetti della preparazione degli studenti:
- La conoscenza acquisita sulla programmazione robotica con ROS e ROS2
- La capacità di usare il simulatore CoppeliaSim, e di integrarlo con ROS/ROS2
- La capacità di usare strumenti per visualizzazione dati e presentazione dei risultati