About ROS
The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms.
Why? Because creating truly robust, general-purpose robot software is hard. From the robot's perspective, problems that seem trivial to humans often vary wildly between instances of tasks and environments. Dealing with these variations is so hard that no single individual, laboratory, or institution can hope to do it on their own.
As a result, ROS was built from the ground up to encourage collaborative robotics software development. For example, one laboratory might have experts in mapping indoor environments, and could contribute a world-class system for producing maps. Another group might have experts at using maps to navigate, and yet another group might have discovered a computer vision approach that works well for recognizing small objects in clutter. ROS was designed specifically for groups like these to collaborate and build upon each other's work, as is described throughout this site.
Is ROS For Me?
ROS adds value to most robotics projects and applications, but you may still wonder, "Is ROS appropriate for my specific use case?" We hope that you will be able to answer this question after we introduce you to the features of ROS and show you some testimonials by ROS users from a variety of robotics domains. First, we'll cover some of the reasons you might want to consider using ROS.
A Distributed, Modular Design
ROS was designed to be as distributed and modular as possible, so that users can use as much or as little of ROS as they desire. We'll cover what components make up ROS elsewhere, but the modularity of ROS allows you to pick and choose which parts are useful for you and which parts you'd rather implement yourself.
The distributed nature of ROS also fosters a large community of user-contributed packages that add a lot of value on top of the core ROS system. At last count there were over 3,000 packages in the ROS ecosystem, and that is only the ROS packages that people have taken the time to announce to the public. These packages range in fidelity, covering everything from proof-of-concept implementations of new algorithms to industrial-quality drivers and capabilities. The ROS user community builds on top of a common infrastructure to provide an integration point that offers access to hardware drivers, generic robot capabilities, development tools, useful external libraries, and more.
A Vibrant Community
Over the past several years, ROS has grown to include a large community of users worldwide. Historically, the majority of the users were in research labs, but increasingly we are seeing adoption in the commercial sector, particularly in industrial and service robotics.
The ROS community is very active. According to our metrics, at the time of writing, the ROS community has over 1,500 participants on the ros-users mailing list, more than 3,300 users on the collaborative documentation wiki, and some 5,700 users on the community-driven ROS Answers Q&A website. The wiki has more than 22,000 wiki pages and over 30 wiki page edits per day. The Q&A website has 13,000 questions asked to date, with a 70% percent answer rate.
Permissive Licensing
The core of ROS is licensed under the standard three-clause BSD license. This is a very permissive open license that allows for reuse in commercial and closed source products. You can find more about the BSD license here:
http://opensource.org/licenses/BSD-3-Clause
http://en.wikipedia.org/wiki/BSD_licenses
While the core parts of ROS are licensed under the BSD license, other licenses are commonly used in the community packages, such as the Apache 2.0 license, the GPL license, the MIT license, and even proprietary licenses. Each package in the ROS ecosystem is required to specify a license, so that it is easy for you to quickly identify if a package will meet your licensing needs.
A Collaborative Environment
ROS by itself offers a lot of value to most robotics projects, but it also presents an opportunity to network and collaborate with the world class roboticists that are part of the ROS community. One of the core philosophies in ROS is shared development of common components. If you find ROS useful, please consider joining the collaboration by giving back!
Learn more and download ROS here http://goo.gl/OMpnP8
Thank you :)