The Research Track I Course aims at providing students with basic concepts needed for developing software for robotics. Frontal lessons and class exercises will help the students in learning and analyzing the most relevant software instruments for robotic programming (Linux, Git, C++, Python, Docker) and the robotic framework ROS.
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 1 will lay the basis of software development for robots, as well as practical insights in robot architectures. These knowledges will be of fundamental importance for later courses and the practice classes therein.
Active participation in the proposed training activities (lectures and laboratory activities), individual study and the realization of projects will allow students to:
- learn basic aspects of software programming for robotics;
- know and use the robotic framework ROS;
- develop simple software architecture based on different communication paradigms (publish/subscribe, client/service);
- implement and modify simple simulations involving mobile robots.
No specific prerequisites are needed. Some elements of programming may be helpful.
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
The course program consists of the following topics:
- Linux (for Robotics)
- Python (for Robotics)
- C++ (for Robotics)
- Distributed Version Control Systems
- Basic principles of ROS
- Services and messages in ROS
- Simulation of Mobile Robots with ROS and Gazebo.
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.
CARMINE RECCHIUTO (President)
RENATO UGO RAFFAELE ZACCARIA
FULVIO MASTROGIOVANNI (President Substitute)
All class schedules are posted on the EasyAcademy portal.
During the course, students will have to implement two assignments, based on the contents of the course.
The final exam will consist of a written exam and practical exercises.
The final evaluation will be composed of the evaluation of the assignments (30%) and the evaluation of the final written / practical exam (70%).
The final exam and the two projects aim to ascertain the following aspects of the students' preparation:
- Acquired knowledge about the principles of robotic programming;
- Ability to apply the functionalities provided by the ROS framework.