Although ROS is not an operating system (OS) but a set of software frameworks for robot software development, it provides services designed for a heterogeneous computer cluster such as hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes, and package management.
Despite the importance of reactivity and low latency in robot control, ROS is not a real-time operating system (RTOS).
These other packages implement commonly used functionality and applications such as hardware drivers, robot models, datatypes, planning, perception, simultaneous localization and mapping (SLAM), simulation tools, and other algorithms.
[12] The native Java ROS client library, rosjava,[13] however, does not share these limitations and has enabled ROS-based software to be written for the Android OS.
[14] rosjava has also enabled ROS to be integrated into an officially supported MATLAB toolbox which can be used on Linux, macOS, and Microsoft Windows.
[15] A JavaScript client library, roslibjs[16] has also been developed which enables integration of software into a ROS system via any standards-compliant web browser.
[20] While working on robots to do manipulation tasks in human environments, the two students noticed that many of their colleagues were held back by the diverse nature of robotics: an excellent software developer might not have the hardware knowledge required, someone developing state of the art path planning might not know how to do the computer vision required.
In an attempt to remedy this situation, the two students set out to make a baseline system that would provide a starting place for others in academia to build upon.
Hassan shared Berger and Wyrobek's vision of a "Linux for robotics", and invited them to come and work at Willow Garage.
Willow Garage was started in January 2007, and the first commit of ROS code was made to SourceForge on 7 November 2007.
While Willow Garage had originally had other projects in progress, they were scrapped in favor of the Personal Robotics Program: which focused on producing the PR2 as a research platform for academia and ROS as the open-source robotics stack that would underlie both academic research and tech startups, much like the LAMP stack did for web-based startups.
In December 2008, Willow Garage met the first of its three internal milestones: continuous navigation for the PR2 over two days and a distance of pi kilometers.
[34] This was Milestone 3: producing tons of documentation and tutorials for the enormous abilities that Willow Garage's engineers had developed over the preceding 3 years.
[35] This, combined with Willow Garage's highly successful internship program[36] (run from 2008 to 2010 by Melonee Wise), helped to spread the word about ROS throughout the robotics world.
The OSRF was immediately awarded a software contract by the Defense Advanced Research Projects Agency (DARPA).
[49] In February 2013, the OSRF became the primary software maintainers for ROS,[50] foreshadowing the announcement in August that Willow Garage would be absorbed by its founders, Suitable Technologies.
A process called the ROS1 Master[66] makes all of this possible by registering nodes to themselves, setting up node-to-node communication for topics, and controlling parameter server updates.
Data that does not change frequently and as such will be infrequently accessed, such as the distance between two fixed points in the environment, or the weight of the robot, are good candidates for storage in the parameter server.
The addition of these tools greatly increases the abilities of systems using ROS by simplifying and providing solutions to several common robotics development problems.
These tools include rosls, roscd, and roscp, which replicate the functionalities of ls, cd, and cp respectively.
ROS-Industrial[108] is an open-source project (BSD (legacy)/Apache 2.0 (preferred) license) that extends the advanced abilities of ROS to manufacturing automation and robotics.
The ROS-Industrial repository includes interfaces for common industrial manipulators, grippers, sensors, and device networks.
It also provides software libraries for automatic 2D/3D sensor calibration, process path/motion planning, applications like Scan-N-Plan, developer tools like the Qt Creator ROS Plugin, and training curricula that are specific to the needs of manufacturers.
The project began as a collaborative endeavor between Yaskawa Motoman Robotics, Southwest Research Institute, and Willow Garage to support the use of ROS for manufacturing automation, with the GitHub repository being founded in January 2012 by Shaun Edwards (SwRI).
In 2021, Blue Origin subcontracted software development workload to Open Robotics who remained on the team until the program ended in 2022.