KroNton Robotics Academy
equalizerDifficulty: BeginnercodeLanguage: Python - C++scheduleTraining Hours: 31h 0m

ROS2 Fundamentals

Your First Step into Robotics Software Development

ROS2ROS2 FundamentalsROS2 TutorialLearn ROS2ROS2 CourseRoboticsRobotics SoftwareRobot Programming
ROS2 Fundamentals

Course Overview

Whether you've always wanted to build robots or you're moving into robotics software development, this course is where your journey begins.

You'll learn by doing: set up your own environment, understand how ROS2 systems are built and how their parts communicate, build applications in both C++ and Python, and finish with an obstacle avoidance project on TurtleBot3 in simulation.

What You'll Learn

  • Explain what a ROS2 Node, Package, and Workspace are, and how they fit together.

  • Set up Ubuntu (dual boot) and install ROS2 using a bash script.

  • Create a Workspace and build your first C++ and Python Packages with colcon.

  • Use the core ROS2 communication models: Topics (Publisher/Subscriber), Services (Client/Server), and Parameters.

  • Explore and control a running system with the ROS2 CLI, Turtlesim, and RQT tools such as rqt_graph and the RQT message publisher.

  • Review the Object-Oriented C++ concepts used in ROS2 Nodes: classes, inheritance, and std::bind, then write your first C++ Node.

  • Build a complete "Chatter" Publisher/Subscriber application from scratch in C++, then rebuild it in Python and compare the two.

  • Write Launch files in Python to run multi-Node applications with one command.

  • Install TurtleBot3 and run it in Gazebo simulation.

  • Understand how a LiDAR works, and how its data arrives as an array on the scan Topic.

  • Control a robot in simulation by publishing linear and angular velocity from a C++ Node.

  • Build a simple obstacle avoidance project with two C++ Nodes: one reads the LiDAR data and the other controls the robot's movement.

Curriculum Explorer8 Sections • 78 Lessons • Training Hours: 31h 0m

hardware Requirements

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

  • Familiarity with C++ and Python is helpful but not required. The course reviews the C++ concepts you need.

  • A computer where you can install Ubuntu alongside your current system (dual boot). The Setup section shows you how, step by step.

  • Basic familiarity with the Linux Terminal (opening it and running simple commands) is helpful.

  • 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 Courses454 Students
verified_user

Certificate of Completion

Official industry-recognized credential upon finishing.

WhatsApp