ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. In building ROS we use Linux both as a platform and a model for development. As a platform Linux provides a great development environment and tools in addition to well packaged libraries which are tested and integrated. As a model for development, the open source community built up around Linux is one of the most productive ways to develop.