ROS 2 is a powerful framework for building scalable and modular robotic systems, widely used in modern robotics and automation. This course introduces the core architecture, programming model, and essential concepts required to develop robust ROS 2 applications in real-world environments.
Through hands-on learning, you will set up a ROS 2 environment, write basic programs, and implement communication patterns between nodes. By the end of the course, you will be able to build, run, and manage ROS 2 applications while understanding how different components interact in a distributed robotic system.
What sets this course apart is its balance of foundational theory and practical implementation, ensuring you not only understand ROS 2 concepts but can also apply them effectively. Real-world scenarios are used to reinforce learning and build confidence.
This course is ideal for beginners in robotics, developers transitioning to ROS 2, and anyone interested in robotic software systems. Basic programming knowledge, preferably in Python or C++, is recommended.
This course is part one of a three-course Specialization designed to provide a comprehensive learning pathway in this subject area. While it delivers standalone value and practical skills, learners seeking a more integrated and in-depth progression may benefit from completing the full Specialization.
Overview
Syllabus
- Introduction to ROS 2
- This module introduces the foundational concepts of ROS 2, highlighting its key features, architecture, and the differences from ROS 1. Learners will explore the middleware layer, understand the role of DDS in communication, and examine workflows for data exchange within robotic systems. The module also discusses the motivations for migrating to ROS 2 and the structure of its core layers.
- Getting Started with ROS 2 Programming
- This module guides learners through installing and configuring ROS 2 Jazzy on Ubuntu and Docker, while introducing essential ROS 2 concepts such as nodes, computation graphs, and services. Learners will gain hands-on experience with Docker containers, custom images, and Docker Compose for robotics applications. Foundational ROS 2 tools and communication models are also explored to prepare for practical programming.
- Implementing ROS 2 Concepts
- This module guides learners through the practical implementation of key ROS 2 concepts using C++. You will explore configuring nodes with parameters, building packages, managing node lifecycles, and implementing publishers, subscribers, services, and actions. Additionally, you'll learn to configure Quality of Service (QoS) policies and customize DDS settings for optimal performance.
Taught by
Packt - Course Instructors