The Robot Operative System (ROS) is an open-source, meta-operating system for your robot mantained by the Open Source Robotics Foundation (OSRF). It provides the services you would expect from an operating system, including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management. It also provides tools and libraries for obtaining, building, writing, and running code across multiple computers. ROS is similar in some respects to 'robot frameworks,' such as Player, YARP, Orocos, CARMEN, Orca, MOOS, and Microsoft Robotics Studio.
The ROS runtime "graph" is a peer-to-peer network of processes that are loosely coupled using the ROS communication infrastructure. ROS implements several different styles of communication, including synchronous RPC-style communication over services, asynchronous streaming of data over topics, and storage of data on a Parameter Server.
ROS is not a realtime framework, though it is possible to integrate ROS with realtime code. ROS also has seamless integration with the Orocos Real-time Toolkit.
The primary goal of ROS is to support code reuse in robotics research and development. ROS is a distributed framework of processes (aka Nodes) that enables executables to be individually designed and loosely coupled at runtime. These processes can be grouped into Packages and Stacks, which can be easily shared and distributed. ROS also supports a federated system of code Repositories that enable collaboration to be distributed as well. This design, from the filesystem level to the community level, enables independent decisions about development and implementation, but all can be brought together with ROS infrastructure tools.
In support of this primary goal of sharing and collaboration, there are several other goals of the ROS framework:
ROS currently only runs on Unix-based platforms. Software for ROS is primarily tested on Ubuntu and Mac OS X systems.
The following distributions have been tested in the robot Erle.
By default the images provided for Erle come with ROS pre-installed and fully functional.
Distro | Release date | Poster | Instuctions |
---|---|---|---|
ROS Hydro Medusa | September 4th, 2013 | Installation | |
ROS Groovy Galapagos | December 31, 2012 | Installation |
Some of this material has been taken from the ROS wiki. Except where otherwise noted, the ROS wiki is licensed under Creative Commons Attribution 3.0.