Skip to content

ROS

Contents

Introduction

ROS aka Robotic Operating System is not a OS itself but a framework and middleware.

  • Software Framework for programming robots
  • Prototype from Standfort AI Research Institute and created by Willow Garage in 2007
  • Since 2013 maintained by the Open Source Robotics Foundation (OSRF)
  • Consists of infrastrucutre, tools, capabilities and a ecosystem
Advantages Disadvantages
Provides lots of infrastructure, tools and capabilities Approaching maturity, but still changing
Easy to try other people's work and share your own Security and scalability are not first-class concerns
Large community OSes other than Ubuntu Linux are not well supported
Free, open source, BSD license
Great for open-source and researchers Not great for mission-critical tasks

ROS Tutorial #1 - https://www.youtube.com/watch?v=9U6GDonGFHw&t=1s

ROS Equation
Figure 1: ROS Equation

Plumbing Tools Capabilities Ecosystem
Process management Simulation Control Package organization
Inter-process communication Visualization Planning Software distribution
Device drivers Graphical user interface Perception Documentation
Data logging Mapping Tutorials
Manipulation

Philosophy

  • Peer to peer - Individual programs communicate over defined API (ROS messages, services, etc.).
  • Distributed - Programs can be run on multiple computers and communicate over the network.
  • Multi-lingual - ROS modules can be written in any language for which a client library exists (C++, Python, MATLAB, Java, etc.).
  • Thin - The ROS conventions encourage contributors to create standalone libraries and then wrap those libraries so they can send and receive messages to and from other ROS modules.
  • Free and open source - The core of ROS is released under the permissive BSD license, which allows commercial and noncommercial use.