\(\def\dt{\Delta t}\)
\(\newcommand{\transpose}[0]{^\mathrm{T}}\)
\(\newcommand{\half}[0]{\tfrac{1}{2}}\)
\(\newcommand{\Half}[0]{\frac{1}{2}}\)
\(\newcommand{\norm}[1]{\left\lVert#1\right\rVert}\)
\(\newcommand\given[1][]{\:#1\vert\:}\)
UP | HOME

Introduction to ROS

Table of Contents

1 What is ROS?

ROS stands for the Robot Operating System, and it is a "meta-OS" that exists on top of an actual operating system. It provides low-level device control, inter-process communication, package/dependency management, and standard packages/tools that are useful in robotics. One of its primary goals is to support code reuse in robotics R&D. It does this by allowing people to write standalone, language-agnostic executables that implement a particular task. Then groups of these executables can be collectively started to define the behavior of the whole system.

ros_equation.png

Figure 1: Illustration of the core pieces of ROS (from here).

ROS is not unique in what it provides. The features and utilities that ROS provides are things that many, maybe even most, robotics projects require. What makes ROS unique is that all of these things are brought together into a single ecosystem.

1.1 ROS history

Starting at Stanford in the mid-2000s, many projects were running that created software tools specifically aimed at robotics. In 2007, Willow Garage stepped in and began working with and expanding on switchyard, a program developed in the Personal Robotics Lab as part of the STAIR project. From 2008-2013, Willow Garage and researchers at more than 20 universities combined to develop ROS. In 2013, Willow Garage was absorbed into Suitable Technologies, and the Open-Source Robotics Foundation (now called Open Robotics) took over ROS development.

1.2 ROS usage

Getting exact metrics on ROS usage is somewhat difficult, but it is certainly widely used in modern robotics (both in industry and academia). Here are some known metrics (as of September 2017):

  • The ROS wiki receives nearly 2,000,000 page views per month
  • The ROS answers site receives nearly 600,000 page views per month
  • There are 14 million total downloads from the ROS package servers each month
  • 7000 people contribute to the wiki, and 18,000 people are on the answers site
  • There are more than 4000 packages hosted on the ROS package servers
  • There are 11 package mirrors hosted at universities around the world
  • More than 50 commercial-grade robots listed on wiki running ROS
  • At least 30 universities teaching ROS courses (probably a much higher number)
  • At ICRA 2015, there were 930 accepted papers, and 100 of them explicitly used ROS
  • At the DRC finals in June, 2015, 18 of the 23 teams used ROS, and 14 of the teams used Gazebo (the main ROS simulation tool).

The usage of ROS in industrial applications is definitely on the rise. Several years ago, the ROS-Industrial program was started. The goal was to form a group of experts from industry and academia that could all work together to solve common problems in industrial robotics. ROS would facilitate rapid development and easy resource-sharing between all members of the group. Today, the American Consortium has more than 50 members.

2 Useful Links

2.1 ROS history, high-level concepts, and tools

2.2 Videos

2.3 Robots and hardware

Creative Commons License
ME 495: Embedded Systems in Robotics by Jarvis Schultz is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.