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

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

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 Equation

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.

ROS