Programming for Robotics - ROS

Abstract: This course gives an introduction to the Robot Operating System (ROS2) including many of the available tools that are commonly used in robotics. With the help of different examples, the course should provide a good starting point for students to work with robots. They learn how to create software including simulation, to interface sensors and actuators, and to integrate control algorithms.

Objective: 

  • ROS2 architecture: Master, nodes, topics, messages, services, parameters and actions
  • Console commands: Navigating and analyzing the ROS2 system and the catkin workspace
  • Creating ROS packages: Structure, launch-files, and best practices
  • ROS2 C++ client library (rclcpp): Creating your own ROS2 C++ programs
  • Simulating with ROS2: Gazebo simulator, robot models (URDF) and simulation environments (SDF)
  • Working with visualizations (RViz) and user interface tools (rqt)
  • Inside ROS2: TF transformation system, time, bags

Content: This course consists of a guided tutorial and exercises with increasing level of difficulty when working with an autonomous robot. You learn how to setup such a system from scratch using ROS2, how to interface the individual sensors and actuators, and finally how to implement first closed loop control systems.

Course dates

Room: TBA

Time: 08:00 - 12:00

Dates: 17.02, 19.02, 21.02, 24.02, 28.02

Lecturers: Fan Yang, Lennart Werner, Lorenzo Terenzi, Pol Eyschen, Marco Hutter

Evaluation

The evaluation consists of 3 exercises and a final project-based exam. Each exercise will contribute 20% to the final grade, while the exam will contribute 40%.

Mandatory preparation

Before joining the first lecture, we expect that you set-up Docker on your machine.

To develop for ROS2, you will need to work in a Ubuntu environment. In this course, we will use a Docker container for this purpose. You'll find instructions on how to set it up on Moodle.

This course requires basic knowledge of C++ and Python and focuses on ROS2. We recommend to refresh your C++  and Python skills before the start of the course.

Course material

The course this year 2025 will be administered through Moodle.

Materials from previous years can be found below.

By playing the video you accept the privacy policy of YouTube.Learn more OK
Video Recording of the Lectures (2021)
JavaScript has been disabled in your browser