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 Lyrical.

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.

Learn more about ROS

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

  • Installation

    • Instructions to set up ROS 2 for the first time

  • Tutorials

    • The best place to start for new users!

    • Hands-on sample projects that help you build a progression of necessary skills

  • How-to Guides

    • Quick answers to your “How do I…?” questions without working through the Tutorials

  • Concepts

    • High-level explanations of core ROS 2 concepts covered in the Tutorials

  • Contact

    • 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:

  • Contributing

    • Best practices and methodology for contributing code, documentation, and other improvements to ROS 2, as well as instructions for migrating existing ROS 1 documentation to ROS 2

  • Distributions

    • Past, present and future ROS 2 distributions

  • Features Status

    • Features in the current release

  • Feature Ideas

    • Ideas for nice-to-have features that are not under active development

  • Roadmap

    • Planned work for ROS 2 development

  • ROSCon Talks

    • Presentations by the community on ROS 2

  • Project Governance

    • Information about the ROS Technical Steering Committee, Working Groups, and upcoming events

  • Marketing

  • Adopters

    • Organizations and projects using ROS

ROS community resources

If you need help, have an idea, or would like to contribute to the project, please visit our ROS community resources.

General ROS project resources

  • Robotics 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

Miscellaneous

Deprecated

  • 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.

  • ROS 2 Docs

    • API documentation up to and including Galactic

  • ROS 2 Design