Create a ROS2 Self-Driving robot with Python and C++. Master Navigation, Planning and Decision Making with Behavior Tree.
Get started with ROS 2, the latest version of Robot Operating System!
ROS is the most widely used framework for building all kinds of robots, from Manipulators, Autonomous mobile robots, Humanoids and Quadrupeds.
You won’t just learn theory! You’ll get your hands dirty, setting up a professional development environment and understanding the core concepts that power today’s most advanced robotic systems.
You will learn:
Show your robot the way.
Learn how to make your robot move intelligently from point A to point B while avoiding obstacles and optimizing its trajectory. Dive into the world of Path Planning, where algorithms meet real-world motion to create smooth, collision-free navigation.
Understand and implement classical planning methods such as A*, Dijkstra, and RRT, and see how they’re used within ROS 2’s navigation stack to bring autonomy to life.
You will learn:
Turn goals into smooth, executable motion.
Learn how autonomous mobile robots plan and execute smooth, safe, and efficient motions in dynamic environments. Dive into Motion Planning algorithms that go beyond path generation — accounting for kinematics, dynamics, and real-world constraints.
Master how to combine trajectory generation and control commands to make your robot move intelligently from start to goal, even in complex or changing surroundings.
You will learn:
Teach your robot to move safely.
Discover how autonomous robots detect and avoid obstacles using costmaps, one of the core components of the ROS 2 Navigation Stack. Learn how to represent the environment as a grid of costs, where each cell indicates how risky it is to traverse — enabling your robot to make intelligent decisions in real time.
Understand how local and global costmaps work together, how to integrate sensor data from LIDAR and cameras, and how to tune the parameters that make your robot balance safety and efficiency.
You will learn:
Give your robot full autonomy.
Bring everything together and make your robot truly autonomous with Nav2, the ROS 2 Navigation Framework. Learn how its modular servers — such as the Planner Server and Controller Server — work together to plan, control, and execute navigation tasks seamlessly.
Understand how each server communicates, manages actions, and reacts to sensor updates in real time to achieve smooth, reliable navigation in dynamic environments. By the end, you’ll know how to configure, launch, and customize Nav2 for your own robot.
You will learn:
Think before acting.
Learn how to design intelligent decision-making systems using Behavior Trees, the framework that powers modern autonomous robots. Discover how to structure complex behaviors into modular, reusable, and reactive components that let your robot adapt to changing situations in real time.
You’ll explore how Behavior Trees integrate with Nav2 to coordinate navigation, recovery actions, and task sequences — giving your robot the ability to make smart, autonomous decisions instead of just following pre-defined scripts.
You will learn:
From Simulation to Reality!
Learn how to bring ROS 2 out of the screen and into the real world by integrating it with Arduino to control motors, sensors, and actuators.
Follow step-by-step instructions to assemble your own autonomous mobile robot, wire its components, and establish smooth communication between hardware and software.
You will learn:
Assemble your robot and get started to learn Robotics!