Robot Autonomous Navigation
Plan, Move and Recover with Nav2
Course Overview
Autonomous navigation is where a mobile robot starts to feel truly intelligent: it receives a goal, decides on a route, and moves safely toward it. This course explains the logic behind that behavior.
You won't just learn how to launch a navigation stack. You will understand the decision-making and planning ideas underneath it, then see how they come together inside Nav2, the standard navigation framework in ROS2.
Whether you aim to work on mobile robots professionally or want to understand what happens under the hood of autonomous systems, this course connects the theory to real navigation behavior.
What You'll Learn
Why Finite State Machines become hard to scale, and how Behavior Trees solve it with ticks, Sequence and Fallback nodes, XML, and the Blackboard
Path planning versus motion planning, robot footprint, obstacle inflation, and the Configuration Space
Turning a map into a graph: grid discretization, resolution trade-offs, and edge weights
Graph search algorithms DFS, BFS, and A*, traced step by step with stacks, queues, and cost functions
Costmaps and their static, obstacle, and inflation layers, and how they differ from occupancy grids
The Nav2 architecture: BT Navigator, action servers, planner and controller servers, and the Lifecycle Manager
Creating a navigation package with planner, global Costmap, and BT Navigator configuration, then launching path planning
Motion planning algorithms such as DWA and Regulated Pure Pursuit, and configuring the DWB controller and local Costmap
Analyzing the default Navigate To Pose Behavior Tree, including replanning, planner and controller selectors, and recovery actions such as Clear, Spin, Wait, and BackUp
Testing path following and recovery behaviors in simulation
Curriculum Explorer12 Sections • 54 Lessons • Training Hours: 30h 0m
hardware Requirements
Solid understanding of ROS2 basics: Nodes, Topics, Actions, Packages, and Launch files
Familiarity with SLAM and AMCL is helpful, since navigation runs on a saved map with localization
Basic understanding of programming concepts
Basic Linux Terminal familiarity is helpful
Your Instructor
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
Certificate of Completion
Official industry-recognized credential upon finishing.
