Should I learn ROS 1.0 or 2.0?

I am looking to start a new career as a ROS programmer / developer. Right now I am learning ROS 1.0 with the TurtleBot3. Should I be working with the new ROS 2.0 version instead of 1.0? Will ROS 2.0 work with the TurtleBot3?


A good answer for your question, there is the same doubt:

1 Like

I have taken a detour from working on my turtlebot3 Waffle but would like to startup again soon.

So I also wonder about should I continue to try to get more comfortable with ROS1 or should I try to make the jump to ROS2?

I have noticed that Robotis looks like they are investing a reasonable amount of energy on ROS2.

Example the new projects assocated with XEL.

I have also noticed that there is now a ROS2 branch of the Turtlebot3 github project which appears to be active. Last change 18 hours ago.

So if I wish to try it out, are there suggestions on how to get started?


I think there is a trade-off relationship between the two versions. Functionally, ROS2 is much better and better suited for the direction of robotics.

ROS 1 packages (Kinetic) ROS packages for Kinetic - 2021-06-01 22:32:58 -0800
ROS 2 packages (Bouncy) ROS packages for Bouncy - 2019-08-09 06:40:06 -0800

However, in terms of usage, ROS1 has about 2,200 packages, and ROS2 is currently only about 200 packages. This can be considered as an indicator of how much ROS can be used for various purposes.

But ROS2 is being developed quickly and the third version will be released in December this year. By that time, more users will be using it and more packages will be supported.
If you are interested in new technology and have a good understanding of OpenSource, you can jump to ROS2 without ROS1 right now. :slight_smile:

Thanks @Pyo,

I will have to give Ros2 a look, especially if most of the parts needed for turtlebot3 are in place.

Thanks again @Pyo

Another related question.

It appears like their is Windows support for Ros2. Have you tried it? Is it a reasonable approach to try out the TB3 code on?

I use 64 bit Windows 10 on my main machine. But when I am doing some ROS stuff, I have been using an older machine with Ubuntu. But would be more convenient to be able to do more of this on the main machine.

Thanks again

Hi, @Kurt

We tested the XEL Network and tried running ROS2 on Windows.

In case of TB3, it is not possible to be sure from the test of RaspberryPi at present, but it seems to be possible enough. If you use an SBC that can use Windows OS like Latte Panda, it will be enough.

Thanks @OpusK,

I fried the UP board I was using (something about plugging the power cable from it’s expansion connector to the wrong connector on OpenCR (12v) did wonders to the UP… :wink: I do have a spare one, which I will try later, but pulled out RPI3+ board and downloaded your ROS2 image… But looks like you don’t have waffle support yet (only burger). Probably not hard to work around it, but sounds like your group will have an update soon which hopefully includes it…