151-0662-00L Programming for Robotics - Introduction to ROS
Semester | Spring Semester 2021 |
Lecturers | M. Hutter |
Periodicity | yearly recurring course |
Language of instruction | English |
Comment | Number of participants limited to 70. This course targets senior Bachelor students as well as Master students focusing on Robotics, Systems, and Control. Priority is given to people conducting a project work in the field. |
Abstract | This course gives an introduction to the Robot Operating System (ROS) 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 | - ROS Basics: Navigating in Linux and ROS, package creation and compilation - ROS Basics: Publisher and subscriber, services, actions - Hardware interfaces, static and dynamic transforms - Introduction to GAZEBO simulator, AR tag recognition - (optional) Localization & mapping - (optional) Navigation, ROS control - Good practice in programming |
Content | This course consists of a guided tutorial and independent exercises with different robots (i.e. mobile robot, industrial robot arm,...). You learn how to setup such a system from scratch using ROS, how to interface the individual sensors and actuators, and finally how to implement first closed loop control systems. |
Lecture notes | slides, homepage (http://www.rsl.ethz.ch/education-students/lectures/ros.html) |
Literature | slides, homepage (http://www.rsl.ethz.ch/education-students/lectures/ros.html) |
Prerequisites / Notice | C++ programming basics, Linux Basics. Students need to bring their own laptop to the lecture. Instructions how to prepare the laptop are provided on the lecture homepage one week prior to the start of the course. |