The Robot Operating System (ROS) began as a research effort to stop roboticists from rebuilding the same low-level software for every new robot. Started by Stanford graduate students and developed at Scott Hassan’s robotics incubator Willow Garage, the first public ROS code repository was created in November 2007. The system was formally described in the 2009 paper “ROS: an open-source Robot Operating System” by Morgan Quigley, Ken Conley, Brian Gerkey, Josh Faust, Tully Foote, Jeremy Leibs, Rob Wheeler, and Andrew Ng, presented at an ICRA workshop on open-source software.
Despite its name, ROS is not an operating system in the usual sense. It is a flexible framework - a collection of tools, libraries, and conventions - for writing robot software. Its design goals were to be peer-to-peer, tools-based, multi-lingual, thin, and free and open-source, so that code written for one robot could be reused on another. Willow Garage built the two-armed PR2 robot as a reference platform and distributed PR2 units to universities to grow the community.
ROS became the de facto standard for robotics research and a great deal of industry development. Governance passed to the Open Source Robotics Foundation, later Open Robotics, after Willow Garage wound down. By giving the field a common software substrate, ROS did for robots something like what shared deep-learning frameworks did for machine learning: it let researchers build on each other’s work instead of starting from scratch.