VOOZH about

URL: https://www.coursera.org/learn/packt-ros-2-from-scratch

⇱ ROS 2 from Scratch | Coursera


ROS 2 from Scratch

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

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

Recommended experience

3 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

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

Recommended experience

3 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Build a strong foundation in ROS 2 with practical, real-world applications.

  • Learn to create scalable applications using Python and C++.

  • Follow a structured process to design and simulate a custom robot.

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

April 2026

Assessments

14 assignments

Taught in English

There are 14 modules in this course

In the world of robotics, ROS 2 is the backbone for creating scalable, efficient systems that interact with physical and virtual environments. This course provides an in-depth look at ROS 2, from the basics to more advanced concepts, preparing you to develop robust robotic applications.

Through this course, learners will gain hands-on experience with the key components of ROS 2, including node creation, message passing, and service handling. By exploring real-world applications like robot simulation and TFs, you'll strengthen your understanding and gain practical skills. What sets this course apart is its combination of theory with interactive, real-world exercises. From building and sending messages between nodes to simulating robots in Gazebo, this course provides a comprehensive learning experience. This course is perfect for robotics enthusiasts and professionals looking to dive into ROS 2. While prior programming experience is helpful, no specific robotics knowledge is required to start.

In this section, we explore ROS 2 fundamentals, including core concepts, terminology, and differences from ROS 1, while identifying prerequisites for effective robotics development.

What's included

2 videos3 readings1 assignment

2 videosβ€’Total 2 minutes
  • Course Overview Videoβ€’1 minute
  • Introduction to ROS 2 - What Is ROS 2? - Overview Videoβ€’1 minute
3 readingsβ€’Total 35 minutes
  • Introductionβ€’10 minutes
  • What is ROS?β€’10 minutes
  • ROS 1 versus ROS 2β€’15 minutes
1 assignmentβ€’Total 10 minutes
  • ROS 2 Fundamentals and Core Conceptsβ€’10 minutes

In this section, we guide through selecting a ROS 2 distribution, installing Ubuntu, and setting up the ROS 2 environment for effective robotics development.

What's included

1 video5 readings1 assignment

1 videoβ€’Total 1 minute
  • Installing and Setting Up ROS 2 - Overview Videoβ€’1 minute
5 readingsβ€’Total 70 minutes
  • Introductionβ€’10 minutes
  • How to Choose a ROS Distributionβ€’10 minutes
  • Creating a New VMβ€’15 minutes
  • Guest Additions CD Imageβ€’15 minutes
  • Installing ROS 2 Packagesβ€’20 minutes
1 assignmentβ€’Total 10 minutes
  • ROS 2 Installation and Configuration Fundamentalsβ€’10 minutes

In this section, we cover ROS 2 core concepts like nodes, topics, services, actions, parameters, and launch files for practical implementation.

What's included

1 video6 readings1 assignment

1 videoβ€’Total 1 minute
  • Uncovering ROS 2 Core Concepts - Overview Videoβ€’1 minute
6 readingsβ€’Total 95 minutes
  • Introductionβ€’15 minutes
  • Running a 2D Robot Simulationβ€’15 minutes
  • More Experimentation with Topicsβ€’10 minutes
  • Servicesβ€’20 minutes
  • Recap Servicesβ€’15 minutes
  • Sending a Goal from the Terminalβ€’20 minutes
1 assignmentβ€’Total 10 minutes
  • ROS 2 Core Concepts Overviewβ€’10 minutes

In this section, we explore creating ROS 2 workspaces, packages, and nodes in Python and C++. Learners gain hands-on skills to build, run, and introspect nodes for robotic applications.

What's included

1 video8 readings1 assignment

1 videoβ€’Total 1 minute
  • Writing and Building a ROS 2 Node - Overview Videoβ€’1 minute
8 readingsβ€’Total 120 minutes
  • Introductionβ€’15 minutes
  • Sourcing the Workspaceβ€’15 minutes
  • Building a Packageβ€’10 minutes
  • Creating a Python Nodeβ€’20 minutes
  • Building the Nodeβ€’15 minutes
  • Creating a C++ Nodeβ€’15 minutes
  • Building and Running the Nodeβ€’15 minutes
  • Introspecting Your Nodesβ€’15 minutes
1 assignmentβ€’Total 10 minutes
  • ROS 2 Node Fundamentalsβ€’10 minutes

In this section, we explore ROS 2 topics for node communication, covering publishers, subscribers, and custom interfaces to enable message exchange in robotic systems.

What's included

1 video8 readings1 assignment

1 videoβ€’Total 1 minute
  • Topics - Sending and Receiving Messages between Nodes - Overview Videoβ€’1 minute
8 readingsβ€’Total 165 minutes
  • Introductionβ€’20 minutes
  • Multiple Publishers and Subscribers Inside One Nodeβ€’30 minutes
  • Creating a Node with a Publisher and a Timerβ€’30 minutes
  • Writing a C++ Subscriberβ€’20 minutes
  • Changing a Topic Name at Runtimeβ€’15 minutes
  • Creating a Custom Interface for a Topicβ€’15 minutes
  • Creating a New Topic Interfaceβ€’15 minutes
  • Using Your Custom Message in Your Codeβ€’20 minutes
1 assignmentβ€’Total 10 minutes
  • ROS 2 Communication Fundamentalsβ€’10 minutes

In this section, we explore ROS 2 services, focusing on creating custom interfaces, writing servers and clients, and using tools for service analysis in node communication.

What's included

1 video8 readings1 assignment

1 videoβ€’Total 1 minute
  • Client/Server Interaction between Nodes - Overview Videoβ€’1 minute
8 readingsβ€’Total 135 minutes
  • Introductionβ€’10 minutes
  • Wrapping Things Upβ€’30 minutes
  • Writing a Service Serverβ€’15 minutes
  • Validating the Requestβ€’20 minutes
  • Writing a Service Clientβ€’15 minutes
  • Writing a C++ Service Clientβ€’20 minutes
  • Service Challenge Client and Serverβ€’5 minutes
  • Challengeβ€’20 minutes
1 assignmentβ€’Total 10 minutes
  • Client-Server Communication in ROS 2β€’10 minutes

In this section, we explore ROS 2 actions, focusing on implementing servers, clients, and custom interfaces with feedback and cancel mechanisms.

What's included

1 video8 readings1 assignment

1 videoβ€’Total 1 minute
  • Actions - When Services Are Not Enough - Overview Videoβ€’1 minute
8 readingsβ€’Total 155 minutes
  • Introductionβ€’10 minutes
  • How Do Actions Work?β€’10 minutes
  • Wrapping Things Upβ€’20 minutes
  • Writing an Action Serverβ€’15 minutes
  • Executing the Goalβ€’20 minutes
  • Implementing the Callbacksβ€’20 minutes
  • Writing a C++ Action Clientβ€’30 minutes
  • Understanding the Problem with Cancel and Spinβ€’30 minutes
1 assignmentβ€’Total 10 minutes
  • ROS 2 Actions and Communicationβ€’10 minutes

In this section, we explore how to make ROS 2 nodes more dynamic using parameters, including loading from YAML files and updating with callbacks for real-time adaptability.

What's included

1 video1 reading1 assignment

1 videoβ€’Total 1 minute
  • Parameters - Making Nodes More Dynamic - Overview Videoβ€’1 minute
1 readingβ€’Total 50 minutes
  • Parameters - Making Nodes More Dynamic - The Readingβ€’50 minutes
1 assignmentβ€’Total 10 minutes
  • Dynamic Node Configuration and Parameter Managementβ€’10 minutes

In this section, we explore ROS 2 launch files for scaling applications, covering XML and Python implementations, node configuration, and parameter management for efficient node orchestration.

What's included

1 video5 readings1 assignment

1 videoβ€’Total 1 minute
  • Launch Files - Starting All Your Nodes at Once - Overview Videoβ€’1 minute
5 readingsβ€’Total 100 minutes
  • Introductionβ€’20 minutes
  • Writing an XML Launch Fileβ€’20 minutes
  • Including a Launch File Inside Another Launch Fileβ€’20 minutes
  • Installing and Loading a YAML Param File in a Launch Fileβ€’20 minutes
  • Specifying a Namespace in a Launch Fileβ€’20 minutes
1 assignmentβ€’Total 10 minutes
  • ROS 2 Launch File Fundamentalsβ€’10 minutes

In this section, we introduce TFs and RViz for visualizing robot coordinate transformations and analyzing their relationships.

What's included

1 video3 readings1 assignment

1 videoβ€’Total 1 minute
  • Discovering TFs with RViz - Overview Videoβ€’1 minute
3 readingsβ€’Total 45 minutes
  • Introductionβ€’15 minutes
  • The Relationship Between Two Frames (Arrow in RViz)β€’15 minutes
  • Visualizing the TF Treeβ€’15 minutes
1 assignmentβ€’Total 10 minutes
  • Exploring Transform Frames and Robot Structuresβ€’10 minutes

In this section, we explore creating URDF files to model robot links and joints using TFs, with Xacro for dynamic improvements, focusing on practical robot simulation and design.

What's included

1 video9 readings1 assignment

1 videoβ€’Total 1 minute
  • Creating a URDF for a Robot - Overview Videoβ€’1 minute
9 readingsβ€’Total 135 minutes
  • Introductionβ€’20 minutes
  • Modifying the Origin of the Visualβ€’10 minutes
  • The Process of Assembling Links and Jointsβ€’15 minutes
  • Fixing the Joint Originβ€’15 minutes
  • Recap the process to follow every timeβ€’10 minutes
  • Right Wheelβ€’15 minutes
  • Left Wheelβ€’15 minutes
  • Improving the URDF with Xacroβ€’20 minutes
  • Xacro Macrosβ€’15 minutes
1 assignmentβ€’Total 10 minutes
  • URDF Modeling Fundamentalsβ€’10 minutes

In this section, we explore packaging URDF files and publishing TFs in ROS 2, focusing on creating launch files and organizing robot data for real-world applications.

What's included

1 video4 readings1 assignment

1 videoβ€’Total 1 minute
  • Publishing TFs and Packaging the URDF - Overview Videoβ€’1 minute
4 readingsβ€’Total 80 minutes
  • Introductionβ€’15 minutes
  • Publishing the TFs from the Terminalβ€’15 minutes
  • Creating a Package to Install the URDFβ€’20 minutes
  • Installing the RViz Configurationβ€’30 minutes
1 assignmentβ€’Total 10 minutes
  • ROS 2 Robot Modeling and Transformation Fundamentalsβ€’10 minutes

In this section, we simulate a robot in Gazebo using ROS 2, adapt URDF with inertial and collision tags, and control the robot with plugins and launch files.

What's included

1 video9 readings1 assignment

1 videoβ€’Total 1 minute
  • Simulating a Robot in Gazebo - Overview Videoβ€’1 minute
9 readingsβ€’Total 125 minutes
  • Introductionβ€’10 minutes
  • Starting Gazeboβ€’15 minutes
  • How Gazebo Works with ROS 2β€’15 minutes
  • Including the Inertial Macros in the Linksβ€’10 minutes
  • How to Define a Collision Elementβ€’10 minutes
  • Spawning the Robot in Gazeboβ€’20 minutes
  • Controlling the Robot in Gazeboβ€’15 minutes
  • Acceleration and Velocity Min and Maxβ€’15 minutes
  • Starting the Gazebo Bridge with the Configurationβ€’15 minutes
1 assignmentβ€’Total 10 minutes
  • Robot Simulation Fundamentalsβ€’10 minutes

In this section, we explore advanced ROS 2 applications, focusing on real-world project planning, dynamic node communication, and robot simulation setup using TF and URDF.

What's included

1 video4 readings1 assignment

1 videoβ€’Total 1 minute
  • What to Do Next - Overview Videoβ€’1 minute
4 readingsβ€’Total 45 minutes
  • Introductionβ€’10 minutes
  • Navigation 2 Stackβ€’10 minutes
  • Coming Back to the Basicsβ€’10 minutes
  • Learning for a Specific Goalβ€’15 minutes
1 assignmentβ€’Total 10 minutes
  • Navigating ROS 2 Learning and Applicationβ€’10 minutes

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,