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:First, I will unveil the secrets of ROS2 by explaining its design concepts and how to develop projects with it. 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). 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 OutcomesAt the end of the course, you will able to:Recognize the features of ROS2 (DDS, design, )Install ROS2 (Bouncy) on Ubuntu (Debian) and Mac-OSCreate a workspace in ROS2Create ROS2 packages for C++ and PythonDevelop ROS2 programs using topics and services in C++ and PythonUnderstand how to deal with the documentation of ROS2Recognize the difference between ROS1 and ROS2Pre-RequisistesFamiliarity or ROS1 basic conceptsKnowledge in C++ and/or Python Programming languagesBasic understanding of Linux Ubuntu Operating SystemEnroll 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.