Fundamentals of the Robot Operating System (ROS) — ROS-Training at CPS Week 2018


Ricardo Téllez (
The Construct Sim
Avenida de les Corts Catalanes 608 3D
08007 Barcelona

Ralph Lange (
Robert Bosch GmbH – Corporate Sector Research and Advance Engineering
Robert-Bosch-Campus 1
71272 Renningen


Duration:full day

Target audience: Researchers and practitioners without any experience in ROS. Also, experience in robotics is not required.

Description:In one sentence, ROS may be characterized as middleware, framework and tool suite for software development in robotics. At the same time, it forms the basis of a global ecosystem for sharing software and for developing community-driven standards and best practices.

In the last years, ROS became the de-facto standard for software development in service robotics, but is also heavily used in autonomous driving research, industrial robotics and other domains.

As a middleware, ROS allows to transparently distribute an application to multiple devices. It features publish-subscribe and client-service communication mechanisms as well as a message IDL for generating message classes and serialization procedures from concise message definitions. It supports a variety of programming languages (e.g., C++, Python, Java, Lisp).

As an embedded systems framework, ROS features a number of run-time mechanisms and support functions for hardware interaction, diagnostics, runtime configuration, logging, etc. In addition, it provides common robotics-specific functionalities for coordinate transformations, modeling of kinematic chains, motion planning and control and mission control amongst others.

ROS comes with several tools for system introspection and visualization as well as data recording and replay. The Gazebo simulator, which is well integrated with ROS, allows to simulate robots on a system-level in arbitrary physical environments.

This tutorial covers the basic concepts of ROS, the tools, the core API and development basics. We will start with an overview to the core concepts features and concepts of ROS as well as a to the history of ROS. Next, we will introduce the basic tools and core concepts (nodes, topics, services, actions, ROS master, rqt, rviz, …) hands-on, using the professional, cloud-based training system by The Construct Sim. Please bring your laptop with internet access to participate in the hands-on tasks. This part also includes an overview to the major functional building blocks (navigation stack, MoveIt, OpenCV bridge, pcl with ROS, …), and the Gazebo simulator. Next, we will apply what we just learned in a small ROS project on obstacle avoidance for a mobile robot. Finally, we will share experiences and best-practices for implementing real-time functions with ROS and give a brief introduction to ROS 2.0, which has been released in December.


Ricardo Téllez is the CEO of The Construct company, where he and his team create online courses for learning ROS. He's been using ROS since C-Turtle at company Pal Robotics, where he used ROS for developing humanoid robot's skills. He is also at present, a ROS teacher at University of LaSalle in Barcelona, Spain.

Ralph Lange studied computer science and electrical engineering at the University of Stuttgart, Germany, from where he also obtained a PhD in the field of context-aware computing in 2010. As a software engineer for TRUMPF Machine Tools from 2010 to 2012, he worked on the CAD/CAM system TruTops for graphical NC programming of punching and punch-laser machines, concentrating on algorithms for skeleton-free processing of sheet metal. Ralph joined Bosch Corporate Research in January 2013, working as a research engineer on formal analysis and modeling methods for embedded systems, particularly in robotics. Since 2016, he is project manager for a Bosch-internal research project on system and software engineering in robotics, which not only supports the Bosch business units on the use of ROS but also contributes to the development of ROS.