Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

ROS 2 from Scratch

Packt via Coursera

Overview

Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
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.

Syllabus

  • Introduction to ROS 2 - What Is ROS 2?
    • In this section, we explore ROS 2 fundamentals, including core concepts, terminology, and differences from ROS 1, while identifying prerequisites for effective robotics development.
  • Installing and Setting Up ROS 2
    • In this section, we guide through selecting a ROS 2 distribution, installing Ubuntu, and setting up the ROS 2 environment for effective robotics development.
  • Uncovering ROS 2 Core Concepts
    • In this section, we cover ROS 2 core concepts like nodes, topics, services, actions, parameters, and launch files for practical implementation.
  • Writing and Building a ROS 2 Node
    • 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.
  • Topics - Sending and Receiving Messages between Nodes
    • In this section, we explore ROS 2 topics for node communication, covering publishers, subscribers, and custom interfaces to enable message exchange in robotic systems.
  • Client/Server Interaction between Nodes
    • 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.
  • Actions - When Services Are Not Enough
    • In this section, we explore ROS 2 actions, focusing on implementing servers, clients, and custom interfaces with feedback and cancel mechanisms.
  • Parameters - Making Nodes More Dynamic
    • 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.
  • Launch Files - Starting All Your Nodes at Once
    • 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.
  • Discovering TFs with RViz
    • In this section, we introduce TFs and RViz for visualizing robot coordinate transformations and analyzing their relationships.
  • Creating a URDF for a Robot
    • 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.
  • Publishing TFs and Packaging the URDF
    • 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.
  • Simulating a Robot in Gazebo
    • 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 to Do Next
    • 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.

Taught by

Packt - Course Instructors

Reviews

Start your review of ROS 2 from Scratch

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.