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

ROS 2 Documentation

The Robot Operating System (ROS) is a set of software libraries and tools for building robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it’s all open source.

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.

Here you will find the official documentation on ROS 2, the newest version of ROS.

If you’re looking for documentation on ROS 1 (i.e., ROS as it has existed for several years, and what you might be using right now), check the ROS wiki.

Where to start

Newcomers and experienced ROS users should consult this overview of our user-centric content to find what they’re looking for.

  • Installation pages will help you setup ROS 2 for the first time. You can choose your platform as well as the installation type and distribution that suits your needs.

  • Tutorials walk you through small projects and sample usage of ROS 2, so you can learn the ropes by actually using the tools. They are organized by progression of necessary skills, making it the best place to start for new users.

  • Guides answer all your “How do I…?” questions as short and to-the-point as possible, so you can find the information you need without needing to work through the narrative nature of the tutorials for context.

  • Concepts are high-level explanations and background information on core ROS 2 concepts, which should provide some context for topics covered in the tutorials.

  • Contributing is what makes ROS 2 great! We have guides on best practices and methodology for contributing new ROS 2 content as well as migrating existing content from ROS 1 to ROS 2.

  • Getting help is always encouraged. Here you’ll find several ways to get answers to your questions or start a discussion.

About ROS 2

If you’re interested in the business and advancement side of the ROS 2 project, these pages provide high-level details in various related areas.

  • Releases of past, present and future ROS 2 distributions, including dates and changes made between distributions.

  • Features that are a part of the current ROS 2 release, plus content elaborating on each new feature.

  • Roadmap is a collection of feature ideas for ROS 2 not yet implemented, but coming soon.

  • ROSCon talks are presentations on the latest utilization and updates to ROS 2 from across the community.

  • Project governance is handled by the Technical Steering Committee, which you can learn more about here.

  • Marketing materials promoting ROS 2 can be downloaded from this page.

  • ROS 2 Design contains various articles on the design decisions behind ROS 2.

About this documentation

We’re always working hard on improving our documentation. You can help by submitting pull requests for fixes or issues for suggestions on our GitHub repository.