Single post

ROS: Robot Operating System

The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms.

Why? Because creating truly robust, general-purpose robot software is hard. From the robot’s perspective, problems that seem trivial to humans often vary wildly between instances of tasks and environments. Dealing with these variations is so hard that no single individual, laboratory, or institution can hope to do it on their own.

As a result, ROS was built from the ground up to encourage collaborative robotics software development. For example, one laboratory might have experts in mapping indoor environments, and could contribute a world-class system for producing maps. Another group might have experts at using maps to navigate, and yet another group might have discovered a computer vision approach that works well for recognizing small objects in clutter. ROS was designed specifically for groups like these to collaborate and build upon each other’s work, as is described throughout this site.



ROS is a large project with many ancestors and contributors. The need for an open-ended collaboration framework was felt by many people in the robotics research community, and many projects have been created towards this goal.

Various efforts at Stanford University in the mid-2000s involving integrative, embodied AI, such as the STanford AI Robot (STAIR) and the Personal Robots (PR) program, created in-house prototypes of flexible, dynamic software systems intended for robotics use. In 2007, Willow Garage, a nearby visionary robotics incubator, provided significant resources to extend these concepts much further and create well-tested implementations. The effort was boosted by countless researchers who contributed their time and expertise to both the core ROS ideas and to its fundamental software packages. Throughout, the software was developed in the open using the permissive BSD open-source license, and gradually has become a widely-used platform in the robotics research community.

From the start, ROS was developed at multiple institutions and for multiple robots, including many institutions who received PR2 robots from Willow Garage. Although it would have been far simpler for all contributors to place their code on the same servers, over the years, the “federated” model has emerged as one of the great strengths of the ROS ecosystem. Any group can start their own ROS code repository on their own servers, and they maintain full ownership and control of it. They don’t need anyone’s permission. If they choose to make their repository publicly available, they can receive the recognition and credit they deserve for their achievements, and benefit from specific technical feedback and improvements like all open source software projects.

The ROS ecosystem now consists of tens of thousands of users worldwide, working in domains ranging from tabletop hobby projects to large industrial automation systems.



ROS areas include:

  • A master coordination node
  • Publishing or subscribing to data streams: images, stereo, laser, control, actuator, contact …
  • Multiplexing information
  • Node creation and destruction
  • Nodes are seamlessly distributed, allowing distributed operation over multi-core, multi-processor, GPUs and clusters
  • Logging
  • Parameter server
  • Test systems

ROS Package application areas will include:

  • Perception
  • Object Identification
  • Segmentation and recognition
  • Face recognition
  • Gesture recognition
  • Motion tracking
  • Egomotion
  • Motion understanding
  • Structure from motion (SFM)
  • Stereo vision: depth perception via two cameras
  • Motion
  • Mobile robotics
  • Control
  • Planning
  • Grasping



source :

Leave a Reply

theme by teslathemes
%d bloggers like this: