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.
Are you looking for documentation for a particular ROS package like MoveIt, image_proc, or octomap? Please see ROS Index or check out this index of per-package documentation.
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
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
Events
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.
Open Source Robotics Foundation official events calendar
This calendar is for official OSRF Events and working group meetings.
Open Source Robotics Foundation community calendar
This calendar is for unofficial ROS community events.
Miscellaneous
ROS on social media
@OpenRoboticsOrg and @ROSOrg on Twitter
Visit the Open Source Robotics Foundation website
Tax deductible charitable donations to the Open Source Robotics Foundation can be sent via DonorBox.
Deprecated
-
Early design decisions behind ROS 2 development
New design proposals should be submitted via ROS Enhancement Proposals (REPs)