Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Software Development Tools No-Code Development
Business
Entrepreneurship Communication 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 Certifications Network & Security Hardware Operating Systems & Servers 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 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 Paid 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 & Gardening 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 & Diet Yoga Mental Health Martial Arts & 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 Learning Teacher Training Test Prep Other Teaching & Academics
Web Development JavaScript React Angular CSS Node.Js HTML5 PHP Vue JS
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Amazon AWS Cisco CCNA Microsoft AZ-900 AWS Certified Developer - Associate
Microsoft Power BI SQL Tableau Data Modeling Business Analysis Business Intelligence MySQL Qlik Sense Blockchain
Unity Unreal Engine Game Development Fundamentals C# 3D Game Development C++ Unreal Engine Blueprints 2D Game Development Virtual Reality
Google Flutter Android Development iOS Development React Native Swift Dart (programming language) Mobile App Development Kotlin SwiftUI
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting Canva InDesign Character Design Procreate Digital Illustration App
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Life Purpose Mindfulness Meditation CBT Cognitive Behavioral Therapy Sound Therapy
Entrepreneurship Fundamentals Business Fundamentals Freelancing Business Strategy Startup Business Plan Online Business Blogging Home Business
Digital Marketing Social Media Marketing Marketing Strategy Internet Marketing Google Analytics Copywriting Email Marketing YouTube Marketing Podcasting
2022-04-01T13:52:14Z

DevelopmentSoftware Development ToolsRobot Operating System (ROS)

ROS2 (Foxy) For Beginners I: Basics and Fundamental Concepts

Become an expert of ROS2 next generation robot software development framework
Rating: 4.8 out of 54.8 (233 ratings)
2,121 students
Created by Anis Koubaa
Last updated 4/2022
English
English [Auto]

What you'll learn

  • Install ROS2 on Ubuntu
  • Recognize the concepts of ROS2 and its ecosystem
  • Understand the difference between ROS1 and ROS2
  • Recognize the features of Data Distribution Service (DDS) used in ROS2
  • Create ROS2 workspaces and packages
  • Develop programs with ROS2 (C++ and Python)
  • Execute applications using ROS2
  • Practice ROS2 Computation Graph Concepts using Hands-on with Turtlesim

Requirements

  • Knowledge in C++ and/or Python Programming languages.
  • Familiarity with ROS1 (recommended)
  • Basic understanding of Linux Ubuntu Operating System
  • Motivated to learn, explore and get started with ROS2

Description

Note

The course title was changed from ROS2 (Foxy): The Next-Generation ROS to the new title ROS2 (Foxy) For Beginners I: Basics and Fundamental Concepts. The reason is to be in line with my course series ROS For Beginners.

UPDATE

The course is updated with the latest LTS ROS2 version, ROS2 Foxy, on March 2022.

Are you in the right place?

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.

Why do you need to take a ROS2 course now?

ROS1 has emerged since 2009 and has been evolving as the defacto standard Ecosystem for developing all kinds of robotics applications, including mobile robots, robotics arms, unmanned aerial systems and drones, self-driving cars, and much more. In ROSCon 2014 conference, the Open Source Robotics Foundations (OSRF) and the ROS community started to discuss and identify some gaps in ROS1, including (1) single point of failure with the ROS Master Node, (2) nonsupport of multi-robots systems as ROS1 was designed for a single robot usage, (3) and no support of real-time guarantee or quality of service profiles, and thus its reliability was questionable.

The ROS community has formed several working groups to design and develop the next-generation version of ROS1, which is currently ROS2. Alpha and Beta versions started to show up from August 2015 until September 2017, and the first official ROS2 release, known as Ardent Apalone, was launched. On December 8th, 2017. Despite the release of ROS2, ROS1 was still being used more actively than ROS2 until 2022, and the main reason is that ROS2 has been under continuous development and did not reach the same level of maturity as ROS1. In fact, the ROS2 developers created the ROS1 Bridge package to be able to communicate between ROS1 and ROS2 when ROS1 is needed from missing functionalities in ROS2.

However, things have been changing since 2021, where ROS2 has accomplished most of the missing functionalities, including navigation, transformations, and others. It is expected that ROS2 will completely dominate or at least start to dominate ROS1 in 2023. For this reason, learning about ROS2, even if you are an experience ROS1 developer, is becoming more and more in need of coping with the future changes and transition from ROS1 and ROS2. As a matter of fact, the latest ROS1 version, ROS Noetic, released in May 2020, has an end of life in May 2025, while ROS2 will continue developing.

I provide this course to all ROS users, with prior knowledge on ROS1 or even entirely new to the ROS ecosystem, to present the features of ROS2 and how it differs and compares with ROS1.


Course Objectives:

The objectives of this course are as follow:

  1. Unveil the secrets of ROS2

  2. Explain the concepts of ROS2 using a hands-on approach

  3. Clarify the differences between ROS1 and ROS2

  4. Provide comprehensive coverage of the ROS2 ecosystem

  5. Demonstrate how to create a ROS2 workspace and packages using C++ and Python

  6. Discuss in detail the implementation aspects of ROS2 topics, services, messages, and actions


Course Learning Outcomes

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

  • Install ROS2 on Ubuntu

  • Recognize the concepts of ROS2 and its ecosystem

  • Understand the difference between ROS1 and ROS2

  • Recognize the features of Data Distribution Service (DDS) used in ROS2

  • Create ROS2 workspaces and packages

  • Develop programs with ROS2 (C++ and Python)

  • Execute applications using ROS2

  • Practice ROS2 Computation Graph Concepts using Hands-on with Turtlesim


Pre-Requisites

  • 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 the 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

Featured review

Nguyen Trong Nghia
Nguyen T.
27 courses
6 reviews
Rating: 5.0 out of 5a year 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.5 Instructor Rating
  • 5,263 Reviews
  • 18,691 Students
  • 8 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. 

Top companies choose Udemy Business to build in-demand career skills.
NasdaqVolkswagenBoxNetAppEventbrite
  • Udemy Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Investors
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Accessibility statement
Udemy
© 2022 Udemy, Inc.