ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

ROS2 vs ROS1 ? Or more like ROS2 + ROS1?



This 14th of December of 2018, ROS2 Crystal Clemmys was released officially. It’s a very important step due to the fact that it adds enough new functionality versus its prior older brother ROS2 Bouncy Bolson to be a real option to consider to make the jump from ROS1 to ROS2.

So here are some of my findings and facts about ROS2 versus ROS1. Just bear in mind that crystal is evolving really fast and it wouldn’t be a surprise that more improvements appear in the near future.




The following statement in the article is unfortunately misleading:

Catkin has been replaced by colcon …

Since the article itself doesn’t offer to provide comments I want to point future readers here to this design doc which describes the difference between the build systems (e.g. CMake, the CMake API of catkin, ament_cmake) and the build tools (catkin_make, catkin_make_isolated, catkin_tools, colcon).


@dirk-thomas, absolutely right!

Would it be more correct to say that colcon has been selected as build tool now for ROS2 and ROS1, versus the previously used cakin_tools build tool only for ROS1?

And that where users in ROS1 one previously used catkin_make command now will use the colcon build command?

Please correct me otherwise so that future readers can have this matter cristal clear.


No,not for both ROS versions. We only recommend colcon for ROS 2 at the moment.

For ROS 1 we still recommend using catkin_make / catkin_make_isolated (catkin_tools is also not the recommended tool even though many users are successfully using it),

The following ticket contains some more context why we don’t recommend using colcon for ROS 1 even though it should be perfectly able to do the job (and offer many more features than the currently recommeded tool):