ROS For Beginners (ROS Noetic, Melodic, Kinetic)

Categories: ,

Learning ROS is hard, and you know it. But why should it be that way?

There is a lack of structured resources for beginners. You can find some explanations and programming tutorials online about Robot Operating System, but they won’t really tell you which path to follow when you begin, where to go, what to focus on, etc.

That’s why I’ve created this course, that I wish I had when I begun. So you can learn ROS much faster than I did.

The goal of this course is to remove the big learning curve that you face when you start to learn ROS by yourself. I will show you, step by step, what you need to know to get started and master ROS basics.

This course is:

  • Structured in a way that is easy to follow for a beginner
  • Going through all ROS core concepts that you need, step by step
  • Going to the point. No useless and over-complicated stuff that you won’t use anyway.
  • Full of practice and challenges to make you progress faster

Now, why should you choose my course?

In the past I have developed a complete ROS software for an entire 6 axis robotic arm. I’m telling you that because by developing this robot, I learned (the hard way) what I really needed to know to build things that actually work.

My experience with ROS is not only about university work or a weekend hobby: I actually co-founded a business with a robot powered by ROS. By doing so, I had to focus on going to the point, finding what is useful, and what is not.

So today, with the practical vision that I’ve developed, I know exactly what you need to learn at the beginning if you want to get serious about building robotic applications.

What is this course about?

This course will guide you, step by step, through all the ROS core functionalities. We’ll focus on ROS basics, communication tools, and also on how to build a scalable application with Robot Operating System.

For each section, I will explain one concept in a way that is easy to understand, and then you will practice with me by writing, building, and running some code. I will show you what you need to pay attention to, what you need to focus on, and how to avoid common mistakes.

And, more importantly, I will give you some activities and challenges to make you practice on the concepts that you’ve just seen.

Note that all the code written in this course will be both in Python and C++, so you can decide to learn ROS with those 2 languages, or only one of them.

So.. Start your learning today and build awesome robotic applications with ROS !

After installing ROS on a Ubuntu OS, you will learn the following ROS key concepts :

  • Nodes
  • Topics
  • Services
  • Msg and Srv definitions
  • Parameters
  • Launch Files
  • And much more!

By mastering those concepts, you will be 100% ready to start any other robotic application and build complete software from scratch using Robot Operating System.

You will also learn how to :

  • Debug your program
  • Use command-line tools for each key concept
  • Build your application
  • Correctly set up and manage your project structure

And as I want to make you develop great (not just good, because “good” is not good enough) and scalable robotic applications, I will share with you the best practices that I’ve learned from my own experience.


Note: this course targets the first version of ROS, or “ROS1”. This is not a ROS2 course.

– Should you learn ROS1 or ROS2?

Well, ROS2 is the future of ROS, that’s for sure. And as of today, ROS2 is stable enough, with most of the stacks and plugins ready to be used. So, as a general advice, I now recommend to start with ROS2 if you want to learn ROS.

However, learning ROS1 will allow you to work on any ROS legacy project (there are a lot), and this can be a good skillset to have for a job search. Another argument is that learning both ROS2 and ROS1 will give you a better idea of the global picture.

Finally, once you have the basics with ROS1 and a few projects under your belt, switching to ROS2 actually won’t be that hard. Most of the concepts are identical for the 2 versions.

The best option would be to learn ROS1, AND ROS2. So you can work with any existing ROS project, and also work with the new framework.

All in all, don’t hesitate too much: the best thing you can do is to start learning ROS today, whether it’s ROS1 and ROS2.

Who this course is for:

  • Students who want to learn ROS without wasting time
  • Developers who want to join the robotic side
  • Researchers/Teachers who want to use a great robot framework for teaching and testing
  • Engineers who want to create robot softwares faster
  • And anyone who wants to build scalable robot applications with ROS