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/orPython
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.
- 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
- 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
- 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!