Warning 
        You're reading the documentation for a version of ROS 2 that has reached its EOL (end-of-life), and is no longer officially supported.
        If you want up-to-date information, please have a look at Kilted.
      
ROS 2 Documentation
The Robot Operating System (ROS) is a set of software libraries and tools for building robot applications. From drivers and state-of-the-art algorithms to powerful developer tools, ROS has the open source tools you need for your next robotics project.
Since ROS was started in 2007, a lot has changed in the robotics and ROS community. The goal of the ROS 2 project is to adapt to these changes, leveraging what is great about ROS 1 and improving what isn’t.
This site contains the documentation for ROS 2. If you are looking for ROS 1 documentation, check out the ROS wiki.
If you use ROS 2 in your work, please see Citations to cite ROS 2.
Getting started
- 
- Instructions to set up ROS 2 for the first time 
 
- 
- The best place to start for new users! 
- Hands-on sample projects that help you build a progression of necessary skills 
 
- 
- Quick answers to your “How do I…?” questions without working through the Tutorials 
 
- 
- High-level explanations of core ROS 2 concepts covered in the Tutorials 
 
- 
- Answers to your questions or a forum to start a discussion 
 
The ROS 2 project
If you’re interested in the advancement of the ROS 2 project:
- 
- Best practices and methodology for contributing to ROS 2, as well as instructions for migrating existing ROS 1 content to ROS 2 
 
- 
- Past, present and future ROS 2 distributions 
 
- 
- Features in the current release 
 
- 
- Ideas for nice-to-have features that are not under active development 
 
- 
- Planned work for ROS 2 development 
 
- 
- Presentations by the community on ROS 2 
 
- 
- Information about the ROS Technical Steering Committee, Working Groups, and upcoming events 
 
- 
- Downloadable marketing materials 
 
Other ROS resources
- ROS Answers (ROS 1, ROS 2) - Q&A community website, similar to Stack Exchange 
- See Contact Page for more information 
 
- ROS Enhancement Proposals (REPs) (ROS 1, ROS 2) - Proposals for new designs and conventions 
 
- ROS Discourse (ROS 1, ROS 2) - Forum for general discussions and announcements for the ROS community 
- See the Contact Page for more information 
 
- ROS Index (ROS 1, ROS 2) - Indexed list of all packages (i.e. Python Package Index (PyPI) for ROS packages) 
- See which ROS distributions a package supports 
- Link to a package’s repository, API documentation, or website 
- Inspect a package’s license, build type, maintainers, status, and dependencies 
- Get more info for a package on ROS Answers 
 
- ROS Prerelease (ROS 1) - Generates commands to emulate the ROS Buildfarm on your local machine 
- Currently only shows ROS 1 distributions 
 
- ROS Robots (ROS 1, ROS 2) - Showcases robots projects from the community 
- Instructions on how to contribute a robot 
 
- ROS Wiki (ROS 1) - ROS 1 documentation and user modifiable content 
- Active until at least the last ROS 1 distribution is EOL 
 
- ROS.org (ROS 1, ROS 2) - ROS 1 and ROS 2 product landing page, with high-level description of ROS and links to other ROS sites 
 
Deprecated
- 
- API documentation up to and including Galactic 
 
- 
- Early design decisions behind ROS 2 development 
- New design proposals should be submitted via ROS Enhancement Proposals (REPs)