Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Learn ROS2 as a ROS1 Developer and Migrate Your ROS Projects

via Udemy

Overview

ROS1 vs ROS2, ros1_bridge, Migration Guide, Complete Project - Discover Robot Operating System, Version 2

What you'll learn:
  • Most important differences between ROS1 and ROS2 for a Developer
  • Install and setup ROS2 on Ubuntu
  • Write complete applications with ROS2
  • Communicate between ROS1 and ROS2 using the ros1_bridge package
  • Migrate a ROS1 project to ROS2
  • Practice with a complete migration project

At the end of this course - starting from your ROS1 knowledge - you will be able to create complete ROS2 applications, and migrate a ROS1 code base in ROS2.

! IMPORTANT: If you’re a complete beginner and have no ROS1 knowledge at all, please don’t take this course. You must know how to work with core concepts (nodes, services, parameters, launch files) to understand the course.

! UPDATE - PLEASEREAD: the ros1_bridge + migration part is not so relevant anymore, as the ros1_bridge project was not really completed, and it looks a bit abandoned (unfortunately, no alternative). I'm still leaving the course open for enrollments, because the first 4 sections are still very useful.


-- Why this course?


Well, if you already know ROS1, you might want to start learning ROS2, but not from scratch.

Or if you have to work with a ROS1 project, you might be looking into a way to port it to ROS2.

I myself was a ROS1 developer before learning ROS2. What I was looking for was simply some documentation of how I could quickly get up to speed with ROS2, as I already knew ROS1. I didn’t find any good resources, so I had to go through all of the beginner documentation for ROS2. After doing all that, I’m now using ROS2 and I can see the differences. In this course I won’t start from the very beginning of each ROS concept, since you already know them. I’ll just focus on the most important points that will allow you to write ROS2 applications in no time, thanks to your pre-existing ROS1 knowledge.

And I understand the need to know what to do with an existing ROS1 project, now that ROS2 is starting to get bigger and more stable. So, again, what I’ll teach you is what I personally do with my own projects. I don’t “invent” a method, I create it from real practical needs I have and other people have.


-- How do I teach?

My method is quite simple:

  • Step by step

  • Going to the point

  • Practice over theory, though a little bit of theory doesn’t hurt when combined with practice

My experience with Robot Operating System is very practical. I actually used it to build a robotic arm that is now on the market. So I had no other choice than being practical and going to the point. And that’s the way I want to teach you.


-- What will you do in the course?


This course is divided into 2 main parts.

1. First, you’re going to learn how to write ROS2 programs, using your ROS1 experience. We’ll start from an existing ROS1 application, and step by step, we’ll go through every core concept and see how to translate the app in ROS2. Note that we won’t dive into advanced functionalities, we’ll stick to the ROS2 core functionalities.

2. Then, it’s migration time! If you already have some basics in ROS2, you might go quickly with the first part, and then focus on this migration part.

I will explain to you:

  • When to switch to ROS2.

  • Which ROS1 and ROS2 distribution to use now and in the near future.

I will give you a step-by-step process to migrate your ROS1 code base in ROS2. Also you’ll see how to run a ROS1 application along with a ROS2 application, communicating between them thanks to the ros1_bridge package.

And finally: a complete project for you to practice on migrating a code base and writing ROS2 code. I’ll give you a project I made with Turtlesim in ROS1, and you’ll migrate it to ROS2.

Note: once again, for this 2nd part of the course, unfortunately the content starts to get outdated, as the ros1_bridge development didn't go through, and there is no alternative to that. The first part is still relevant.


This course is not for you if:

  • You don’t have any knowledge in ROS1

  • You’re already an expert in both ROS1 and ROS2.

  • You’re just getting started with programming and Linux.

Taught by

Edouard Renard

Reviews

4.6 rating at Udemy based on 107 ratings

Start your review of Learn ROS2 as a ROS1 Developer and Migrate Your ROS Projects

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.