CODE 104730 ACADEMIC YEAR 2021/2022 CREDITS 5 cfu anno 1 ROBOTICS ENGINEERING 10635 (LM-32) - GENOVA LANGUAGE English TEACHING LOCATION GENOVA SEMESTER 2° Semester TEACHING MATERIALS AULAWEB OVERVIEW The Research Track II Course aims at providing students with advanced concepts needed for developing software for robotics and for presenting their results. Frontal lessons and class exercises will help the students in learning and analyzing the most relevant instruments in these contexts, such as ROS, ROS2, notebooks, simulation environments, data visualization libraries and software documentation tools. AIMS AND CONTENT LEARNING OUTCOMES 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. AIMS AND LEARNING OUTCOMES Active participation in the proposed training activities (lectures and laboratory activities), individual study and the realization of projects will allow students to: - use some specific functionalities of the ROS framework (e.g. actions) - know the principles of ROS2 and its main differences w.r.t. ROS - develop software architectures in ROS2 - interface their code with simulator environments such as Gazebo and CoppeliaSim - create some effective visuals for showing data - use notebooks for controlling and managing robotic simulations - write proper documentation for the developed code. PREREQUISITES The course is the ideal continuation of the Research Track I course. TEACHING METHODS Teaching methods consist of frontal lessons and class exercises. During frontal lessons, examples related to the implementation of the different aspects will be shown. Class exercises will be performed individually or in groups SYLLABUS/CONTENT The course program consists of the following topics: - Actions in ROS - ROS2 and differences with ROS - Nodes, topics and services in ROS2 - ROS1/ROS2 bridge - ROS2 components and containers - The CoppeliaSim simulator - Data visualization and Matplotlib - Jupyter Notebook - Software Documentation, Doxygen and Sphinx RECOMMENDED READING/BIBLIOGRAPHY All slides shown during the lessons and other teaching materials will be available on the Aulaweb platform. Generally speaking, notes taken during the lessons and teaching materials uploaded on Aulaweb will be sufficient for the course. TEACHERS AND EXAM BOARD CARMINE RECCHIUTO Ricevimento: By appointment, at the Department of Informatics, Bioengineering, Robotics, and Systems Engineering (DIBRIS), via all'Opera Pia 13, 16145. For any questions, please refer to: carmine.recchiuto@dibris.unige.it Exam Board CARMINE RECCHIUTO (President) RENATO UGO RAFFAELE ZACCARIA FULVIO MASTROGIOVANNI (President Substitute) LESSONS LESSONS START https://corsi.unige.it/10635/p/studenti-orario Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION The exam consists of an oral test, which is a discussion about the projects carried out during the course. Indeed, the completion of 2 projects, which will be proposed during the course is mandatory for the final exam. ASSESSMENT METHODS The oral exam and the projects aim to ascertain the following aspects of the students' preparation: - Acquired knowledge about robotic programming with ROS and ROS2 - Ability to use the CoppeliaSim simulator, and to integrate it with ROS/ROS2 - Ability to use tools for data visualization and presentation Exam schedule Data appello Orario Luogo Degree type Note 21/01/2022 09:00 GENOVA Orale 11/02/2022 09:00 GENOVA Orale 17/06/2022 09:00 GENOVA Orale 05/07/2022 09:00 GENOVA Orale 22/07/2022 09:00 GENOVA Orale 15/09/2022 09:00 GENOVA Orale