You're reading the documentation for an older, but still supported, version of ROS 2. For information on the latest version, please have a look at Iron.
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.
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
ROS community resources
If you need help, have an idea, or would like to contribute to the project, please visit our ROS community resources.
Official ROS Discord Channel for discussion and support (ROS 1, ROS 2)
Robotics Stack Exchange - community Q&A website (ROS 1, ROS 2)
See Contact Page for more information
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 Robotics Stack Exchange
ROS resource status page (ROS 1, ROS 2)
Check the current status of ROS resources like Discourse or the ROS build farm.
General ROS project resources
ROS Enhancement Proposals (REPs) (ROS 1, ROS 2)
Proposals for new designs and conventions
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
Official ROS Vimeo Channel (ROS 1, ROS 2)
Videos of ROSCon Talks, community and working group meetings, and project demos.
ROSCon website (ROS 1, ROS 2)
ROSCon is our annual ROS developer conference.
This page also lists regional ROS events like ROSConJP and ROSConFr.
This calendar is for official OSRF Events and working group meetings.
This calendar is for unofficial ROS community events.
ROS Answers (ROS 1, ROS 2)
ROS Answers was the ROS community Q&A website, until August, 2023. ROS Answers is currently available as a read-only resource.
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)