Robot Operating System (ROS), est un ensemble d'outils informatiques sous forme de logiciels libres (le système est sous licence BSD) open source, permettant de développer des logiciels pour la robotique. À l'origine, il est développé en 2007 par la société américaine Willow Garage, pour son robot PR2 (Personal Robot 2). Son développement est aujourd'hui mené par l'(anciennement Open Source Robotics Foundation ou OSRF). ROS est officiellement supporté par plus de 75 robots. ROS est une plateforme de développement logicielle pour robot. Il s'agit d'un méta-système d'exploitation qui peut fonctionner sur un ou plusieurs ordinateurs et qui fournit plusieurs fonctionnalités : abstraction du matériel, contrôle des périphériques de bas niveau, mise en œuvre de fonctionnalités couramment utilisées, transmission de messages entre les processus et gestions des packages installés. Le logiciel ROS peut être séparé en trois groupes : les outils utilisés pour créer, lancer et distribuer des logiciels basés sur ROS (roscore, roslaunch, catkin) les clients ROS pour des langages : roscpp (C++) et rospy (python) les packages contenant des programmes pour ROS utilisant un ou plusieurs clients ROS Les outils et les principaux clients ROS (roscpp et rospy) sont publiés sous les termes de la Licence BSD. De nombreux packages sont publiés pour ROS avec diverses licences open source (BSD, MIT). Ces packages permettent de lancer des applications, des algorithmes ou encore des programmes pour interfacer ROS avec des robots. L'outil de simulation Gazebo est directement intégré à ROS. Les principaux clients ROS (C++ et Python) sont compatibles avec des systèmes de type Unix. Ceci est principalement dû à leur dépendance à d'autres logiciels open-source. En , pour ces bibliothèques clientes et pour la version de ROS Indigo, Ubuntu est le seul système officiellement supporté par défaut. Il existe alors des versions expérimentales pour les systèmes suivants : OS X, Android, Arch Linux, Debian Wheezy et OpenEmbedded/Yocto.