Ian McMahon edited this page Nov 3, 2016 · 28 revisions


The Robot Operating System (ROS) is a set of software libraries and tools that help you build 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.

Here you will find documentation on how to install and use software from ROS 2, which is a new version of ROS that is under heavy development. See below for more information on ROS 2.

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

Before you proceed here, please read the features page to get an idea of what is in the current ROS 2 release.


See the installation page.


ROS 2 is under heavy development and all releases are currently "alpha"-prefixed. You should not expect to switch from ROS 1 to ROS 2 today, but you can check out the the tutorials page page to see a range of examples of what the system can do in its current state.


See the contributing page and the developer guide for details on how to contribute to ROS 2 developments.

Reporting problems and asking questions

See the contact page.

About ROS 2

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. There's a full article on the motivation of ROS 2 here.

Current status

Alpha releases for ROS 2 are currently being made on a ~6 week cadence to give community members an opportunity to provide feedback on the system. At a high level, ROS 2 development has widely focused on laying the groundwork for supporting multiple DDS middleware implementations, multiple operating systems, multiple programming languages and co-existence with systems running ROS 1. For details of the current features, see Features.

What's ahead

See the Roadmap for details on the planned upcoming features for ROS 2.

Where to find more information

There are various articles on the design of ROS 2 at design.ros2.org, such as: Why ROS 2.0?, ROS on DDS, and Changes between ROS 1 and ROS 2.

The code for ROS 2 is open source and broken into various repositories. You can find the code for most of the repositories on the ros2 github organization.

The following ROSCon talks have been given on ROS 2 and provide information about the workings of ROS 2 and various demos:

Title Type Links
ROS 2 Update - summary of alpha releases, architectural overview ROSCon 2016 presentation slides / video
Evaluating the resilience of ROS2 communication layer ROSCon 2016 presentation slides / video
State of ROS 2 - demos and the technology behind ROSCon 2015 presentation slides / video
ROS 2 on "small" embedded systems ROSCon 2015 presentation slides / video
Real-time control in ROS and ROS 2.0 ROSCon 2015 presentation slides / video
Why you want to use ROS 2 ROSCon 2014 presentation slides / video
Next-generation ROS: Building on DDS ROSCon 2014 presentation slides / video