Welcome to course -
Getting Started With ROS2



Welcome to the exciting world of ROS2! This comprehensive introductory course is designed for both newcomers to the Robot Operating System (ROS) and experienced ROS1 users looking to transition to the latest version. Whether you are just starting your journey with ROS or looking to upgrade your skills, this course will provide you with the foundational knowledge you need to succeed.

What You'll Learn

In this course, you will learn:

  • Installation Setup: Learn the basics of installing ROS2 on your system.

  • ROS2 Ecosystem and Filesystem: Learn how to create and use ROS2 workspaces and packages.

  • Understand the Basics: Get a solid grasp of the core concepts and architecture of ROS2.

  • ROS1 v/s ROS2 and DDS: Learn the key differences between ROS1 and ROS2; Recognize the features of Data Distribution Service (DDS) used in ROS2

  • ROS2 Launch/Nodes: Learn how to use ROS2 launch system to launch multiple nodes at once and overview of ROS2 nodes.

  • ROS2 Topics/Services/Actions: Learn the basics of ROS2 topics/services/actions.

  • ROS2 CLI Tools: Learn the basics of ROS2 command-line tools.

  • ROS2 RQT Visualization: Learn how to use RQT to visualize ROS2 topics and services.

  • Hands-On Practice: Engage in practical exercises and debugging techniques and develop algorithms over turtlesim simulator.

Pre-requisites:

Knowledge in C++ and/or Python Programming languages

Familiarity with ROS1 (recommended, but not compulsory)

Basic understanding of Linux - Ubuntu Operating System

Motivated to learn, explore and get started with ROS2

Course Structure

This MOOC is structured to take you from the basics to a competent level of ROS2 proficiency. We will start with fundamental concepts and gradually move to more advanced topics. While this course focuses on the essentials, more specialized subjects will be covered in dedicated courses. In the current "Getting Started With ROS2" we will focus on core basics of ROS2.

  • Introduction and Installation Setup:

    • In this module, we will set up the system by installing required software components. You will learn how to install ROS2 Humble on Ubuntu 22.04 Linux systems while set up and configure ROS2 environments.
  • ROS2 Design concepts:

    • This module will cover the basics history of ROS, the difference between ROS1 and ROS2, what is a Data Distribution Service, and ROS2 design concepts.
  • ROS2 Ecosystem and Filesystem:

    • ROS2 underlay and overlay workspace environment
    • Create Colcon workspace
    • Build and install file explanation
    • Create custom ROS2 package (Python and CMake)
  • Overview of Different Communication Protocols in ROS2:

    • How ROS Topics, Services and Actions work
    • ROS CLI commands for topics, services, actions
    • Examples of ROS2 topics, services, actions
  • Overview of ROS2 nodes:

    • Understanding talker and listener Nodes
    • How to write publisher-subscriber nodes in ROS2 (Python and C++)
  • Launch files and running ROS nodes:

    • Components in ROS2 launch file
    • How to run ROS nodes using launch files
    • CLI commands to launch files and run ROS nodes
  • Getting started with RQT visualisation and CLI tools in ROS2:

    • ros2 topic/service/action list, info, pub
    • ros2 run/launch nodes
    • RQT graph visualisation
    • ros2 msg list, info, interface, etc
  • Overview of Turtlesim:

    • CLI operation of turtlesim robot
    • Create patterns using turtlesim by developing your custom ROS2 nodes
  • Choose your ROS2 Turtlesim milestone project:

    • Choose and develop any of these projects using concepts learnt from this course
      • Draw Iron Man using Turtlesim
      • Snake Game using Turtlesim
      • Ping Pong using Turtlesim

System Requirements:

  • Operating System: Ubuntu 22.04 LTS

  • Processor: eight cores, x86_64 (64-bit x86 Instruction Set)

  • HDD or SSD Storage space: 50GB or more

  • RAM: 8GB or more

  • Dedicated graphics card: preferable

  • Internet: Minimum speed of 5 Mbps & latency <= 50ms

Get Ready to Explore ROS2

ROS2 is more than just an upgrade—it's a powerful tool that opens up new possibilities in robotics. This course is your gateway to mastering ROS2 and staying ahead in the fast-evolving field of robotics.

Let's embark on this exciting journey together!