VOOZH about

URL: https://www.coursera.org/learn/packt-ros-2-foundations-architecture-programming-and-core-concepts-4ztwg

⇱ ROS 2 Foundations: Architecture, Programming & Core Concepts | Coursera


ROS 2 Foundations: Architecture, Programming & Core Concepts

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

ROS 2 Foundations: Architecture, Programming & Core Concepts

Included with

β€’

Learn more

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

4 hours to complete
Flexible schedule
Learn at your own pace

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

4 hours to complete
Flexible schedule
Learn at your own pace

What you'll learn

  • Set up and configure a ROS 2 development environment

  • Create and manage ROS 2 nodes for modular applications

  • Use topics, services, and actions for inter-node communication

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

May 2026

Assessments

3 assignments

Taught in English

Build your subject-matter expertise

This course is part of the Mastering ROS 2 for Robotics Programming Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 3 modules in this course

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.

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.

What's included

1 video8 readings1 assignment

1 videoβ€’Total 1 minute
  • Overviewβ€’1 minute
8 readingsβ€’Total 40 minutes
  • Introductionβ€’4 minutes
  • Important Features of ROSβ€’6 minutes
  • ROS Equationβ€’4 minutes
  • Comparing ROS 1 and ROS 2 Architectureβ€’5 minutes
  • Why Should You Migrate from ROS 1 to ROS 2β€’5 minutes
  • Middleware Layerβ€’6 minutes
  • Exploring a Workflow for Sending and Receiving Data Using DDSβ€’4 minutes
  • Dissecting Some Important ROS 2 Layersβ€’6 minutes
1 assignmentβ€’Total 16 minutes
  • ROS 2 Essentialsβ€’16 minutes

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.

What's included

1 video12 readings1 assignment

1 videoβ€’Total 1 minute
  • Overviewβ€’1 minute
12 readingsβ€’Total 66 minutes
  • Introductionβ€’7 minutes
  • Installing ROS 2 Jazzy on Ubuntu 24.04 LTSβ€’6 minutes
  • Installing ROS 2 Jazzyβ€’6 minutes
  • Installing ROS 2 Jazzy in Dockerβ€’5 minutes
  • Creating a container out of the ROS 2 Jazzy imageβ€’5 minutes
  • Dockerfile for ROS 2 Jazzyβ€’5 minutes
  • Building the Docker Imageβ€’4 minutes
  • Docker Compose with ROS 2 Jazzyβ€’5 minutes
  • Mastering ROS 2 Tools and Conceptsβ€’6 minutes
  • What Is a ROS 2 Nodeβ€’5 minutes
  • What Is a ROS Computation Graphβ€’5 minutes
  • What Is a ROS Service and How Does Turtlesim Work?β€’7 minutes
1 assignmentβ€’Total 16 minutes
  • ROS 2 Foundations and Toolsβ€’16 minutes

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.

What's included

1 video11 readings1 assignment

1 videoβ€’Total 1 minute
  • Overviewβ€’1 minute
11 readingsβ€’Total 57 minutes
  • Introductionβ€’4 minutes
  • What Is a ROS Parameterβ€’5 minutes
  • Building a ROS 2 Packageβ€’4 minutes
  • Introduction to ROS 2 Client Librariesβ€’6 minutes
  • Lifecycle Nodes (Managed Nodes)β€’6 minutes
  • Implementing ROS 2 Topics in C++β€’6 minutes
  • Setting QoS Policiesβ€’6 minutes
  • Running the Nodesβ€’5 minutes
  • Implementing ROS 2 Services in C++β€’4 minutes
  • Implementing a ROS 2 Action in C++β€’5 minutes
  • Configuring ROS 2 DDS Zenoh and ROS_DOMAIN_IDβ€’6 minutes
1 assignmentβ€’Total 16 minutes
  • ROS 2 Implementation Fundamentalsβ€’16 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructor

Packt
1,946 Coursesβ€’572,247 learners

Explore more from Software Development

Why people choose Coursera for their career

πŸ‘ Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
πŸ‘ Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
πŸ‘ Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
πŸ‘ Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Frequently asked questions

Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.

If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.

Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.

If you complete the course successfully, your electronic Course Certificate will be added to your Accomplishments page - from there, you can print your Course Certificate or add it to your LinkedIn profile.

This course is currently available only to learners who have paid or received financial aid, when available.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,