Should I take ROS1 & ROS2 courses?

I want to learn ROS and I don’t know where to start. Should I start directly with ROS2 and forget about ROS1 completely or are there contents that are worth reviewing in the ROS1 course? I also notice that ROS1 basics has a maze project that ROS2 doesn’t have or at least it is not listed in the syllabus. What do you recommend?

Hello, from what I know ROS1 is available for a while now and has proven its stability. It can also rely on a big community that keeps updating it and making available a wide range of projects so that others can try them. It is also compatible with the old versions of python and C++.

ROS2 on the other hand is meant to be compatible with only recent versions of python and C++. I also saw on a post in a ROS group that it could also provide features to create secure communication streams but I have not really dug deeper into this so I am pretty unsure of the reliability of this information.

Personally, if you are completely new to ROS, I would advise you to first take a look at ROS1. You will find more resources to develop your skills and there are few lectures on ROS2 yet on the Construct (for the reason that ROS2 is still new and going under integration test)

Finally, I can invite you to go to this link from GenerationRobot. They have pretty good expertise on the subject: ROS vs ROS2

If you want a certificate then you have to start with ROS1. I would still start with ROS1 there are many more courses and concepts to learn using ROS1like navigation, URDF and more, after that take the ROS2 courses the concepts will transfer over. I agree with ClemZer if your new start with ROS1 it’s going to be around for awhile there still releasing new packages for melodic and noetic will be around for years to come.

1 Like

Well it depends on your situation and what are your goals. If you just want to start learning ROS, then I would recommend you to start with ROS1 since it is more mature and has a lot of things already working. Then you can move easily to ROS2 because many concepts maintain from one version to another.

I created a video discussing about this topic:

Thank you for your answer. I just joined a project where they use ROS2. I was just wondering if I already have to use ROS2, is it worth it to learn ROS1 and use the bridge. The project is a mobile robot with autonomous navigation.