Online Course

Advanced ROS2 Navigation

Take a deeper look at Navigation for ROS2

Course Overview

Would you like to get a piece of more advanced knowledge in ROS2 Navigation (Nav2)? This course covers some of these advanced topics that were left out of the basic ROS2 Navigation course.


What You Will Learn


How to use the Simple Commander API


How to use Costmap Filters


An explanation of the BT Navigator


How to create a custom behavior


How to use Groot for visualizing behaviors


How plugins are used in Nav2


How to create custom plugins for Nav2


The three main plugins of the controller server

100% Online

No ROS setup is required. Everything is online.

Intermediate Level


Approx. 12 hours to complete

Simulated Robot Used

Neobotix MP-400 Simulation

The MP-400 can be used in more ambitious applications as an autonomous carrier of special equipment or as an experimental system in robotics research, the MP-400 masters almost all tasks, also with full ROS support.


Unit 1: Nav2 New Features

Nav2 provides new features and tools that make creating robot applications easier.

In this unit, you will review the essential new features introduced in Nav2, which include:

  • Basic Nav2 operations through the Simple Commander API
  • Use of the Waypoint Follower and Task Executor plugins via FollowWaypoints
  • Introduction to Keepout Zones and speed-restricted zones

You will then create a basic autonomous robotics demo based on Nav2. You will do this in a simulated warehouse where robots are often deployed:

Unit 2: Behavior Trees

Nav2 uses Behavior Trees (BTs) to control the robot’s navigation behavior. BTs are used during standard navigation to a goal situation and during situations in which the robot cannot navigate (due to errors, blocking situations, etc.)

In this unit, you’ll learn how to create behavior trees for the bt_navigator

Unit 3: Nav2 Plugins

Plugins are used because they improve the flexibility of the Nav2 pipeline. Using plugins allows you to change only a yaml file of the controller, planner, etc., and completely change the functionality without much compilation overhead.

In this unit, you’ll learn: 

  • The basic structure and plugins used by default in Navigation2 (Nav2)
  • How to create your custom Costmap Plugin
  • How to create your custom Planner Plugin
  • How to create your custom Controller Plugin

Unit 4: Controller Server in Deep

The controller_server is where the velocities of the wheel are computed. This is the key to solving problems when your robot does not behave correctly. So you need to master how it works.

In this unit, you’ll understand the different plugins and plugin options available for the controller server

What our students think

I am wholeheartedly grateful for this outstanding opportunity. I wouldn’t have found a better ROS beginner-friendly course elsewhere. Thanks, ConstructSim !

Francois Gonothi Toure

I have tried to start learning ROS before and that was so difficult because I didn’t understand how to start, now with these introductory courses I am very excited because I can finally start to enter this world.

Daniel Martínez

“I really enjoy the practical aspect and learning by doing. I feel like I learn way faster and with a rich understanding.”

Jose Dos Santos

Course creator

Miguel Angel

Miguel Angel

Head of Research @ The Construct | Creator of over 10 ROS AI courses | Author of ROS IN 5 DAYS book collection

Alberto Ezquerro

Alberto Ezquerro

Head of Education @ The Construct | Creator of over 30 ROS courses | Author of ROS IN 5 DAYS book collection

Ricardo Téllez

Ricardo Téllez

CEO @ The Construct | Teacher of Robotics at La Salle University and Universitat Politècnica de Catalunya

Related courses

Discover more Robotics Courses

Top universities choose The Construct for Campus to teach ROS & Robotics.

Start Learning Now.


Pin It on Pinterest