Skip to content

architjain19/eYantra-MOOC_Getting-Started-With-ROS2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

e-Yantra Robotics Competition MOOC - Getting Started With ROS2

Check website live here -> ROS2 MooC


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.

Why ROS2?

ROS2 brings a host of new features and improvements that enhance performance, flexibility, and scalability. These advancements are poised to drive the future of robotics, making ROS2 a must-learn for anyone serious about robotics development.

What You'll Learn

In this course, you will:

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

  • Hands-On Practice: Engage in practical exercises and debugging techniques that reinforce your learning and build your skills.

  • 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

  • Future-Proof Skills: Equip yourself with the knowledge and skills that are set to become industry standards in the coming years.

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!