ROS2 How To: Discover Next Generation ROS
4.0 (116 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,215 students enrolled

ROS2 How To: Discover Next Generation ROS

Become an expert of ROS2 next generation robot software development framework
4.0 (116 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,213 students enrolled
Created by Anis Koubaa
Last updated 12/2019
English
English [Auto-generated]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 2.5 hours on-demand video
  • 1 article
  • 1 Practice Test
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Recognize the concepts of ROS2
  • Develop simple applications with ROS2 (C++ and Python)
  • Execute applications using ROS2
  • Create ROS2 workspace and packages
Course content
Expand all 27 lectures 02:19:12
+ ROS2 Installation
5 lectures 23:46

In this video, I demonstrate how to install Ubuntu Bonic virtual machine on Mac-OS. We used VM Fusion software as virtual machine application. The virtual machine will be used later to install ROS2 Bouncy on Ubuntu.

Preview 03:57

In this video, I show how to install ROS2 Bouncy on Ubnutu Bionic using a virtual machine.

Install ROS2 (Bouncy) on Ubuntu (Bionic)
05:51

In this video, I show how to install ROS2 bouncy on Mac-OS (Sierra) on a physical machine.

Install ROS2 (Bouncy) on Mac-OS (Sierra)
09:12
[UPDATE] Note. Newer version of ROS2
00:29
+ ROS2 Design Concepts
5 lectures 13:04
ROS2 Design Goals
02:12
What is DDS?
02:11
ROS2 over DDS
03:45
Differences between ROS1 and ROS2
03:41

In this practice test, you will assess your knowledge on ROS2 design concepts.

ROS2 Design Concepts
10 questions
+ ROS2 Ecosystem and Filesystem
5 lectures 33:45

In this video, I present how to install the Colcon build system to create ROS2 workspaces and compile ROS2 packages.

Install Colcon Build System
02:43
Create a ROS2 overlay workspace
06:12
Create a ROS2 package for C++
08:06

In this video,  I show how to create A ROS2 package in Python using a sample package, and also show how to build the Python package and execute the resulting script.

Create a ROS2 package for Python
10:23
Build a C++ Node and Execute it
06:21
In this assignment, you will create your workspace and package in ROS2
Create your workspace and package in ROS2
8 questions
+ Topics, Publishers and Subscribers (Python and C++)
8 lectures 48:35
ROS2 Example Code
00:57
Publisher in ROS2 with Python (old school version)
09:05
Publisher in ROS2 with Python 
 (object-oriented and local function versions)
04:52
Subscribers in ROS2 with Python 
 (old-school, object-oriented and lambda)
08:06
Publisher in ROS with C++ (old-school, not composable)
09:12
Publisher in ROS with C++ (object-oriented and lambda function versions)
09:41
Subscribers in ROS2 with C++ 
 (old-school, object-oriented and lambda)
06:05
+ ROS2 Services (Python and C++)
3 lectures 14:58
Define a Service File in ROS2
04:58
Get Demos Code from ROS2 GitHub Repository
01:04
Services in ROS2 (Python)
08:56
Requirements
  • Knowledge in C++ and/or Python Programming languages.
  • Familiarity with ROS1 (recommended)
  • Basic understanding of Linux Ubuntu Operating System
  • Want to learn ROS2
Description

You are a ROS user, and you have heard about ROS2 as being the next generation ROS, but,

  • you are still unsure what ROS2 is?

  • How does it improve on and differ from ROS1?

  • Is it time to migrate to ROS2?

  • Is it easy to install ROS2 and get it up and running?

  • How to create a workspace, a package and write programs with ROS?

This course is the right place to address all the questions about ROS2.

ROS2 is the next generation of Robot Operating System (ROS) and the community is starting the migration to this new framework.

In July 2018, ROS2 Bouncy was released and includes most of the planned ROS2 functionalities. However, there is very little documentation and tutorials about ROS2, thus the purpose of this course is to fill the gap and provides a quick introduction to ROS2 for existing ROS users and developers.

Why I am teaching this course?

ROS2 is the next generation robot operating system, and is actively being developed to fully replace ROS1 in the near future. With the release of ROS2 bouncy on July 2018, ROS2 has gained a lot of maturity and most of its design goals were achieved and implemented.

However, when started to learn ROS2, I realized that there is a very little documentation and tutorials about it, there are no courses and only a few and short tutorials on the official github repository were available, but does not give the overall picture as it does not stand as an official documentation but rather a technical guide to ROS2.

So, I have developed this course, which the first to the best of my knowledge, to provide a comprehensive coverage of ROS2, starting from explaining the design concepts, installing it on different operating system, and explaining how to create ROS2 projects in both C++ and Python.

This is a course that I wish I could have find it when I started to learn ROS.

Course Objectives:

The objectives of this course are as follow:

  1. First, I will unveil the secrets of ROS2 by explaining its design concepts and how to develop projects with it.

  2. Second, I aim at clarifying the differences between ROS1 and ROS2 (the code explanation will compare between the code written in ROS1 and that for ROS2 in both C++ and Python).

  3. Third, the course also intends to provide a comprehensive coverage of ROS2 ecosystem, and will demonstrate how to create a ROS2 workspace, ROS2 packages for C++ and Python, and discussed in details implementation aspects of ROS2 topics, and services.

Course Learning Outcomes

At the end of the course, you will able to:

  • Recognize the features of ROS2 (DDS, design, …)

  • Install ROS2 (Bouncy) on Ubuntu (Debian) and Mac-OS

  • Create a workspace in ROS2

  • Create ROS2 packages for C++ and Python

  • Develop ROS2 programs using topics and services in C++ and Python

  • Understand how to deal with the documentation of ROS2

  • Recognize the difference between ROS1 and ROS2

Pre-Requisistes

  • Familiarity or ROS1 basic concepts

  • Knowledge in C++ and/or Python Programming languages

  • Basic understanding of Linux Ubuntu Operating System

Enroll now!

If you want to be one of the first ROS users to learn ROS2 and be up to date with next generation robot operating system framework, which sooner or later, will be fully replacing ROS2, as the ROS developer community is actively pushing towards ROS2, then, do not let time running out and enroll right away in this course to start your ROS2 experience.

Who this course is for:
  • Existing ROS developers and users willing to discover ROS2
  • Robotics Engineers
  • University Students studying Robotics Courses
  • University Instructors teaching Robotics Courses
  • Anyone interest to know about the basic concepts of ROS2