Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Personal Transformation Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Online Business Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Development Tools Robot Operating System (ROS)

ROS2 (Foxy) How To: Discover Next Generation ROS

Become an expert of ROS2 next generation robot software development framework
Rating: 4.3 out of 54.3 (167 ratings)
1,607 students
Created by Anis Koubaa
Last updated 12/2020
English
English [Auto]
30-Day Money-Back Guarantee

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
Curated for the Udemy for Business collection

Course content

8 sections • 33 lectures • 2h 30m total length

  • Preview05:04

  • Preview00:17
  • Install Ubuntu 20.04 on a Virtual Machine
    03:44
  • [New] Install ROS2 Foxy (released June 2020) on Ubuntu 20.04
    02:36
  • Install ros1_bridge and ROS Neotic in conjunction with ROS
    03:04

  • Preview01:15
  • ROS2 Design Goals
    02:12
  • What is DDS?
    02:11
  • ROS2 over DDS
    03:45
  • Differences between ROS1 and ROS2
    03:41
  • ROS2 Design Concepts
    10 questions

  • Preview02:43
  • Create a ROS2 overlay workspace
    06:12
  • Create a ROS2 package for C++
    08:06
  • Note about the next lecture
    00:08
  • Create a ROS2 package for Python
    10:23
  • Build a C++ Node and Execute it
    06:21
  • Create your workspace and package in ROS2
    8 questions

  • Preview00:37
  • ROS2 Example Code
    00:57
  • Publisher in ROS2 with Python (old school version)
    09:05
  • Preview04: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

  • Define a Service File in ROS2
    04:58
  • Get Demos Code from ROS2 GitHub Repository
    01:04
  • Services in ROS2 (Python)
    08:56

  • Running Turtlesim
    03:34
  • ROS2 Computation Graph in Action
    04:50
  • Showing the content of ROS2 Messages
    02:13
  • ROS2 Node Information For Turtlesim
    01:51
  • ROS2 rqt
    05:08

  • ROS1 Bridge Demo with Turtlesim
    07:31

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

NOTE

If you are a ROS1 user, it is important to keep an eye on the development of ROS2. ROS2 is expected to become mature and fully replace ROS1 by 2023, and the Foxy version released in June 2020 is mature and contain several advanced features. The course is being updated to the new features of ROS2 as they emerge.

The course was first released with ROS2 Bouncy and now is being updated to ROS Foxy released in June 2020.

I am changing all the lectures that are outdated (e.g. installation). Some lectures remain the same as they hold for any version of ROS2.

UPDATES

December 5, 2020

  • I added a new section on Turtlesim Simulator on ROS2 and ROS2 Computation Graph demos.

August 21, 2020

  • Installation of ROS2 Foxy released in June 2020 is presented

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 in July 2018, ROS2 has gained a lot of maturities 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 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 comprehensive coverage of ROS2, starting from explaining the design concepts, installing it on different operating systems, and explaining how to create ROS2 projects in both C++ and Python.

This is a course that I wish I could have found it when I started to learn ROS2.

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 comprehensive coverage of the ROS2 ecosystem and will demonstrate how to create a ROS2 workspace, ROS2 packages for C++ and Python, and discussed in detail 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-Requisites

  • Familiarity or ROS1 basic concepts

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

  • Basic understanding of Linux Ubuntu Operating System

Enrol 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 enrol 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

Featured review

Nguyen Trong Nghia
Nguyen Trong Nghia
12 courses
6 reviews
Rating: 5.0 out of 510 months ago
The course focuses on the comparison between ROS1 and ROS2, introducing new advantages in using ROS2. I found it very easy to follow the course, and the examples. This course improved my knowledge about ROS2, which will help me explore its potential in creating new robotic applications.

Instructor

Anis Koubaa
Professor of Computer Science
Anis Koubaa
  • 4.4 Instructor Rating
  • 3,643 Reviews
  • 12,867 Students
  • 6 Courses

I am Anis Koubaa, a Full Professor in Computer Science at Prince Sultan University and the Director of the Robotics and Internet-of-Things research lab. I am also R&D Director at Gaitech Robotics in China and Senior Researcher in CISTER/INESC TEC and ISEP-IPP, Porto, Portugal. I have been the Chair of the ACM Chapter in Saudi Arabia since 2014. I am also a Senior Fellow of the Higher Education Academy (HEA) in UK.

I received several distinctions and awards including the Rector Research Award in 2010 at Al-Imam Mohamed bin Saud University, and the Rector Teaching Award in 2016 at Prince Sultan University.

I have been teaching Programming courses for more than 16 years in particular Java and Web technologies, and different computer science courses. Programming is my passion for me and I have developed many software and applications. I have been also teaching robotics and developing several program with ROS in both academia and industry. 

I am the Editor of three books on Robot Operating System (ROS) with Springer publisher, which are in the top 25% of most downloaded book in Springer database. 

I have a lot of tutorials and course on the Internet provided on my YouTube Channel. I am very excited to provide my courses on Udemy to students around the world with practical hands-on activities. 

My teaching philosophy is based on Teaching by Demonstration, where I like to explain the concepts by demonstrating them  with real-world illustrations. The students will be mainly Learning by Doing. 

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.