Kronton Robotics
equalizerDifficulty: BeginnercodeLanguage: Python - C++schedule27h 48m

ROS2 Fundamentals

Your First Step in Robotics Software Development

$99
ROS2 Fundamentals

Course Overview

Whether you've always wanted to build robots or you're transitioning into robotics software development, this course is where your journey begins. No prior ROS experience needed — just curiosity and a willingness to build.

This course is built with a "learn-by-doing" approach. You won't just learn theory; you'll get your hands dirty with practical tools and projects. We'll start with the absolute basics—what is a ROS 2 node, package, and workspace?—and quickly move into the core communication patterns that power all robotic systems.

You will master the "big three" of ROS 2 communication:

  1. Topics (Publish/Subscribe): For continuous streams of data, like sensor readings.

  2. Services (Client/Server): For request/response interactions, like "move to this position."

  3. Parameters: For configuring your nodes from the outside.

We'll use Turtlesim and RQT tools to visualize these concepts, giving you a clear, graphical understanding of what's happening under the hood.

The real power of this course is learning to build applications in both C++ and Python. You will:

  • Review essential Object-Oriented C++ concepts (classes, inheritance, binding) specifically for ROS 2.

  • Build a complete "Chatter" publisher/subscriber application from scratch in C++.

  • Re-build the exact same application in Python to compare workflows and understand the strengths of each language.

You'll finish by building a complete obstacle avoidance system from scratch and deploying it on a TurtleBot3 in Gazebo simulation. Your robot will sense its environment, make decisions, and navigate autonomously

What You'll Learn

  • Grasp the fundamental concepts of ROS 2: Nodes, Packages, and Workspaces.

  • Master the core ROS 2 communication models: Topics (Publish/Subscribe), Services (Client/Server), and Parameters.

  • Get hands-on practice with essential ROS 2 tools like the CLI, RQT (rqt_graph, rqt_publisher), and the Turtlesim simulator.

  • Understand and implement object-oriented programming (OOP) concepts (classes, inheritance, bind functions) for C++ node development.

  • Build a complete "chatter" (pub/sub) application from scratch in C++.

  • Build the same "chatter" application in Python to understand the differences and advantages.

  • Learn to create and use powerful ROS 2 Launch files (using Python) to manage and run your complex, multi-node applications.

Curriculum Explorer6 Sections • 68 Lessons • 27h 48m

lockIntroduction to ROS2
6:43
lockROS2 nodes
6:45
lockROS2 packges
7:13
lockROS2 Workspace
9:13

hardware Requirements

  • Basic understanding of programming concepts (variables, loops, functions)\

  • Familiarity with C++ and Python is helpful, but the course reviews key C++ concepts needed.

  • A computer capable of running ROS 2 (Linux recommended, or Windows/Mac with WSL2/virtualization).

  • No prior experience with ROS or robotics is required!

Your Instructor

Kyrillos Fekry

Kyrillos Fekry

Senior Robotics Software Engineer

"Senior Robotics Software Engineer and Systems Architect with over Five years of experience leading the design, architecture, and production deployment of autonomous mobile robot platforms. Demonstrated ability to remotely lead cross-functional engineering teams, architect scalable robot software systems—from behavior engines and navigation stacks to CI/CD pipelines and mass-production workflows."

Robotics Engineering

8 Courses162 Students
verified_user

Certificate of Completion

Official industry-recognized credential upon finishing.

$99